summaryrefslogtreecommitdiff
path: root/content/posts
diff options
context:
space:
mode:
authorChristoph Cullmann <cullmann@kde.org>2019-08-03 22:34:26 +0200
committerChristoph Cullmann <cullmann@kde.org>2019-08-03 22:34:26 +0200
commitfd043a564873506fd903cdb99d70ce6a62837461 (patch)
tree7f3e7dfa5257321c28a66cbf8ca6a9ec66bdd0d8 /content/posts
parent826ec87025fbd2c565f9851715c7b91ba53a85a0 (diff)
add fixed urls
Diffstat (limited to 'content/posts')
-rw-r--r--content/posts/hugo-extended-centos-7.md25
-rw-r--r--content/posts/kate-cpp-developer-survey.md27
-rw-r--r--content/posts/kate-history-kde-4-porting/images/kate-kde4-20050519.pngbin76584 -> 0 bytes
-rw-r--r--content/posts/kate-history-kde-4-porting/images/kate-kde4-20050520-more.pngbin30015 -> 0 bytes
-rw-r--r--content/posts/kate-history-kde-4-porting/images/kate-kde4-20050520.pngbin28176 -> 0 bytes
-rw-r--r--content/posts/kate-history-kde-4-porting/images/kate-kde4-20050522.pngbin81506 -> 0 bytes
-rw-r--r--content/posts/kate-history-kde-4-porting/images/kate-kf5-20190412.pngbin187198 -> 0 bytes
-rw-r--r--content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050515-more.pngbin66061 -> 0 bytes
-rw-r--r--content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050515-next-one.pngbin50495 -> 0 bytes
-rw-r--r--content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050515.pngbin9030 -> 0 bytes
-rw-r--r--content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050516-about-kde.pngbin63881 -> 0 bytes
-rw-r--r--content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050516-find.pngbin80394 -> 0 bytes
-rw-r--r--content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050516.pngbin69019 -> 0 bytes
-rw-r--r--content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050517.pngbin38837 -> 0 bytes
-rw-r--r--content/posts/kate-history-kde-4-porting/index.md50
-rw-r--r--content/posts/kate-language-server-protocol-client.md25
-rw-r--r--content/posts/kate-lsp-client-continued/images/kate-diagnostics.pngbin305770 -> 0 bytes
-rw-r--r--content/posts/kate-lsp-client-continued/images/kate-document-highlight.pngbin350934 -> 0 bytes
-rw-r--r--content/posts/kate-lsp-client-continued/images/kate-find-references.pngbin315522 -> 0 bytes
-rw-r--r--content/posts/kate-lsp-client-continued/images/kate-hover.pngbin356817 -> 0 bytes
-rw-r--r--content/posts/kate-lsp-client-continued/index.md55
-rw-r--r--content/posts/kate-lsp-client-progress.md27
-rw-r--r--content/posts/kate-lsp-client-restart/images/kate-auto-completion.pngbin117129 -> 0 bytes
-rw-r--r--content/posts/kate-lsp-client-restart/images/kate-document-highlight.pngbin233723 -> 0 bytes
-rw-r--r--content/posts/kate-lsp-client-restart/images/kate-outline-view.pngbin258251 -> 0 bytes
-rw-r--r--content/posts/kate-lsp-client-restart/index.md52
-rw-r--r--content/posts/kate-lsp-status-july-21/images/kate-hover.pngbin362082 -> 0 bytes
-rw-r--r--content/posts/kate-lsp-status-july-21/index.md41
-rw-r--r--content/posts/kate-lsp-status-july-22/images/kate-lsp-video.jpgbin336680 -> 0 bytes
-rw-r--r--content/posts/kate-lsp-status-july-22/index.md47
-rw-r--r--content/posts/ktexteditor-kate-bugs-help-appreciated.md33
-rw-r--r--content/posts/ktexteditor-kate-bugs-scratch-your-own-itch.md50
-rw-r--r--content/posts/new-website.md16
-rw-r--r--content/posts/privacy-and-hugo-themes.md24
-rw-r--r--content/posts/qt-creator-4-9-uses-ksyntaxhighlighting.md28
-rw-r--r--content/posts/removing-files-from-git-history.md40
-rw-r--r--content/posts/webserver-transition.md58
37 files changed, 0 insertions, 598 deletions
diff --git a/content/posts/hugo-extended-centos-7.md b/content/posts/hugo-extended-centos-7.md
deleted file mode 100644
index f570664..0000000
--- a/content/posts/hugo-extended-centos-7.md
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title: "Hugo Extended on CentOS 7"
-date: 2019-04-06T22:55:00+02:00
-draft: false
-categories: [www]
-tags: [hugo, centos]
-url: /posts/hugo-extended-centos-7/
----
-
-After first using the Hermit theme, I moved to the Hugo Coder theme to have a nicer front page and menu at the top.
-
-Unfortunately that needs Hugo in the "extended" version.
-
-The binary one can download on https://github.com/gohugoio/hugo/releases doesn't run on CentOS 7, unlike the normal variant you get there (too new libstdc++ needed).
-
-One has to recompile it to get that working.
-
-To make it easier for others, to do so, just:
-
-* install golang + gcc-c++ on your CentOS 7
-* download https://github.com/gohugoio/hugo/archive/v0.54.0.tar.gz
-* execute in the source directory `go install -tags extended`
-* grab the result binary in your ~/go directory
-
-If you need a pre-compiled one, on your own risk, use the one in my git, https://github.com/christoph-cullmann/cullmann.io.
diff --git a/content/posts/kate-cpp-developer-survey.md b/content/posts/kate-cpp-developer-survey.md
deleted file mode 100644
index 580e692..0000000
--- a/content/posts/kate-cpp-developer-survey.md
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title: "Kate & C++ Developer Survey"
-date: 2019-06-10T22:45:00+02:00
-draft: false
-categories: [kde, kate, development]
-tags: [kde, kate]
-url: /posts/kate-cpp-developer-survey/
----
-
-While browsing the [ISO C++ homepage](https://isocpp.org) I stumbled over the [results PDF](https://isocpp.org/files/papers/CppDevSurvey-2019-04-summary.pdf) of the [Second Annual C++ Foundation Developer Survey “Lite”](https://isocpp.org/blog/2019/05/results-summary-2019-global-developer-survey-lite).
-
-I was astonished that Kate made it into the "Which development environments (IDEs) or editors do you use for C++ development?" results.
-
-;=) Seems not only I use it as my normal editor for working on C++ code.
-
-And heads up, KDevelop is there, too!
-
-This is actually the second survey, I missed to notice the first one last year.
-The [results PDF](https://isocpp.org/files/papers/CppDevSurvey-2018-02-summary.pdf) from [last year](https://isocpp.org/blog/2018/03/results-summary-cpp-foundation-developer-survey-lite-2018-02) shows Kate did show up already there.
-
-We shouldn't be that proud of only having less than three percent usage, but still, we are there at all.
-I hope we can rise here a bit in the future.
-
-At least we work on supporting modern C++ standards in the highlighting, e.g. see the recent C++20 improvements ([Phabricator](https://phabricator.kde.org/D21585) + [Commit](https://cgit.kde.org/syntax-highlighting.git/commit/?id=9ba02971123d255c10fca97223538c439e252e3d)). Thanks to Jonathan Poelen for the patch!
-
-[Language Server Protocol (LSP)](/posts/kate-lsp-client-progress/) would help, too, but my initial work is far from usable, help appreciated.
-Beside a hacked "goto definition" nothing works at the moment (and it is hardcoded to just start clangd, no other LSP server).
diff --git a/content/posts/kate-history-kde-4-porting/images/kate-kde4-20050519.png b/content/posts/kate-history-kde-4-porting/images/kate-kde4-20050519.png
deleted file mode 100644
index 17c8cc9..0000000
--- a/content/posts/kate-history-kde-4-porting/images/kate-kde4-20050519.png
+++ /dev/null
Binary files differ
diff --git a/content/posts/kate-history-kde-4-porting/images/kate-kde4-20050520-more.png b/content/posts/kate-history-kde-4-porting/images/kate-kde4-20050520-more.png
deleted file mode 100644
index 46323df..0000000
--- a/content/posts/kate-history-kde-4-porting/images/kate-kde4-20050520-more.png
+++ /dev/null
Binary files differ
diff --git a/content/posts/kate-history-kde-4-porting/images/kate-kde4-20050520.png b/content/posts/kate-history-kde-4-porting/images/kate-kde4-20050520.png
deleted file mode 100644
index 708abbc..0000000
--- a/content/posts/kate-history-kde-4-porting/images/kate-kde4-20050520.png
+++ /dev/null
Binary files differ
diff --git a/content/posts/kate-history-kde-4-porting/images/kate-kde4-20050522.png b/content/posts/kate-history-kde-4-porting/images/kate-kde4-20050522.png
deleted file mode 100644
index f8d7a52..0000000
--- a/content/posts/kate-history-kde-4-porting/images/kate-kde4-20050522.png
+++ /dev/null
Binary files differ
diff --git a/content/posts/kate-history-kde-4-porting/images/kate-kf5-20190412.png b/content/posts/kate-history-kde-4-porting/images/kate-kf5-20190412.png
deleted file mode 100644
index 6fd8830..0000000
--- a/content/posts/kate-history-kde-4-porting/images/kate-kf5-20190412.png
+++ /dev/null
Binary files differ
diff --git a/content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050515-more.png b/content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050515-more.png
deleted file mode 100644
index c4ea6bb..0000000
--- a/content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050515-more.png
+++ /dev/null
Binary files differ
diff --git a/content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050515-next-one.png b/content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050515-next-one.png
deleted file mode 100644
index 4cb874f..0000000
--- a/content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050515-next-one.png
+++ /dev/null
Binary files differ
diff --git a/content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050515.png b/content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050515.png
deleted file mode 100644
index 2fa63b6..0000000
--- a/content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050515.png
+++ /dev/null
Binary files differ
diff --git a/content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050516-about-kde.png b/content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050516-about-kde.png
deleted file mode 100644
index 04e3432..0000000
--- a/content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050516-about-kde.png
+++ /dev/null
Binary files differ
diff --git a/content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050516-find.png b/content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050516-find.png
deleted file mode 100644
index 634be73..0000000
--- a/content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050516-find.png
+++ /dev/null
Binary files differ
diff --git a/content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050516.png b/content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050516.png
deleted file mode 100644
index 2edee77..0000000
--- a/content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050516.png
+++ /dev/null
Binary files differ
diff --git a/content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050517.png b/content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050517.png
deleted file mode 100644
index 947df16..0000000
--- a/content/posts/kate-history-kde-4-porting/images/katetest-kde4-20050517.png
+++ /dev/null
Binary files differ
diff --git a/content/posts/kate-history-kde-4-porting/index.md b/content/posts/kate-history-kde-4-porting/index.md
deleted file mode 100644
index ebb039b..0000000
--- a/content/posts/kate-history-kde-4-porting/index.md
+++ /dev/null
@@ -1,50 +0,0 @@
----
-title: "Kate History - KDE 4 Porting"
-date: 2019-04-12T23:52:00+02:00
-draft: false
-categories: [kde, kate, development]
-tags: [kde, kate]
-url: /posts/kate-history-kde-4-porting/
----
-
-During my web site upgrade, I reviewed the old stuff I had hosted on my long gone web sites but still archived here locally. An interesting thing I stumbled on are the KDE 3 -> 4 porting screenshots of Kate I saved in 2005.
-
-They actually show pretty nicely how far we have gone since 2005 with our development stack.
-
-The KDE 3 -> 4 transition was a large hassle. It did take weeks of work just to get Kate back into an usable state.
-
-We first started with some trivial KTextEditor container (a mini KWrite) for the porting to get KTextEditor at all doing something. That started out with something that even had no menu or toolbars working:
-
-<p align="center">
- <a href="images/katetest-kde4-20050515-more.png" target="_blank"><img width=500 src="images/katetest-kde4-20050515-more.png"></a>
-</p>
-
-This evolved after two days into a kind of working KWrite port (icons still randomly missing):
-
-<p align="center">
- <a href="images/katetest-kde4-20050517.png" target="_blank"><img width=500 src="images/katetest-kde4-20050517.png"></a>
-</p>
-
-After the KTextEditor part did work "reasonable", we started with Kate:
-
-<p align="center">
- <a href="images/kate-kde4-20050519.png" target="_blank"><img width=500 src="images/kate-kde4-20050519.png"></a>
-</p>
-
-And ended up with an initial ported prototype three days later:
-
-<p align="center">
- <a href="images/kate-kde4-20050522.png" target="_blank"><img width=500 src="images/kate-kde4-20050522.png"></a>
-</p>
-
-And after that a long time of actual polishing for KDE 4.0 did start. Kate was actually one of the first ported applications during the KDE 3 -> 4 transition.
-
-The KDE 4 -> KF5 transition was much nicer, even thought the Frameworks split did cost a lot of time and resources. But the actual changes to the application code bases were not that radical.
-
-And where did we end up with this ~14 years later? Actually, just here:
-
-<p align="center">
- <a href="images/kate-kf5-20190412.png" target="_blank"><img width=500 src="images/kate-kf5-20190412.png"></a>
-</p>
-
-It is still recognizable the same application, thought I hope some progress is visible :=)
diff --git a/content/posts/kate-language-server-protocol-client.md b/content/posts/kate-language-server-protocol-client.md
deleted file mode 100644
index 20a6ca7..0000000
--- a/content/posts/kate-language-server-protocol-client.md
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title: "Kate Language Server Protocol Client"
-date: 2019-04-28T20:36:00+02:00
-draft: false
-categories: [kde, kate, development]
-tags: [kde, kate]
-url: /posts/kate-language-server-protocol-client/
----
-
-The [Language Server Protocol (LSP)](https://microsoft.github.io/language-server-protocol/overview) allows the integration of stuff like code completion, jump to definition, symbol search and more into an application without manual re-implementation for each language one wants to support.
-LSP doesn't fully allow an integration like [KDevelop](https://www.kdevelop.org) or Qt Creator do with the [libclang](https://clang.llvm.org/docs/Tooling.html) based tooling aimed for C/C++ but on the other side offers the possibility to interface with [plenty of languages](https://langserver.org/#implementations-server) without a large effort on the client side.
-
-If one takes a look at some current [LSP clients list](https://langserver.org/#implementations-client), a lot of editors and IDEs have joined the LSP family in the last years.
-
-In the past I was always scared away to start implementing this in Kate, as no readily available library was around to do the low-level work for the client.
-Whereas you get some reference stuff for the JSON based protocol for JavaScript and such, for Qt nothing was around.
-
-Fortunately Qt Creator started to implement an LSP client beginning with [the 4.8 release](https://blog.qt.io/blog/2018/12/06/qt-creator-4-8-0-released/).
-
-Based on this code, I started now to get this into the Kate project plugin.
-At the moment not much more has happened then some initial import of the Qt Creator LSP infrastructure code into the [Kate lsp branch](https://cgit.kde.org/kate.git/log/?h=lsp).
-
-If I get this working (help is welcome!), any improvements will be submitted back to the Qt Creator implementation.
-If it really starts to work well in Kate, one might think about some better code sharing in the long term.
-But before such plans, first at least some basic things must work for some initial language server like [clangd](https://clang.llvm.org/extra/clangd/).
diff --git a/content/posts/kate-lsp-client-continued/images/kate-diagnostics.png b/content/posts/kate-lsp-client-continued/images/kate-diagnostics.png
deleted file mode 100644
index 4a7f45f..0000000
--- a/content/posts/kate-lsp-client-continued/images/kate-diagnostics.png
+++ /dev/null
Binary files differ
diff --git a/content/posts/kate-lsp-client-continued/images/kate-document-highlight.png b/content/posts/kate-lsp-client-continued/images/kate-document-highlight.png
deleted file mode 100644
index 4e448c7..0000000
--- a/content/posts/kate-lsp-client-continued/images/kate-document-highlight.png
+++ /dev/null
Binary files differ
diff --git a/content/posts/kate-lsp-client-continued/images/kate-find-references.png b/content/posts/kate-lsp-client-continued/images/kate-find-references.png
deleted file mode 100644
index 5b9284f..0000000
--- a/content/posts/kate-lsp-client-continued/images/kate-find-references.png
+++ /dev/null
Binary files differ
diff --git a/content/posts/kate-lsp-client-continued/images/kate-hover.png b/content/posts/kate-lsp-client-continued/images/kate-hover.png
deleted file mode 100644
index c4740c3..0000000
--- a/content/posts/kate-lsp-client-continued/images/kate-hover.png
+++ /dev/null
Binary files differ
diff --git a/content/posts/kate-lsp-client-continued/index.md b/content/posts/kate-lsp-client-continued/index.md
deleted file mode 100644
index 17713df..0000000
--- a/content/posts/kate-lsp-client-continued/index.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-title: "Kate LSP Client Continued"
-date: 2019-07-14T15:33:00+02:00
-draft: false
-categories: [kde, kate, development]
-tags: [kde, kate]
-url: /posts/kate-lsp-client-continued/
----
-
-The new LSP client by Mark Nauwelaerts made nice progress since the [LSP client restart](/posts/kate-lsp-client-restart/) post last week.
-
-Reminder: The plugin is not compiled per default, you can turn it on via:
-
-> cmake -DCMAKE_INSTALL_PREFIX="your prefix" -DENABLE_LSPCLIENT=ON "kate src dir"
-
-The code can still be found kate.git master, see [lspclient](https://cgit.kde.org/kate.git/tree/addons/lspclient) in the addons directory.
-
-What is new?
-
-* Diagnostics support: A tab in the LSP client toolview will show the diagnistics, grouped by file with links to jump to the locations. Issues will be highlighted in the editor view, too.
-<p align="center">
- <a href="images/kate-diagnostics.png" target="_blank"><img width=500 src="images/kate-diagnostics.png"></a>
-</p>
-
-* Find references: Find all references for some variable/function in your complete program. They are listed like the diagnostics grouped per file in an extra tab.
-<p align="center">
- <a href="images/kate-find-references.png" target="_blank"><img width=500 src="images/kate-find-references.png"></a>
-</p>
-
-* Improved document highlight: Highlight all occurrences of a variable/... inside the current document. Beside highlighting the reads/writes/uses, you get a jump list like for the other stuff as tab, too.
-<p align="center">
- <a href="images/kate-document-highlight.png" target="_blank"><img width=500 src="images/kate-document-highlight.png"></a>
-</p>
-
-A feature I missed to show last time:
-
-* Hover support: Show more meta info about a code location, like the proper type, useful e.g. for [almost-always-auto](https://herbsutter.com/2013/08/12/gotw-94-solution-aaa-style-almost-always-auto/) C++ programming.
-<p align="center">
- <a href="images/kate-hover.png" target="_blank"><img width=500 src="images/kate-hover.png"></a>
-</p>
-
-We even got already two patches for the fresh plugin:
-
-* [D22348 - Use the label when insertText or sortText is missing](https://phabricator.kde.org/D22348)
-* [D22349 - Don't send the Content-Type header](https://phabricator.kde.org/D22349)
-
-Both are aimed to improve the support of the Rust LSP server.
-As you can see, they got already reviewed and merged.
-
-Feel welcome to show up on [kwrite-devel@kde.org](mailto:kwrite-devel@kde.org) and help out!
-All development discussions regarding this plugin happen there.
-
-If you are already familiar with Phabricator, post some patch directly at [KDE's Phabricator instance](https://phabricator.kde.org/differential/).
-
-You want more LSP servers supported? You want to have feature X? You have seen some bug and want it to vanish? => Join!
diff --git a/content/posts/kate-lsp-client-progress.md b/content/posts/kate-lsp-client-progress.md
deleted file mode 100644
index 9da416d..0000000
--- a/content/posts/kate-lsp-client-progress.md
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title: "Kate LSP Client Progress"
-date: 2019-05-13T00:02:00+02:00
-draft: false
-categories: [kde, kate, development]
-tags: [kde, kate]
-url: /posts/kate-lsp-client-progress/
----
-
-The [Kate lsp branch](https://cgit.kde.org/kate.git/log/?h=lsp) contains now the infrastructure as used by Qt Creator.
-In addition, [clangd](https://clang.llvm.org/extra/clangd/) is now somehow started in a working state for the first project opened inside Kate.
-
-For example, if you use the CMake Kate project generator and you compile Kate from the "lsp" branch, clangd should pick up the compile_commands.json for a CMake generated Kate project.
-
-;=) Unfortunately not much more than starting and informing clangd about the open workspaces (for the first opened project) works ATM.
-
-If you press ALT-1 over some identifier, you will get some debug output on the console about found links, like below:
-
-> qtc.languageclient.parse: content: "{\"id\":\"{812e04c6-2bca-42e3-a632-d616fdc2f7d4}\",\"jsonrpc\":\"2.0\",\"result\":[{\"range\":{\"end\":{\"character\":20,\"line\":67},\"start\":{\"character\":6,\"line\":67}},\"uri\":\"file:///local/cullmann/kde/src/kate/kate/katemainwindow.h\"}]}"
-
-The current ALT-1 handling is a big hack, as then one just adds the current document and triggers the GotoDefinitionRequest.
-A proper implementation tracks the opened/closed documented of the editor.
-
-But at least in principle Kate is now able to start some language server processes and talk a bit with them, all thanks to the nice code borrowed from Qt Creator.
-
-:=) As my spare time is limited, any help in bringing the branch up-to-speed is highly welcome, just drop us a mail to [kwrite-devel@kde.org](mailto:kwrite-devel@kde.org) or mail me in private ([cullmann@kde.org](mailto:cullmann@kde.org)).
-A working LSP integration will help to make Kate more attractive for programmers of many languages.
diff --git a/content/posts/kate-lsp-client-restart/images/kate-auto-completion.png b/content/posts/kate-lsp-client-restart/images/kate-auto-completion.png
deleted file mode 100644
index 4e03502..0000000
--- a/content/posts/kate-lsp-client-restart/images/kate-auto-completion.png
+++ /dev/null
Binary files differ
diff --git a/content/posts/kate-lsp-client-restart/images/kate-document-highlight.png b/content/posts/kate-lsp-client-restart/images/kate-document-highlight.png
deleted file mode 100644
index 819e89d..0000000
--- a/content/posts/kate-lsp-client-restart/images/kate-document-highlight.png
+++ /dev/null
Binary files differ
diff --git a/content/posts/kate-lsp-client-restart/images/kate-outline-view.png b/content/posts/kate-lsp-client-restart/images/kate-outline-view.png
deleted file mode 100644
index 02311a4..0000000
--- a/content/posts/kate-lsp-client-restart/images/kate-outline-view.png
+++ /dev/null
Binary files differ
diff --git a/content/posts/kate-lsp-client-restart/index.md b/content/posts/kate-lsp-client-restart/index.md
deleted file mode 100644
index f22ccfd..0000000
--- a/content/posts/kate-lsp-client-restart/index.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-title: "Kate LSP Client Restart"
-date: 2019-07-07T15:13:00+02:00
-draft: false
-categories: [kde, kate, development]
-tags: [kde, kate]
-url: /posts/kate-lsp-client-restart/
----
-
-Since my last post about the [LSP client progress](/posts/kate-lsp-client-progress/) in May I didn't work on that project at all I think.
-
-But the good news is, somebody else did scratch that itch on his own ;=)
-
-We have now a prototype plugin in kate.git master, see [lspclient](https://cgit.kde.org/kate.git/tree/addons/lspclient) in the addons directory.
-
-It is not compiled per default, you can turn it on via:
-
-> cmake -DCMAKE_INSTALL_PREFIX="your prefix" -DENABLE_LSPCLIENT=ON "kate src dir"
-
-It shares no code with my initial prototype.
-The author started this without knowing of my work.
-This might actually be not that bad, as this plugin is composed of a much smaller code base.
-This allows to get familiar with the code easier as with the code I copied over from Qt Creator for my initial try.
-
-But, even nicer, it does actually work a lot better than my variant, already now!
-
-What does work (tested with clangd and kate.git/work projects) at the moment:
-
-* Auto completion: you get the proper LSP server provided completion items
-<p align="center">
- <a href="images/kate-auto-completion.png" target="_blank"><img width=500 src="images/kate-auto-completion.png"></a>
-</p>
-* Outline view: Get an extra tool view with the symbols of your current view
-<p align="center">
- <a href="images/kate-outline-view.png" target="_blank"><img width=500 src="images/kate-outline-view.png"></a>
-</p>
-* Document highlight: highlight all occurrences of a variable/... inside the current view
-<p align="center">
- <a href="images/kate-document-highlight.png" target="_blank"><img width=500 src="images/kate-document-highlight.png"></a>
-</p>
-* Code navigation: jump to the definition/declaration
-
-There is still a lot of stuff missing and this is all prototype quality.
-For example the document highlight implementation I added has no way to clear the highlighting at the moment beside document reload.
-
-But given I just needed one hour to add the document highlight support, I would say the code base is easy to adjust.
-
-=> If you have time and want a good LSP client, now you can join the fun and have direct results.
-
-As the author was kind enough to move his work on the plugin to the KDE infrastructure, feel welcome to show up on [kwrite-devel@kde.org](mailto:kwrite-devel@kde.org) and help out!
-All development discussions regarding this plugin happen there.
-We are happy to accept patches, too, if you are a new contributor!
diff --git a/content/posts/kate-lsp-status-july-21/images/kate-hover.png b/content/posts/kate-lsp-status-july-21/images/kate-hover.png
deleted file mode 100644
index 8755311..0000000
--- a/content/posts/kate-lsp-status-july-21/images/kate-hover.png
+++ /dev/null
Binary files differ
diff --git a/content/posts/kate-lsp-status-july-21/index.md b/content/posts/kate-lsp-status-july-21/index.md
deleted file mode 100644
index 2121fbe..0000000
--- a/content/posts/kate-lsp-status-july-21/index.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-title: "Kate LSP Status - July 21"
-date: 2019-07-21T15:18:00+02:00
-draft: false
-categories: [kde, kate, development]
-tags: [kde, kate]
-url: /posts/kate-lsp-status-july-21/
----
-
-The new LSP client by Mark Nauwelaerts keeps making nice progress.
-
-It will not be shipped with the KDE Applications 19.08 release, but in master it is now compiled & installed per default.
-You only need to activate it on the plugin configuration page in Kate's settings dialog to be able to use it.
-
-For details how to build Kate master with it's plugins, please take a look at [this guide](https://kate-editor.org/build-it/).
-
-If you want to start to hack on the plugin, you find it in the kate.git, [addons/lspclient](https://cgit.kde.org/kate.git/tree/addons/lspclient).
-
-Feel welcome to show up on [kwrite-devel@kde.org](mailto:kwrite-devel@kde.org) and help out!
-All development discussions regarding this plugin happen there.
-
-If you are already familiar with Phabricator, post some patch directly at [KDE's Phabricator instance](https://phabricator.kde.org/differential/).
-
-What is new this week?
-
-The most thing are internal cleanups and minor improvements.
-
-Feature wise, the hover implementation works now more like in other editors or IDEs, you get some nice tool tip after some delay:
-
-<p align="center">
- <a href="images/kate-hover.png" target="_blank"><img width=500 src="images/kate-hover.png"></a>
-</p>
-
-Never try to guess again what some *auto* means ;=)
-
-There is still a lot that can be improved, e.g. a filter for the symbols outline is in work:
-
-* [D22592 - port symbols view to model/view concept](https://phabricator.kde.org/D22592)
-
-To be able to later out-source some parts of the generic LSP client code to a library, if there is demand, we will aim to make the plugin be licensed under the MIT license.
-This should make it easier for other projects to depend of our code, if wanted.
diff --git a/content/posts/kate-lsp-status-july-22/images/kate-lsp-video.jpg b/content/posts/kate-lsp-status-july-22/images/kate-lsp-video.jpg
deleted file mode 100644
index 016d73e..0000000
--- a/content/posts/kate-lsp-status-july-22/images/kate-lsp-video.jpg
+++ /dev/null
Binary files differ
diff --git a/content/posts/kate-lsp-status-july-22/index.md b/content/posts/kate-lsp-status-july-22/index.md
deleted file mode 100644
index 3e07d45..0000000
--- a/content/posts/kate-lsp-status-july-22/index.md
+++ /dev/null
@@ -1,47 +0,0 @@
----
-title: "Kate LSP Status - July 22"
-date: 2019-07-22T22:43:00+02:00
-draft: false
-categories: [kde, kate, development]
-tags: [kde, kate]
-url: /posts/kate-lsp-status-july-22/
----
-
-After my series of LSP client posts, I got the question: What does this actually do? And why should I like this or help with it?
-
-For the basic question: What the heck is the [Language Server Protocol (LSP)](https://microsoft.github.io/language-server-protocol/overview), I think my [first post](/posts/kate-language-server-protocol-client/) can help. Or, for more details, just head over to the [official what/why/... page](https://langserver.org/).
-
-But easier than to describe why it is nice, I can just show the stuff in action.
-Below is a video that shows the features that at the moment work with our master branch.
-It is shown using the build directory of Kate itself.
-
-To get a usable build directory, I build my stuff locally with [kdesrc-build](https://kdesrc-build.kde.org/), the only extra config I have in the global section of my **.kdesrc-buildrc** is:
-
-> cmake-options -DCMAKE_BUILD_TYPE=RelWithDebInfo -G "Kate - Unix Makefiles" -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
-
-This will auto generate the needed **.kateproject** files for the Kate project plugin and the **compile_commands.json** for **clangd** (the LSP server for C/C++ the plugin uses).
-
-If you manually build your stuff with **cmake**, you can just add the
-
-> -G "Kate - Unix Makefiles" -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
-
-parts to your **cmake** call. If you use **ninja** and not **make**, just use
-
-> -G "Kate - Ninja" -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
-
-Then, let's see what you can do, once you are in a prepared build directory and have a **master** version of **Kate** in your **PATH**.
-
-<center><a href="https://youtu.be/w0grp9npnNA" target="_blank"><img width=500 src="images/kate-lsp-video.jpg"></a></center>
-
-I hope the quality is acceptable, that is my first try in a long time to do some screen-cast ;)
-
-As you can see, this is already in an usable state at least for C/C++ in combination with **clangd**.
-
-For details how to build Kate master with it's plugins, please take a look at [this guide](https://kate-editor.org/build-it/).
-
-If you want to start to hack on the plugin, you find it in the kate.git, [addons/lspclient](https://cgit.kde.org/kate.git/tree/addons/lspclient).
-
-Feel welcome to show up on [kwrite-devel@kde.org](mailto:kwrite-devel@kde.org) and help out!
-All development discussions regarding this plugin happen there.
-
-If you are already familiar with Phabricator, post some patch directly at [KDE's Phabricator instance](https://phabricator.kde.org/differential/).
diff --git a/content/posts/ktexteditor-kate-bugs-help-appreciated.md b/content/posts/ktexteditor-kate-bugs-help-appreciated.md
deleted file mode 100644
index 8f763cb..0000000
--- a/content/posts/ktexteditor-kate-bugs-help-appreciated.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title: "KTextEditor/Kate Bugs - Help Appreciated"
-date: 2019-05-24T16:20:00+02:00
-draft: false
-categories: [kde, kate, development]
-tags: [kde, kate]
-url: /posts/ktexteditor-kate-bugs-help-appreciated/
----
-
-The bug report count of KTextEditor (implementing the editing part used in Kate/KWrite/KDevelop/Kile/...) and Kate itself reached again
-some value over 200.
-
-If you have time and need an itch to scratch, any help to tackle the currently open bugs would be highly appreciated.
-
-The full list can be found with this [bugs.kde.org query](https://bugs.kde.org/buglist.cgi?bug_severity=critical&bug_severity=grave&bug_severity=major&bug_severity=crash&bug_severity=normal&bug_severity=minor&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED&columnlist=bug_severity%2Cpriority%2Cassigned_to%2Cbug_status%2Cresolution%2Ccomponent%2Cshort_desc%2Cchangeddate%2Cop_sys%2Crep_platform%2Creporter&list_id=1624725&order=bug_id%20DESC&product=frameworks-ktexteditor&product=kate&query_based_on=Kate%2FKWrite%20Bugs&query_format=advanced).
-
-Easy things anybody with a bit time could do would be:
-
-* check if the bug still is there with current master builds, if not, close it it
-* check if it is the duplicate of a similar still open bug, if yes, mark it as duplicate
-
-Beside that, patches for any of the existing issues are very welcome.
-
-I think the best guide how to setup some development environment is on our [KDE Community Wiki](https://community.kde.org/Guidelines_and_HOWTOs/Build_from_source).
-I myself use a kdesrc-build environment like described there, too.
-
-Patches can be submitted for an review via our [KDE Phabricator](https://phabricator.kde.org/differential/).
-
-If it is just a small change and you don't want to spend time on Phabricator, attaching a git diff versus current master to the bug is ok, too.
-Best mark the bug with a **[PATCH]** prefix in the subject.
-
-The team working on the code is small, therefore please be a bit patient if you wait for reactions.
-I hope we have improved our reaction time in the last months but we still are lacking in that respect.
diff --git a/content/posts/ktexteditor-kate-bugs-scratch-your-own-itch.md b/content/posts/ktexteditor-kate-bugs-scratch-your-own-itch.md
deleted file mode 100644
index 6848dfb..0000000
--- a/content/posts/ktexteditor-kate-bugs-scratch-your-own-itch.md
+++ /dev/null
@@ -1,50 +0,0 @@
----
-title: "KTextEditor/Kate Bugs - Scratch Your Own Itch"
-date: 2019-05-26T14:25:00+02:00
-draft: false
-categories: [kde, kate, development]
-tags: [kde, kate]
-url: /posts/ktexteditor-kate-bugs-scratch-your-own-itch/
----
-
-Two days ago I mentioned [here](/posts/ktexteditor-kate-bugs-help-appreciated/) that the bug report count of KTextEditor and Kate has risen to some not that manageable amount.
-
-For developers that report a bugs or wish, the best way to really get it solved is to scratch your own itch and provide some patch.
-
-I know this is not feasible for all bug reporters, as not all are developers nor will even the developers all have either time nor perhaps the right skill set to tackle the issue on their own.
-
-But if you have the time and you are at least a bit familiar with C++/Qt, you should give it a try.
-
-We can help you to get your patch done, that is much easier for e.g. myself than to motivate me to work on a bug or wish that doesn't concern my normal workflow or lie within my skill set.
-
-For example we have a lot of issues with left-to-right text rendering or related to languages that use complex Unicode surrogates.
-Given I have zero knowledge of any language using this my motivation to dig into these issues is small (and I will more likely break more things than fix them).
-
-The same holds for issues in our Vi mode.
-I don't use this mode myself nor do I really know how Vi commands shall behave in real life.
-Therefore any fix or enhancement there is beyond me.
-
-A good example for such a "Scratch Your Own Itch" approach is [bug 407910](https://bugs.kde.org/show_bug.cgi?id=407910).
-
-It is a small request, to have some action/shortcut to reset the font size to the default one.
-We have since years some zoom in/out actions/shortcuts but nothing to go back to the configured one.
-
-I rarely use the zoom stuff, perhaps once in a month, if I want to show something to a colleague on my screen or projector and it is really not readable with my normal font size.
-Therefore my motivation to invest any work into yet an other action I will not use regularly is small.
-
-But, in this case, the reporter had the time to invest a bit work into this.
-
-He provided a patch via our [KDE Phabricator - D21412](https://phabricator.kde.org/D21412).
-
-We needed some iterations to get the patch into a usable shape in the bug report and in Phabricator, but thanks to the persistence of the reporter, it got now [pushed](https://cgit.kde.org/ktexteditor.git/commit/?id=968af10fd4b64cccf6a858f105ac6cfad9fce78e) to our repository.
-
-If nobody would have stepped up to provide at least some initial patch for this, such a request for sure would have rotted again in our bug database.
-
-This is not the first time such a nice thing happened, this is just a recent example how such things can work out.
-
-Therefore, if you report something and are capable of given it a try on your own, please do so!
-
-Perhaps even some of the existing [bugs](https://bugs.kde.org/buglist.cgi?bug_severity=critical&bug_severity=grave&bug_severity=major&bug_severity=crash&bug_severity=normal&bug_severity=minor&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED&columnlist=bug_severity%2Cpriority%2Cassigned_to%2Cbug_status%2Cresolution%2Ccomponent%2Cshort_desc%2Cchangeddate%2Cop_sys%2Crep_platform%2Creporter&known_name=Kate%2FKWrite%20Bugs&list_id=1625288&product=frameworks-ktexteditor&product=kate&query_based_on=Kate%2FKWrite%20Bugs&query_format=advanced) or [wishes](https://bugs.kde.org/buglist.cgi?bug_severity=wishlist&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED&columnlist=product%2Ccomponent%2Cassigned_to%2Cbug_status%2Cresolution%2Cshort_desc%2Cchangeddate%2Creporter%2Creporter_realname&known_name=Kate%2FKWrite%20Wishs&list_id=1625290&product=frameworks-ktexteditor&product=kate&query_based_on=Kate%2FKWrite%20Wishs&query_format=advanced) are stuff you want to take care of yourself because they concern you!
-
-I think not a lot motivates your more to do something than an issue you have with a tool for your workflow.
-At least for me that was the reason to at all start the development of Kate (I missed a MDI variant of KWrite) and join the work on stuff like KTextEditor.
diff --git a/content/posts/new-website.md b/content/posts/new-website.md
deleted file mode 100644
index 4d751ba..0000000
--- a/content/posts/new-website.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-title: "New Website"
-date: 2019-04-06T18:18:00+02:00
-draft: false
-categories: [www]
-tags: [hugo]
-url: /posts/new-website/
----
-
-After several years of failing to update my personal WordPress page, I restarted my website with the [Hugo framework](https://gohugo.io/).
-
-The new website uses zero cookies (yes, no stupid cookie question) and no kind of analytic software.
-
-I hope my [Impressum](/impressum/) is done well enough to avoid any legal issues.
-
-At the moment the website is still very empty, I hope to fill in more content about my open source projects and academic stuff in the near future.
diff --git a/content/posts/privacy-and-hugo-themes.md b/content/posts/privacy-and-hugo-themes.md
deleted file mode 100644
index 2e8c728..0000000
--- a/content/posts/privacy-and-hugo-themes.md
+++ /dev/null
@@ -1,24 +0,0 @@
----
-title: "Privacy and Hugo Themes"
-date: 2019-04-07T17:10:00+02:00
-draft: false
-categories: [www]
-tags: [hugo, privacy]
-url: /posts/privacy-and-hugo-themes/
----
-
-I use the "Hugo Coder" theme for this page.
-
-After creating the [privacy page (Impressum)](/impressum/), I did take a closer look at the generated HTML code to confirm I didn't miss to state things there.
-
-I thought, given Hugo generates plain static HTML pages, I would be on the safe side.
-
-But unfortunately, the theme I use includes some external resources, like the Google web fonts...
-
-I now patched that out in my [fork](https://github.com/christoph-cullmann/hugo-coder) of the theme and provide local copies on my own server.
-
-The local mirrored files can be found [here](https://github.com/christoph-cullmann/cullmann.io/tree/master/static).
-
-Actually, this shows, for a "normal" user, it is really hard to ensure no privacy violations are on his/her/... website, given you need to control each and every page.
-
-This is already ugly with static pages, like the stuff generated here (and I hope I missed nothing), but with dynamic websites this is...
diff --git a/content/posts/qt-creator-4-9-uses-ksyntaxhighlighting.md b/content/posts/qt-creator-4-9-uses-ksyntaxhighlighting.md
deleted file mode 100644
index c9381f5..0000000
--- a/content/posts/qt-creator-4-9-uses-ksyntaxhighlighting.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title: "Qt Creator 4.9 uses KSyntaxHighlighting"
-date: 2019-04-16T20:45:00+02:00
-draft: false
-categories: [kde, qt, development]
-tags: [kde, qt]
-url: /posts/qt-creator-4-9-uses-ksyntaxhighlighting/
----
-
-As you can read in the [official Creator 4.9.0 release announcement](https://blog.qt.io/blog/2019/04/15/qt-creator-4-9-0-released/), Qt Creator now uses the [KSyntaxHighlighting Framework](https://api.kde.org/frameworks/syntax-highlighting/html/index.html) for providing the [generic highlighting](https://doc.qt.io/qtcreator/creator-highlighting.html#generic-highlighting).
-
-This is a nice step for the wider adoption of this [MIT](https://opensource.org/licenses/MIT) licensed part of the [KDE Frameworks](https://api.kde.org/frameworks/index.html).
-
-And this is not just an one-way consumption of our work.
-
-The framework got actively patches back that make it more usable for other consumers, too, like [Kate](https://kate-editor.org) ;=)
-
-If you want concrete examples, take a look at:
-
-* D18982: [prevent assertion in regex load](https://phabricator.kde.org/D18982)
-* D18996: [Fix building with namespaced Qt](https://phabricator.kde.org/D18996)
-* D18997: [Add functions returning all definitions for a mimetype or file name](https://phabricator.kde.org/D18997)
-* D19200: [Return sorted definitions for file names and mime types](https://phabricator.kde.org/D19200)
-* D19215: [Install DefinitionDownloader header](https://phabricator.kde.org/D19215)
-
-I hope this cooperation will continue in the future.
-I thank the people working on Qt Creator that made this integration possible.
-I hope the initial effort will pay of with less code for them to maintain on their own and more improvements of the framework for all users.
diff --git a/content/posts/removing-files-from-git-history.md b/content/posts/removing-files-from-git-history.md
deleted file mode 100644
index d093b61..0000000
--- a/content/posts/removing-files-from-git-history.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-title: "Removing Files from Git History"
-date: 2019-04-15T20:07:00+02:00
-draft: false
-categories: [git, development]
-tags: [git]
-url: /posts/removing-files-from-git-history/
----
-
-Today I did run again into an old problem:
-You need to archive a lot small and large files inside a single Git repository and you have no support for [Git LFS](https://git-lfs.github.com/) available.
-You did this several year and now you ended up in a state where cloning and working with the repository is unbearable slow.
-
-What now? Last time I did run into that, I archived the overfull repository to some "rest in peace" space and used `git filter-branch` to filter out no longer needed and too large objects from a repository copy that then will replace the old one for daily use.
-
-There are a lot of guides available how to use `git filter-branch` for that.
-All variants I ever used were complex to do and did take very long.
-Especially if you need several tries to get a sane set of stuff you want to remove to gain enough space savings.
-
-This time, I searched once more and stumbled on the [BFG Repo-Cleaner](https://rtyley.github.io/bfg-repo-cleaner/).
-And yes, it does what it promises on the web site and it seems to be trusted enough to be advertised by e.g. [GitHub](https://help.github.com/en/articles/removing-sensitive-data-from-a-repository), too.
-
-Just following the steps described on their [landing page](https://rtyley.github.io/bfg-repo-cleaner/) allows to shrink your stuff nicely and without a lot of round-trip time.
-
-If you still are just in the "experimenting" phase to see which space decrease one can archive with which file size filter (or which files you want to purge by removing them from master before running the tool), I recommend to swap the step
-
-{{< highlight bash >}}
-git reflog expire --expire=now --all && git gc --prune=now --aggressive
-{{< / highlight >}}
-
-with just
-
-{{< highlight bash >}}
-git reflog expire --expire=now --all && git gc --prune=now
-{{< / highlight >}}
-
-to not wait potential hours for the aggressive GC.
-For me that was good enough to get some estimate of the later size for my experiments before I settled to some final settings and did the real run.
-
-And as always, if you touch your Git history: **Do that only if you really need to, keep backups, check carefully that afterwards the repository is in some sensible state (`git fsck --strict` is your friend) and inform all people using that repository that they will need to do a full new clone.**
diff --git a/content/posts/webserver-transition.md b/content/posts/webserver-transition.md
deleted file mode 100644
index 5d6602b..0000000
--- a/content/posts/webserver-transition.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-title: "Web-Server Transition"
-date: 2019-04-08T23:59:00+02:00
-draft: false
-categories: [www]
-tags: [centos, apache, mariadb]
-url: /posts/webserver-transition/
----
-
-Several years the [kate-editor.org](https://kate-editor.org) & [cullmann.io](https://cullmann.io) pages got hosted on a [Hetzner](https://www.hetzner.de/) root server.
-To reduce costs and switch away from old hardware they got now moved to an [OpenVZ](https://openvz.org/) based virtual server at [Host Europe](https://www.hosteurope.de).
-
-On both servers [CentOS](https://centos.org) 7.x is running, it did always provide a stable foundation for the services these sites use.
-
-As with any server move in the past, I always need to search how to best move the data/config from one server to the other.
-To document this for me and others, here the quick way to move the basic things needed for web services using just plain [Apache](https://httpd.apache.org/) & [MariaDB](https://mariadb.org/).
-
-The following steps assume you have installed the same packages on both machines and the new machine is allowed to ssh as root to the old one.
-If you have non-system users, you should create them with the same ids as on the old server.
-
-For the following shell commands, the old server address is $SERV and the MariaDB root password is $PASS on both machines.
-Best use the raw IP as address if you are in parallel updating your DNS entries to avoid confusion (and wrong syncs).
-
-**Attention: Wrong syncing of stuff can have disastrous consequences! Check all commands again before executing them, don't trust random people like me without verification!**
-
-* sync your data, assuming it is in /home and /srv/(ftp/www)
-
-{{< highlight bash >}}
-rsync --delete -av root@$SERV:/home/ /home
-rsync --delete -av root@$SERV:/srv/ftp /srv
-rsync --delete -av root@$SERV:/srv/www /srv
-{{< / highlight >}}
-
-* transfer your databases
-
-{{< highlight bash >}}
-ssh root@$SERV "mysqldump -u root -p$PASS --all-databases > /root/db.sql"
-scp root@$SERV:/root/db.sql /root/
-mysql -u root -p$PASS < /root/db.sql
-{{< / highlight >}}
-
-* sync configs (you might need more, this is just apache & vsftp)
-
-{{< highlight bash >}}
-rsync --delete -av root@$SERV:/etc/httpd /etc
-rsync --delete -av root@$SERV:/etc/letsencrypt /etc
-rsync --delete -av root@$SERV:/etc/vsftpd /etc
-{{< / highlight >}}
-
-* get crontabs over for later re-use, store them in the root home
-
-{{< highlight bash >}}
-rsync --delete -av root@$SERV:/var/spool/cron /root
-{{< / highlight >}}
-
-Now all things should be there and after some service restarts e.g. [WordPress](https://wordpress.org/) powered pages should be up-and-running again.
-
-I hope this short how-to helps others and allows me to avoid searching stuff in the future once again from scratch.