mirror of
https://github.com/tomru/org.git
synced 2026-03-03 06:27:22 +01:00
a lot of changes at once
This commit is contained in:
236
.export/bw-functions.html
Normal file
236
.export/bw-functions.html
Normal file
@@ -0,0 +1,236 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<title>bw-cloud-functions</title>
|
||||
<meta name="author" content="(Thomas Ruoff)"/>
|
||||
<style type="text/css">
|
||||
.underline { text-decoration: underline; }
|
||||
</style>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@3/css/reveal.css"/>
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@3/css/theme/solarized.css" id="theme"/>
|
||||
|
||||
<link rel="stylesheet" href="./local.css"/>
|
||||
|
||||
<!-- If the query includes 'print-pdf', include the PDF print sheet -->
|
||||
<script>
|
||||
if( window.location.search.match( /print-pdf/gi ) ) {
|
||||
var link = document.createElement( 'link' );
|
||||
link.rel = 'stylesheet';
|
||||
link.type = 'text/css';
|
||||
link.href = 'https://cdn.jsdelivr.net/npm/reveal.js@3/css/print/pdf.css';
|
||||
document.getElementsByTagName( 'head' )[0].appendChild( link );
|
||||
}
|
||||
</script>
|
||||
<meta name="description" content="">
|
||||
</head>
|
||||
<body>
|
||||
<div class="reveal">
|
||||
<div class="slides">
|
||||
<section id="sec-title-slide"><h1 class="title">bw-cloud-functions</h1><h2 class="author">Thomas Ruoff</h2><p class="date">Created: 2019-08-13 Tue 23:18</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<section id="slide-org27d6d8f">
|
||||
<h2 id="org27d6d8f">Logos in Analytics</h2>
|
||||
<p>
|
||||
A Logo Query contains a set of logo versions.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Our backend identifies them by an URL that resolves with a PNG of that logo
|
||||
version.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The URL and the PNG is controlled by Logograb (our logo detection provider).
|
||||
</p>
|
||||
|
||||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<section id="slide-org6deced3">
|
||||
<h2 id="org6deced3">Showing Logos in Analytics</h2>
|
||||
<p>
|
||||
We show the logo versions in various places in Analytics, also in the chart exports.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Though the PNGs used by Logograb are not optimized for displaying, especially
|
||||
not on a whitish background.
|
||||
</p>
|
||||
|
||||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<section id="slide-org0dfade8">
|
||||
<h2 id="org0dfade8">1st try</h2>
|
||||
<p>
|
||||
Detect whitish logos in the client and add a dark background if it’s a whitish
|
||||
logo.
|
||||
</p>
|
||||
|
||||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<section id="slide-org7c6f587">
|
||||
<h3 id="org7c6f587">Problems</h3>
|
||||
<p>
|
||||
Detection runs every single time a logo is shown.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
It runs on the client.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We couldn’t make it work in certain places, especially in highcharts and
|
||||
obviously exported charts.
|
||||
</p>
|
||||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<section id="slide-org88ba199">
|
||||
<h2 id="org88ba199">2nd try</h2>
|
||||
<p>
|
||||
Move the detection and conversion to the server.
|
||||
</p>
|
||||
|
||||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<section id="slide-org691cc40">
|
||||
<h3 id="org691cc40">Wins</h3>
|
||||
<p>
|
||||
Browser caches converted image.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Client stays slim.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We can just use an image URL in the frontend and chart export service.
|
||||
</p>
|
||||
|
||||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<section id="slide-org15f1540">
|
||||
<h3 id="org15f1540">Problems left</h3>
|
||||
<p>
|
||||
Requested logos are cached only in memory.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Not seperate
|
||||
</p>
|
||||
|
||||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<section id="slide-orgaacc7a2">
|
||||
<h2 id="orgaacc7a2">3rd try</h2>
|
||||
<p>
|
||||
Frontend was moved to CDN while this happend.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Cloudfront seemed to support what we needed: execute some JS when the response
|
||||
of an origin came back, so we could place detection and conversion before
|
||||
returning it to the client and storing it in the CDN.
|
||||
</p>
|
||||
|
||||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<section id="slide-org159bd34">
|
||||
<h3 id="org159bd34">no wins, just problems</h3>
|
||||
<p>
|
||||
Turns out no way even access on the body, so no way to detect nor modify that
|
||||
body. :(
|
||||
</p>
|
||||
|
||||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<section id="slide-org2d6b790">
|
||||
<h2 id="org2d6b790">4th try</h2>
|
||||
<p>
|
||||
CDN directs logo URL calls directly to a cloud function.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We use <code>bw-cloud-functions</code> to implement conversion and detection.
|
||||
</p>
|
||||
|
||||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<section id="slide-orgf53d241">
|
||||
<h3 id="orgf53d241">wins</h3>
|
||||
<p>
|
||||
Re-used detection and conversion we already wrote in JS in the 2nd try.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Super easy deployment
|
||||
</p>
|
||||
|
||||
|
||||
<p>
|
||||
Still makes it’s way into the CDN store
|
||||
</p>
|
||||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<section id="slide-org9e9f30e">
|
||||
<h3 id="org9e9f30e">problems left</h3>
|
||||
<p>
|
||||
Well, we misunderstood how a CDN actually works. It’s NOT a storage as it
|
||||
removes content that is not requested often enough in a region, so just a very
|
||||
small TTL in the cache.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To be fair, it’s not too bad the costs for all logo versions we currently get is
|
||||
still pretty low and does not really justify to spend more time on it.
|
||||
</p>
|
||||
|
||||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<section id="slide-org3b6aff9">
|
||||
<h2 id="org3b6aff9">5th try (to be done)</h2>
|
||||
<p>
|
||||
Use cloud storage to store converted images and check there first, before doing
|
||||
a <span class="underline">fetch, detect an maybe do a conversion</span> dance.
|
||||
</p>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
<p> Created by Thomas. </p>
|
||||
<script src="https://cdn.jsdelivr.net/npm/reveal.js@3/js/reveal.js"></script>
|
||||
|
||||
<script>
|
||||
// Full list of configuration options available here:
|
||||
// https://github.com/hakimel/reveal.js#configuration
|
||||
Reveal.initialize({
|
||||
width:1200, height:800, margin: 0.1, minScale:0.2, maxScale:2.5, transition:'cube', center: false,
|
||||
multiplex: {
|
||||
secret: '', // null if client
|
||||
id: '', // id, obtained from socket.io server
|
||||
url: '' // Location of socket.io server
|
||||
},
|
||||
|
||||
// Optional libraries used to extend on reveal.js
|
||||
dependencies: [
|
||||
{ src: 'https://cdn.jsdelivr.net/npm/reveal.js@3/plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
|
||||
{ src: 'https://cdn.jsdelivr.net/npm/reveal.js@3/plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
|
||||
{ src: 'https://cdn.jsdelivr.net/npm/reveal.js@3/plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } }]
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
382
.export/emacs.html
Normal file
382
.export/emacs.html
Normal file
@@ -0,0 +1,382 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<title></title>
|
||||
<style type="text/css">
|
||||
.underline { text-decoration: underline; }
|
||||
</style>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@3/css/reveal.css"/>
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@3/css/theme/moon.css" id="theme"/>
|
||||
|
||||
|
||||
<!-- If the query includes 'print-pdf', include the PDF print sheet -->
|
||||
<script>
|
||||
if( window.location.search.match( /print-pdf/gi ) ) {
|
||||
var link = document.createElement( 'link' );
|
||||
link.rel = 'stylesheet';
|
||||
link.type = 'text/css';
|
||||
link.href = 'https://cdn.jsdelivr.net/npm/reveal.js@3/css/print/pdf.css';
|
||||
document.getElementsByTagName( 'head' )[0].appendChild( link );
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="reveal">
|
||||
<div class="slides">
|
||||
<section id="sec-title-slide"><p class="date">Created: 2019-08-12 Mon 23:09</p>
|
||||
</section>
|
||||
<section id="table-of-contents">
|
||||
<div id="table-of-contents">
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#/slide-org343fe85">1. to research</a>
|
||||
<ul>
|
||||
<li><a href="#/slide-orgced0244">1.1. backup file location configurable?</a></li>
|
||||
<li><a href="#/slide-org2b841af">1.2. highlight line</a></li>
|
||||
<li><a href="#/slide-orgecf44b7">1.3. git gutter needed</a></li>
|
||||
<li><a href="#/slide-orgff30bba">1.4. what the hell is that footer thing you cannot edit?</a></li>
|
||||
<li><a href="#/slide-orgb2f6dc7">1.5. <code>C-o</code> does not open last file, not sure why yet</a></li>
|
||||
<li><a href="#/slide-orgd97863d">1.6. persistant undo possible?</a></li>
|
||||
<li><a href="#/slide-org36078e6">1.7. helm/ivy - dash?</a></li>
|
||||
<li><a href="#/slide-orge8841d4">1.8. gruvbox-theme</a></li>
|
||||
<li><a href="#/slide-org3ababc1">1.9. which-key</a></li>
|
||||
<li><a href="#/slide-org8092b31">1.10. magit</a></li>
|
||||
<li><a href="#/slide-org5695222">1.11. language server protocol</a></li>
|
||||
<li><a href="#/slide-org80a5c8f">1.12. vim-unimpaired ?</a></li>
|
||||
<li><a href="#/slide-org6546912">1.13. vim-abolish ?</a></li>
|
||||
<li><a href="#/slide-org9e62754">1.14. ranger/dired-ranger</a></li>
|
||||
<li><a href="#/slide-org6a09d9f">1.15. devdocs</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#/slide-orgb326385">2. installed packages</a>
|
||||
<ul>
|
||||
<li><a href="#/slide-orga4f6901">2.1. general</a>
|
||||
<ul>
|
||||
<li><a href="#/slide-orgb12a413">2.1.1. editorconfig</a></li>
|
||||
<li><a href="#/slide-orgc2e7db4">2.1.2. helm</a></li>
|
||||
<li><a href="#/slide-orgbd880b1">2.1.3. projectile</a></li>
|
||||
<li><a href="#/slide-org5db7a6e">2.1.4. magit</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#/slide-org0911a87">2.2. evil related</a>
|
||||
<ul>
|
||||
<li><a href="#/slide-org88b5166">2.2.1. evil</a></li>
|
||||
<li><a href="#/slide-org1595b1a">2.2.2. evil-escape</a></li>
|
||||
<li><a href="#/slide-orgd478ae2">2.2.3. evil-leader</a></li>
|
||||
<li><a href="#/slide-orgf339492">2.2.4. evil-surround</a></li>
|
||||
<li><a href="#/slide-org8d5c2cb">2.2.5. evil-magit</a></li>
|
||||
<li><a href="#/slide-org0facc22">2.2.6. evil-org</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#/slide-orgcf221ef">2.3. org-mode related</a>
|
||||
<ul>
|
||||
<li><a href="#/slide-org4e0872b">2.3.1. org-bullets</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#/slide-org09a2887">3. considering packages</a>
|
||||
<ul>
|
||||
<li><a href="#/slide-orge898fc9">3.1. general</a></li>
|
||||
<li><a href="#/slide-org53a2f2d">3.2. evil related</a>
|
||||
<ul>
|
||||
<li><a href="#/slide-org1b2b54b">3.2.1. evil-args</a></li>
|
||||
<li><a href="#/slide-org3762fc3">3.2.2. evil-matchit</a></li>
|
||||
<li><a href="#/slide-orge864784">3.2.3. evil-collection</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#/slide-org63b59bf">3.3. org-mode related</a>
|
||||
<ul>
|
||||
<li><a href="#/slide-org5b65d1e">3.3.1. org-download</a></li>
|
||||
<li><a href="#/slide-org9a5ed25">3.3.2. org-gcal</a></li>
|
||||
<li><a href="#/slide-org48db92a">3.3.3. org-jira</a></li>
|
||||
<li><a href="#/slide-org4ac8396">3.3.4. org-projectile</a></li>
|
||||
<li><a href="#/slide-orga7aafd3">3.3.5. org-pandoc</a></li>
|
||||
<li><a href="#/slide-orgf844221">3.3.6. org-reveal</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<p>
|
||||
To get a list of packages type <code>M-x list-packages</code>
|
||||
</p>
|
||||
|
||||
<section>
|
||||
<section id="slide-org343fe85">
|
||||
<h2 id="org343fe85"><span class="section-number-2">1</span> to research</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-orgced0244">
|
||||
<h3 id="orgced0244"><span class="section-number-3">1.1</span> backup file location configurable?</h3>
|
||||
</section>
|
||||
<section id="slide-org2b841af">
|
||||
<h3 id="org2b841af"><span class="section-number-3">1.2</span> highlight line</h3>
|
||||
</section>
|
||||
<section id="slide-orgecf44b7">
|
||||
<h3 id="orgecf44b7"><span class="section-number-3">1.3</span> git gutter needed</h3>
|
||||
</section>
|
||||
<section id="slide-orgff30bba">
|
||||
<h3 id="orgff30bba"><span class="section-number-3">1.4</span> what the hell is that footer thing you cannot edit?</h3>
|
||||
</section>
|
||||
<section id="slide-orgb2f6dc7">
|
||||
<h3 id="orgb2f6dc7"><span class="section-number-3">1.5</span> <code>C-o</code> does not open last file, not sure why yet</h3>
|
||||
</section>
|
||||
<section id="slide-orgd97863d">
|
||||
<h3 id="orgd97863d"><span class="section-number-3">1.6</span> persistant undo possible?</h3>
|
||||
</section>
|
||||
<section id="slide-org36078e6">
|
||||
<h3 id="org36078e6"><span class="section-number-3">1.7</span> helm/ivy - dash?</h3>
|
||||
<p>
|
||||
Still trying to figure what use-case each of these tries to
|
||||
solve. I’m primarily looking for something that offers me an nice
|
||||
interface to deal with all kind of lists of elements, like files,
|
||||
buffers, commits, tags, grepper etc.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
I used to cover that all with vim.fzf and would again like to have
|
||||
something like that.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Though it seems, that I just need some inteface for lists of any
|
||||
kind that I can easily fuzzy search.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
And other plugins to actually provide the content.
|
||||
</p>
|
||||
|
||||
</section>
|
||||
<section id="slide-orge8841d4">
|
||||
<h3 id="orge8841d4"><span class="section-number-3">1.8</span> gruvbox-theme</h3>
|
||||
</section>
|
||||
<section id="slide-org3ababc1">
|
||||
<h3 id="org3ababc1"><span class="section-number-3">1.9</span> which-key</h3>
|
||||
<p>
|
||||
Seems great for learning the editor commands. But could also be
|
||||
distracting
|
||||
</p>
|
||||
|
||||
</section>
|
||||
<section id="slide-org8092b31">
|
||||
<h3 id="org8092b31"><span class="section-number-3">1.10</span> magit</h3>
|
||||
</section>
|
||||
<section id="slide-org5695222">
|
||||
<h3 id="org5695222"><span class="section-number-3">1.11</span> language server protocol</h3>
|
||||
<p>
|
||||
Mainly for my JS work, but probably worth to look at something
|
||||
generic if there is something out there.
|
||||
</p>
|
||||
|
||||
</section>
|
||||
<section id="slide-org80a5c8f">
|
||||
<h3 id="org80a5c8f"><span class="section-number-3">1.12</span> vim-unimpaired ?</h3>
|
||||
<p>
|
||||
Couln’t find something replicating unimpaired until now.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Maybe I just need to roll most of these on my own
|
||||
</p>
|
||||
|
||||
</section>
|
||||
<section id="slide-org6546912">
|
||||
<h3 id="org6546912"><span class="section-number-3">1.13</span> vim-abolish ?</h3>
|
||||
</section>
|
||||
<section id="slide-org9e62754">
|
||||
<h3 id="org9e62754"><span class="section-number-3">1.14</span> ranger/dired-ranger</h3>
|
||||
</section>
|
||||
<section id="slide-org6a09d9f">
|
||||
<h3 id="org6a09d9f"><span class="section-number-3">1.15</span> devdocs</h3>
|
||||
|
||||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<section id="slide-orgb326385">
|
||||
<h2 id="orgb326385"><span class="section-number-2">2</span> installed packages</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-orga4f6901">
|
||||
<h3 id="orga4f6901"><span class="section-number-3">2.1</span> general</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-orgb12a413">
|
||||
<h4 id="orgb12a413"><span class="section-number-4">2.1.1</span> editorconfig</h4>
|
||||
</section>
|
||||
<section id="slide-orgc2e7db4">
|
||||
<h4 id="orgc2e7db4"><span class="section-number-4">2.1.2</span> helm</h4>
|
||||
</section>
|
||||
<section id="slide-orgbd880b1">
|
||||
<h4 id="orgbd880b1"><span class="section-number-4">2.1.3</span> projectile</h4>
|
||||
</section>
|
||||
<section id="slide-org5db7a6e">
|
||||
<h4 id="org5db7a6e"><span class="section-number-4">2.1.4</span> magit</h4>
|
||||
</section>
|
||||
<section id="slide-org0911a87">
|
||||
<h3 id="org0911a87"><span class="section-number-3">2.2</span> evil related</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-org88b5166">
|
||||
<h4 id="org88b5166"><span class="section-number-4">2.2.1</span> evil</h4>
|
||||
<p>
|
||||
evil uses “state” for the “modes” in vi. The term “mode” is already used in emacs
|
||||
for a set of key bindings for a cetrain sort of text. A “mode’ may include custom
|
||||
bindings for evil states.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The state is shown in the status bar.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
There is also an emacs state <E>, basically turn off evil, which you can
|
||||
toggle with ’C-z’.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
I’ve heard numerous times that people claim evil covers 99% of what they use in vim.
|
||||
[[evil-maps.el][~/.emacs.d/elpa/evil-20190729.704/evil-maps.el] is a good place
|
||||
to start looking if something does not work for you.
|
||||
</p>
|
||||
|
||||
</section>
|
||||
<section id="slide-org1595b1a">
|
||||
<h4 id="org1595b1a"><span class="section-number-4">2.2.2</span> evil-escape</h4>
|
||||
</section>
|
||||
<section id="slide-orgd478ae2">
|
||||
<h4 id="orgd478ae2"><span class="section-number-4">2.2.3</span> evil-leader</h4>
|
||||
<p>
|
||||
I was first not sure if I should even start using the leader key
|
||||
as I did in my vim config, as it would again not bring me further
|
||||
in learning the standard key bindings vim offers.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This is still a valid point, but I also feel it will slow me down
|
||||
quite a bit, now that I’m considering to switch to Emacs.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
So I’ll start with using it, but keep it very high in my priorities
|
||||
to finally getting rid of it.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This is pretty important, as I’m pretty sure that I’ll still be using
|
||||
Vim in quite some remote systems.
|
||||
</p>
|
||||
|
||||
</section>
|
||||
<section id="slide-orgf339492">
|
||||
<h4 id="orgf339492"><span class="section-number-4">2.2.4</span> evil-surround</h4>
|
||||
</section>
|
||||
<section id="slide-org8d5c2cb">
|
||||
<h4 id="org8d5c2cb"><span class="section-number-4">2.2.5</span> evil-magit</h4>
|
||||
</section>
|
||||
<section id="slide-org0facc22">
|
||||
<h4 id="org0facc22"><span class="section-number-4">2.2.6</span> evil-org</h4>
|
||||
</section>
|
||||
<section id="slide-orgcf221ef">
|
||||
<h3 id="orgcf221ef"><span class="section-number-3">2.3</span> org-mode related</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-org4e0872b">
|
||||
<h4 id="org4e0872b"><span class="section-number-4">2.3.1</span> org-bullets</h4>
|
||||
<p>
|
||||
UTF-8 bullets
|
||||
</p>
|
||||
|
||||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<section id="slide-org09a2887">
|
||||
<h2 id="org09a2887"><span class="section-number-2">3</span> considering packages</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-orge898fc9">
|
||||
<h3 id="orge898fc9"><span class="section-number-3">3.1</span> general</h3>
|
||||
</section>
|
||||
<section id="slide-org53a2f2d">
|
||||
<h3 id="org53a2f2d"><span class="section-number-3">3.2</span> evil related</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-org1b2b54b">
|
||||
<h4 id="org1b2b54b"><span class="section-number-4">3.2.1</span> evil-args</h4>
|
||||
</section>
|
||||
<section id="slide-org3762fc3">
|
||||
<h4 id="org3762fc3"><span class="section-number-4">3.2.2</span> evil-matchit</h4>
|
||||
</section>
|
||||
<section id="slide-orge864784">
|
||||
<h4 id="orge864784"><span class="section-number-4">3.2.3</span> evil-collection</h4>
|
||||
<p>
|
||||
This seems to use vim like keybindings in most common emacs
|
||||
places. Not sure yet if this is a good idea.
|
||||
</p>
|
||||
</section>
|
||||
<section id="slide-org63b59bf">
|
||||
<h3 id="org63b59bf"><span class="section-number-3">3.3</span> org-mode related</h3>
|
||||
<div class="outline-text-3" id="text-3-3">
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-org5b65d1e">
|
||||
<h4 id="org5b65d1e"><span class="section-number-4">3.3.1</span> org-download</h4>
|
||||
<p>
|
||||
image d’n’d
|
||||
</p>
|
||||
</section>
|
||||
<section id="slide-org9a5ed25">
|
||||
<h4 id="org9a5ed25"><span class="section-number-4">3.3.2</span> org-gcal</h4>
|
||||
</section>
|
||||
<section id="slide-org48db92a">
|
||||
<h4 id="org48db92a"><span class="section-number-4">3.3.3</span> org-jira</h4>
|
||||
</section>
|
||||
<section id="slide-org4ac8396">
|
||||
<h4 id="org4ac8396"><span class="section-number-4">3.3.4</span> org-projectile</h4>
|
||||
</section>
|
||||
<section id="slide-orga7aafd3">
|
||||
<h4 id="orga7aafd3"><span class="section-number-4">3.3.5</span> org-pandoc</h4>
|
||||
</section>
|
||||
<section id="slide-orgf844221">
|
||||
<h4 id="orgf844221"><span class="section-number-4">3.3.6</span> org-reveal</h4>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
<script src="https://cdn.jsdelivr.net/npm/reveal.js@3/js/reveal.js"></script>
|
||||
|
||||
<script>
|
||||
// Full list of configuration options available here:
|
||||
// https://github.com/hakimel/reveal.js#configuration
|
||||
Reveal.initialize({
|
||||
multiplex: {
|
||||
secret: '', // null if client
|
||||
id: '', // id, obtained from socket.io server
|
||||
url: '' // Location of socket.io server
|
||||
},
|
||||
|
||||
// Optional libraries used to extend on reveal.js
|
||||
dependencies: [
|
||||
{ src: 'https://cdn.jsdelivr.net/npm/reveal.js@3/lib/js/classList.js', condition: function() { return !document.body.classList; } },
|
||||
{ src: 'https://cdn.jsdelivr.net/npm/reveal.js@3/plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
|
||||
{ src: 'https://cdn.jsdelivr.net/npm/reveal.js@3/plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
|
||||
{ src: 'https://cdn.jsdelivr.net/npm/reveal.js@3/plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } },
|
||||
{ src: 'https://cdn.jsdelivr.net/npm/reveal.js@3/plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } }]
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -18,7 +18,7 @@
|
||||
** TODO Tür bestellen
|
||||
Hornbach Petura Kiefer oder Fichte?
|
||||
** TODO Einbauen
|
||||
* Wände [0%]
|
||||
* Wände [31%]
|
||||
** Decke [50%]
|
||||
*** DONE Lattung
|
||||
CLOSED: [2019-07-06 Sat 23:13]
|
||||
@@ -29,12 +29,12 @@
|
||||
*** TODO Lampenloch gipsen
|
||||
*** TODO Grundieren
|
||||
*** TODO Tapezieren
|
||||
** Badseite [40%]
|
||||
** Badseite [60%]
|
||||
*** DONE Grundieren
|
||||
CLOSED: [2019-07-06 Sat 23:13]
|
||||
*** DONE Rigips
|
||||
CLOSED: [2019-07-06 Sat 23:13]
|
||||
*** TODO Tapete voll ablösen
|
||||
*** DONE Tapete voll ablösen
|
||||
*** TODO Löcher ausbessern
|
||||
*** TODO Verspachteln
|
||||
** Esszimmerseite [0%]
|
||||
|
||||
276
emacs.org
Normal file
276
emacs.org
Normal file
@@ -0,0 +1,276 @@
|
||||
To get a list of packages type ~M-x list-packages~
|
||||
|
||||
* Intersting learnings
|
||||
** Help systems
|
||||
~SPC h RET~ emacs manual
|
||||
|
||||
~C-h a~ appropos
|
||||
~C-h l~ list 300 last keystrokes with description
|
||||
~C-h m~ docs to major and minor modes activg
|
||||
|
||||
~C-h k~ what does a keybinding X do
|
||||
~C-h w~ which keybinding is active for X
|
||||
* Elisp
|
||||
Following this [[http://ergoemacs.org/emacs/elisp.html][Practical Emacs Lisp]]
|
||||
|
||||
** Basics
|
||||
*** Eval code block with ~C-c C-c~
|
||||
#+BEGIN_SRC elisp
|
||||
(+ 547 1)
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS:
|
||||
: Result 548
|
||||
*** Eval last expression with ~C-x C-e~
|
||||
*** Printing with (message ...)
|
||||
#+BEGIN_SRC elisp
|
||||
(message "Result %S" (+ 547 1))
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS:
|
||||
: Result 548
|
||||
*** Arithmetic
|
||||
Singel digit numbers as ~2.~ are integers. Use ~2.0~ for floats.
|
||||
|
||||
#+BEGIN_SRC elisp
|
||||
(+ 4 5 1) ; 10
|
||||
(- 9 2) ; 7
|
||||
(- 9 2 3) ; 4
|
||||
(* 2 3) ; 6
|
||||
(* 2 3 2) ; 12
|
||||
|
||||
;; integer part of quotient
|
||||
(/ 7 2) ; 3
|
||||
|
||||
;; division
|
||||
(/ 7 2.0) ; 3.5
|
||||
|
||||
;; mod, remainder
|
||||
(% 7 4) ; 3
|
||||
|
||||
;; power; exponential
|
||||
(expt 2 3) ; 8
|
||||
|
||||
;; int to float
|
||||
(float 3) ; 3.0
|
||||
|
||||
(truncate 3.3) ; 3
|
||||
|
||||
(floor 3.3) ; 3
|
||||
|
||||
(ceiling 3.3) ; 4
|
||||
|
||||
(round 3.4) ; 3
|
||||
#+END_SRC
|
||||
|
||||
*** Convert string and numbers
|
||||
#+BEGIN_SRC elisp
|
||||
(string-to-number "547")
|
||||
(number-to-string 547)
|
||||
#+END_SRC
|
||||
*** True and False
|
||||
**** ~nil~ is false
|
||||
**** anything else is true,
|
||||
**** nil is equivalent to a empty list ~()~, so also false
|
||||
**** ~t~ is by convention true
|
||||
*** and/or/not
|
||||
#+BEGIN_SRC elisp
|
||||
(and t nil)
|
||||
(or t nil () t)
|
||||
(not (and t t))
|
||||
#+END_SRC
|
||||
*** comparing
|
||||
#+BEGIN_SRC elisp
|
||||
; numbers
|
||||
(< 3 4)
|
||||
(>=_ 3 4)
|
||||
(= 3 3.0000000000000000000000001)
|
||||
(/= 3 4) ; not equal
|
||||
|
||||
;strings
|
||||
(equal "abc" "abc") ; checks
|
||||
(string-equal "string" "strings")
|
||||
(string-equal "symbol" 'symbol) ; can be used to compare string with symbol
|
||||
|
||||
; generic equal - checks datatype and value
|
||||
(equal 3 3) ; t
|
||||
(equal 3 3.0) ; nil
|
||||
(not (equal 3 4)) ; t. general way to test inequality
|
||||
#+END_SRC
|
||||
*** variables
|
||||
**** global
|
||||
#+BEGIN_SRC elisp
|
||||
(setq x 1)
|
||||
(setq x 2 y 3 z -1)
|
||||
#+END_SRC
|
||||
**** local
|
||||
#+BEGIN_SRC elisp
|
||||
(let name "value")
|
||||
|
||||
(let (name1 name2)
|
||||
(setq name1 "Gustav")
|
||||
(setq name2 "Gustl")
|
||||
(+ 40 2) ; return value, optional
|
||||
)
|
||||
|
||||
; or even shorter
|
||||
(let ((name1 "Gustav") (name2 "Gustl"))
|
||||
"Gustav+Gustl" ; return value, optional
|
||||
)
|
||||
#+END_SRC
|
||||
*** if then else
|
||||
#+BEGIN_SRC elisp
|
||||
(if (< 3 2) "yay" "nay")
|
||||
(if (< 1 2) "yay") ; no else, nil
|
||||
; no else, clearer to use ~when~. All args executed.
|
||||
(when (< 1 2) (setq a 1) (setq b 2)) ; a=1 and b=2
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS:
|
||||
: 2
|
||||
|
||||
*** block of expressions
|
||||
Same as a code block in C-like languages ~{...}~
|
||||
|
||||
#+BEGIN_SRC elisp
|
||||
(progn (message "a") (message "b"))
|
||||
#+END_SRC
|
||||
|
||||
Often used inside ~if~
|
||||
|
||||
#+BEGIN_SRC elisp
|
||||
(if something
|
||||
(progn ; true
|
||||
(message "something is t")
|
||||
(message "yay")
|
||||
)
|
||||
(progn ; else
|
||||
(message "something is nil")
|
||||
(message 'nai')
|
||||
)
|
||||
)
|
||||
#+END_SRC
|
||||
*** loops
|
||||
#+BEGIN_SRC elisp
|
||||
;; inserts Unicode chars 32 to 126
|
||||
(let ((x 32)))
|
||||
(let ((r "")))
|
||||
(while (< x 127)
|
||||
(setq r (concatenate 'string r (char-to-string x)))
|
||||
(setq x (+ x 1)))
|
||||
(message "%s" r)
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS:
|
||||
: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
|
||||
|
||||
* to research
|
||||
** backup file location configurable?
|
||||
** highlight line
|
||||
** git gutter needed
|
||||
** what the hell is that footer thing you cannot edit?
|
||||
** ~C-o~ does not open last file, not sure why yet
|
||||
** persistant undo possible?
|
||||
** helm/ivy - dash?
|
||||
|
||||
Still trying to figure what use-case each of these tries to
|
||||
solve. I'm primarily looking for something that offers me an nice
|
||||
interface to deal with all kind of lists of elements, like files,
|
||||
buffers, commits, tags, grepper etc.
|
||||
|
||||
I used to cover that all with vim.fzf and would again like to have
|
||||
something like that.
|
||||
|
||||
Though it seems, that I just need some inteface for lists of any
|
||||
kind that I can easily fuzzy search.
|
||||
|
||||
And other plugins to actually provide the content.
|
||||
|
||||
** gruvbox-theme
|
||||
** which-key
|
||||
Seems great for learning the editor commands. But could also be
|
||||
distracting
|
||||
|
||||
** magit
|
||||
** language server protocol
|
||||
Mainly for my JS work, but probably worth to look at something
|
||||
generic if there is something out there.
|
||||
|
||||
** vim-unimpaired ?
|
||||
|
||||
Couln't find something replicating unimpaired until now.
|
||||
|
||||
Maybe I just need to roll most of these on my own
|
||||
|
||||
** vim-abolish ?
|
||||
** ranger/dired-ranger
|
||||
** devdocs
|
||||
|
||||
* installed packages
|
||||
** general
|
||||
*** editorconfig
|
||||
*** helm
|
||||
*** projectile
|
||||
*** magit
|
||||
** evil related
|
||||
*** evil
|
||||
|
||||
evil uses "state" for the "modes" in vi. The term "mode" is already used in emacs
|
||||
for a set of key bindings for a cetrain sort of text. A "mode" may include custom
|
||||
bindings for evil states.
|
||||
|
||||
The state is shown in the status bar.
|
||||
|
||||
There is also an emacs state <E>, basically turn off evil, which you can
|
||||
toggle with 'C-z'.
|
||||
|
||||
I've heard numerous times that people claim evil covers 99% of what they use in vim.
|
||||
[[evil-maps.el][~/.emacs.d/elpa/evil-20190729.704/evil-maps.el] is a good place
|
||||
to start looking if something does not work for you.
|
||||
|
||||
*** evil-escape
|
||||
*** evil-leader
|
||||
I was first not sure if I should even start using the leader key
|
||||
as I did in my vim config, as it would again not bring me further
|
||||
in learning the standard key bindings vim offers.
|
||||
|
||||
This is still a valid point, but I also feel it will slow me down
|
||||
quite a bit, now that I'm considering to switch to Emacs.
|
||||
|
||||
So I'll start with using it, but keep it very high in my priorities
|
||||
to finally getting rid of it.
|
||||
|
||||
This is pretty important, as I'm pretty sure that I'll still be using
|
||||
Vim in quite some remote systems.
|
||||
|
||||
*** evil-surround
|
||||
*** evil-magit
|
||||
*** evil-org
|
||||
** org-mode related
|
||||
*** org-bullets
|
||||
UTF-8 bullets
|
||||
|
||||
* considering packages
|
||||
** general
|
||||
"So now " it makes really fun to work like this
|
||||
#+BEGIN_SRC elisp
|
||||
(print "blup")
|
||||
#+END_SRC
|
||||
|
||||
#+BEGIN_SRC lisp
|
||||
|
||||
#+END_SRC
|
||||
** evil related
|
||||
*** evil-args
|
||||
*** evil-matchit
|
||||
*** evil-collection
|
||||
This seems to use vim like keybindings in most common emacs
|
||||
places. Not sure yet if this is a good idea.
|
||||
** org-mode related
|
||||
*** org-download
|
||||
image d"n'd
|
||||
*** org-gcal
|
||||
*** org-jira
|
||||
*** org-projectile
|
||||
*** org-pandoc
|
||||
*** org-reveal
|
||||
@@ -40,12 +40,12 @@
|
||||
**** TODO tables
|
||||
***** TODO spreadsheets
|
||||
** How to do things
|
||||
**** Add a sibling ~CTRL-Enter~
|
||||
**** Add a sibling with TODO ~CTRL-Shift-Enter~
|
||||
**** Denote subtree ~,sl~ or ~>~ or ~TAB~ in insert mode
|
||||
**** Promote subtree ~,sh~ or ~<~ or ~S-TAB~ in insert mode
|
||||
**** todo
|
||||
***** toggle todo state ~,TT~
|
||||
*** Add a sibling ~CTRL-Enter~
|
||||
*** Add a sibling with TODO ~CTRL-Shift-Enter~
|
||||
*** Denote subtree ~,sl~ or ~>~ or ~TAB~ in insert mode
|
||||
*** Promote subtree ~,sh~ or ~<~ or ~S-TAB~ in insert mode
|
||||
*** todo
|
||||
**** toggle todo state ~,TT~
|
||||
* Footnotes
|
||||
|
||||
[fn:1] Hey ho, this is a footnote and I don't really have a use-case for it but it's nice than I can add one :)
|
||||
|
||||
94
steuererklaerung.org
Normal file
94
steuererklaerung.org
Normal file
@@ -0,0 +1,94 @@
|
||||
#+TITLE: Steuererklärung
|
||||
|
||||
* Kinder
|
||||
** TODO Kitagebühren Jacob
|
||||
** TODO Kitagebühren Anna
|
||||
* Valerie
|
||||
** DONE Elternzeit
|
||||
CLOSED: [2019-09-04 Wed 20:32]
|
||||
01.01.2018-27.10.2018
|
||||
** DONE Pendlerpauschale Arbeitstage im Büro
|
||||
CLOSED: [2019-09-04 Wed 20:41]
|
||||
* Thomas
|
||||
** DONE Elternzeit
|
||||
CLOSED: [2019-09-04 Wed 20:32]
|
||||
28.10.2018-27.10.2018
|
||||
** TODO Elterngeld Januar wirklich richtig?
|
||||
** TODO Arbeitstage im Büro
|
||||
** TODO VVS Kosten
|
||||
** TODO HH6 versteuerbare Einkünfte
|
||||
* Versicherungen
|
||||
** TODO Haftpflicht
|
||||
* Mömpelgardgasse
|
||||
** DONE Handwerker
|
||||
*** Schornsteinfeger Wiech 29.06.2018
|
||||
| Was | Betrag |
|
||||
|------------+--------|
|
||||
| Lohnkosten | 58,20 |
|
||||
*** Rauch Heizungkörper 05.11.2018
|
||||
| Was | Betrag |
|
||||
|------------+--------|
|
||||
| Lohnkosten | 1739 |
|
||||
| | |
|
||||
*** Rauch Heizungswartung 14.06.2018
|
||||
| Was | Betrag |
|
||||
|------------+--------|
|
||||
| Lohnkosten | 119 |
|
||||
*** Rauch Frostschaden 06.03.2018
|
||||
| Was | Betrag |
|
||||
|------------+--------|
|
||||
| Lohnkosten | 52 |
|
||||
#+TBLFM: @4$2=vsum(@2..@-1)
|
||||
*** Leopold 11.06.2018
|
||||
| Was | Betrag |
|
||||
|----------------------+--------|
|
||||
| Demontage/Monatge | 850.0 |
|
||||
| Altfenster entsorgen | 72.0 |
|
||||
|----------------------+--------|
|
||||
| Summe | 922 |
|
||||
#+TBLFM:
|
||||
*** Bauer 16.05.2018
|
||||
| Was | Betrag |
|
||||
|---------+--------|
|
||||
| Montage | 742,50 |
|
||||
|
||||
*** Morgenrot 10.10.2018
|
||||
| Was | Betrag |
|
||||
|--------+--------|
|
||||
| Lohn 1 | 1600 |
|
||||
| Lohn 2 | 345 |
|
||||
| Gerüst | 200 |
|
||||
|--------+--------|
|
||||
| Summe | |
|
||||
** Kontoführungsgebühren
|
||||
** Reparaturen
|
||||
** DONE Grundsteuer 52,59
|
||||
** Müllgebühren
|
||||
** Wasser
|
||||
** Strom
|
||||
Nur wenn wir grenze noch nicht erreichen
|
||||
|
||||
Zeitraum 10.9.2018 18.9.2018
|
||||
unten 1053,97
|
||||
oben 150,31
|
||||
** Versicherung
|
||||
*** TODO Wohngebäudeversicherung
|
||||
* Auto
|
||||
** Reperaturen
|
||||
|
||||
| Time | durP1 | ratioP1 | P1 | durP2 | ratioP2 | P2 | SDS_P1 | SDS_P2 | Temp | Humidity | BMP_temperature | BMP_pressure | BME280_temperature | BME280_humidity | BME280_pressure | Samples | Min_cycle | Max_cycle | Signal | | |
|
||||
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | | |
|
||||
| 2019/01/01 00:01:06 | | | | | | | 63.70 | 41.53 | | | | | | | 3.81 | 100.00 | 95765.69 | 1775028 | 77 | 24342 | -86 |
|
||||
| 2019/01/01 00:03:57 | | | | | | | 68.02 | 42.23 | | | | | | | 3.88 | 100.00 | 95770.13 | 1800911 | 77 | 24249 | -86 |
|
||||
| 2019/01/01 00:06:47 | | | | | | | 45.90 | 30.88 | | | | | | | 4.06 | 100.00 | 95783.44 | 1782144 | 79 | 24268 | -87 |
|
||||
| 2019/01/01 00:09:37 | | | | | | | 52.83 | 35.45 | | | | | | | 4.16 | 100.00 | 95778.77 | 1796475 | 80 | 24261 | -85 |
|
||||
| 2019/01/01 00:12:27 | | | | | | | 44.98 | 32.88 | | | | | | | 4.01 | 100.00 | 95770.27 | 1766860 | 80 | 24278 | -85 |
|
||||
| 2019/01/01 00:15:18 | | | | | | | 34.63 | 25.70 | | | | | | | 4.02 | 100.00 | 95773.95 | 1837415 | 78 | 24248 | -85 |
|
||||
| 2019/01/01 00:18:08 | | | | | | | 34.75 | 26.17 | | | | | | | 4.13 | 100.00 | 95770.08 | 1838041 | 78 | 24243 | -85 |
|
||||
| 2019/01/01 00:20:59 | | | | | | | 38.00 | 22.65 | | | | | | | 4.30 | 100.00 | 95768.03 | 1837785 | 78 | 24264 | -87 |
|
||||
| 2019/01/01 00:23:49 | | | | | | | 37.80 | 23.95 | | | | | | | 4.16 | 100.00 | 95764.53 | 1842532 | 77 | 24770 | -88 |
|
||||
| 2019/01/01 00:26:40 | | | | | | | 38.30 | 25.92 | | | | | | | 4.19 | 100.00 | 95763.36 | 1846767 | 77 | 24329 | -85 |
|
||||
| 2019/01/01 00:29:30 | | | | | | | 34.78 | 24.47 | | | | | | | 4.00 | 100.00 | 95762.17 | 1814816 | 77 | 24269 | -86 |
|
||||
| 2019/01/01 00:32:20 | | | | | | | 45.30 | 30.68 | | | | | | | 3.85 | 100.00 | 95760.94 | 1807797 | 78 | 24250 | -85 |
|
||||
| 2019/01/01 00:35:11 | | | | | | | 46.83 | 29.90 | | | | | | | 3.73 | 100.00 | 95758.04 | 1808862 | 78 | 24798 | -86 |
|
||||
| 2019/01/01 00:38:01 | | | | | | | 50.35 | 30.23 | | | | | | | 3.72 | 100.00 | 95753.83 | 1806262 | 78 | 24283 | -86 |
|
||||
Reference in New Issue
Block a user