musicmatzes blog

In the last few months, I was invited to join the nixos organization on github multiple times. I always rejected. Here's why.

Please notice

Please notice that I really try to write this down as constructive criticism. If any of this offends you in any way, please let me know and I'll rephrase the specific part of this article. I really do care about the nixos community, I've been a user of NixOS (on all my devices except phone) since mid 2014, I've been a contributor since January 2015 and I am continuing to be an user and an author of contributions.

I do think that Nix or even NixOS is the one true way how to deploy systems that need to be reproducible, even if that needs one to sacrifice certain comfort.

Context

Secondly, I need to provide some context from where I'm coming so the dear reader can understand my point of view in this article.

First of all, I did not start my journey with NixOS, of course. I was a late bloomer in regards to linux, in fact. I was introduced to Ubuntu by a friend of mine in 11th grade. I started to use Kubuntu, but only a few weeks later my friend noticed that I was getting better and better with the terminal, so maybe not even half a year later I switched to Archlinux, which I used on my desktops until I was introduced to NixOS. In that time, I learned how to write Java (which I do not do anymore btw), Ruby and C, started hacking a lot of funny things and managed to contribute patches to the linux kernel about two years later.

I'm not trying to show balls here! That last bit is important for this article, especially if you know how the kernel community works and how the development process of the kernel works. I guess you know where this is going.

I heard of NixOS in late 2014 at a conference in the black forest, where Joachim Schiele talked about it. A few months later, my latex setup broke from an update and I was frustrated enough by Archlinux to try something new.

I never looked back.

The “early days”

When I started using NixOS, Nix, the package manager, already existed for about ten years. Still, the community was small. When I went on the IRC channel or on the mailinglist, I could easily remember the nicknames and I was able to skim through the subjects of the mails on the list to see what was going on, eventhough I did not understand all of it.

That soon changed. I remember the 15.09 release when everyone was super excited and we were all “yeah, now we're beginning to fly” and so on. Fun times!

Problem 1: Commit access and development process

Now, lets get into the problems I have with the community and why I reject the invitations to join the github organization.

The problem

In fact, I started people asking and telling about this pretty early on: five(!) years ago, I started replying to an email thread with this message

Quote:

Generally, I think it would be best to prevent commit access as far as possible. Having more people to be able to commit to master results in many different opinions committing to master, which therefor results in discussions, eventually flamewars and everything.

Keeping commit access for only a few people does not mean that things get slower, no way!

[...]

What you maybe want, at least from my point of view, is staging branches. Some kind of a hierarchy of maintainers, as you have in the linux kernel. I fully understand that the linux kernel is a way more complex system as nixos/nixpkgs, no discussion here. But if you'd split up responsibilities, you may end up with

* A fast and secure development model, as people don't revert back and forth.

* Fewer “wars” because people disagree on things

* Less maintaining efforts, because the effort is basically split up in several small “problems”, which are faster to solve.

What I want to say is, basically, you want a well-defined and structured way of how to do things.

Also please note that there's another mail from Michael Raskin in that thread where we talked about 25 PRs for new packages. Right now we're at about 1.8k open pull requests, with over 580 of them for new packages.

I take that as proof that we did not manage to sharpen and improve the process.

Lets get to the point. I started telling people that the development process we had back then was not optimal. In fact, I saw it coming: The community started to grow at an great pace back then and soon I talked to people on IRC and Mailinglist where I was like “Who the hell is this, I've never seen this name before and they seem not to be new, because they already know how things work and teach me...“.

The community grew and grew, over 4500 stars on github (if that measures anything), over 4500 forks on github.

When we reached 1k open pull requests, some people started noticing that we might not be able to scale anymore at some point. “How could we possibly manage that amount of pull requests ever?“.

Now we're at about 1.8k open pull requests.

I proposed changes several times, including moving away from github, which does IMO not scale to that amount of issues and PRs, especially because of its centralized structure and because of its linear discussions.

I proposed switching to kernel-style mailinglist. I was rejected with “We do not have enough people for that kind of development model”. I suspect that people did not understand what I meant by “kernel-style” back then (nor do I think they understand now). But I'm sure, now more than ever, that a switch to a mailinglist-based development model, with enough automation in place for CI and static analysis of patches would have had the best possible impact for the community. Even if that'd mean that newcomers would be a bit thrown-off at first!

The current state of affairs is even worse. Right now (as of this commit) , we have

  • 1541 merges on master since 2020-01-01
  • 1601 patches pushed directly to master since 2020-01-01

Feel free to reproduce these numbers with

$ git log --oneline --first-parent --since 2020-01-01 --[no-]merges | wc -l

That means that we had 1601 possibly breaking patches pushed by someone who things they are good enough and that their code never breaks. I'll leave it to the dear reader to google why pushing to master is a bad idea in a more-than-one-person-project.

Another thing that sticks out to me is this:

$ git log  --first-parent --since 2020-01-01 --merges | \
    grep "^Author" |    \
    sort -u |           \
    wc -l
74

74! 74 people have access to the master branch and can break it. I do not allege incompetence to any of these people, but we all know that not always everything works as smoothly as we expected, especially in software development. People are tired sometimes, people do make mistakes, people do miss things when reviewing things. That's why we invented continuous integration in the first place! That some thing can check whether the human part of the process did the right thing and report back if they didn't.

The solution

My dream-scenario would be that nobody would have access to master except for a bot like bors (or something equivalent for the Nix communiy). The rust communit, which uses bors heavily does software develoment the right way. If all checks pass, merging is done automatically. If not, the bot finds the breaking change by using a clever bisecting algorithm and merges all other (non-breaking) changes.

In fact, I would go further and introduce teams. Each team would be responsible for one task in the community. For example there's different packaging ecosystems within the nixpkgs repository, one for every language. Each language could get a team of 3 to 5 members that coordinate the patches that come in (from normal contributors) and apply them to a <language>-staging branch. That branch would be merged on a regular basis (like... every week) to master, if all tests/builds succeed (just like the kernel community does it)!

A team could also be introduced for some subsets of packages... Qt packages, server software, but also nixpkgs-libs or even documentation (which is another subject on itself).

Problem 2: “Kill the Wiki”

In 2015, at the nixcon in Berlin, we had this moment with “Kill the Wiki”. As far as I remember it was Rok who said that (not sure though). I was not a fan back then, and I'm actually even less a fan of that decision now.

Killing the wiki was the worst thing we could do documentation-wise. Everytime I tell people about nixos, I have to tell them that there is no decent documentation around. There is, of course, the documentation that is generated from the repository. That one is okay for the initial setup, but it is more than far away from being a good resource if you just want to look up how some things are done.

The nixos.wiki efforts fill the gap here a bit, sure. But we could really do better.

The solution would be rather simple: Bring back a wiki software, even if we start from scratch here or “just” merge the efforts from nixos.wiki – or make that one the official one – it would be an improvement all the way!

Problem 3: “Kill the mailinglist”

Certainly, what does this community have with killing their own infrastructure? They killed the wiki, they killed the mailinglist... both things that are really valuable... but github is the one thing that actually slows us down ... and does not get killed... I am stunned, really.

The solution here is also really simple: Bring it back. And not googlegroups or some other shitty provider, just host a mailman and create a few mailinglists... like the kernel.

I hope I do not have to write down the benefits here because the reader should be aware of them already. But for short:

  • Threaded discussions (I can reply multiple times to one message, quote parts and reply to each part individually, creating a tree-style discussion where each branch focuses on one point)
  • Asyncronous discussions (I can reply to a message in the middle of a thread rather than appending)
  • Possibility to work offline (yeah, even in our age this is important)
  • User can choose their interface (I like to use mutt, even on my mobile if possible. Web UIs suck)

I am aware that the “replacement” (which it really isn't) discourd is capable of going into mailinglist-mode. Ask me how great that is compared to a real mailinglist!

It is not.

The silver lining...

This article is a rather negative one, I know that. I do not like to close words with that negative feeling.

In fact, we got the RFC process, which we did not have when I started using nixos. We have the Borg bot, which helps a bit and is a great effort. So, we're in the process of improving things.

I'm still positive that, at some point, we improve the rate of improvements as well and get to a point where we can scale up to the numbers of contributors we currently have, or even more.

Because right now, we can't.

Errata

I did make some mistakes here and I want to thank everyone for telling me.

Numbers

Some nice folks on the nixos IRC/matrix channel suggested that my numbers for PRs vs. pushes to master were wrong, as githubs squash-and-merge feature is enabled on the github repository for nixpkgs.

It seems that about 4700 PRs were merged since 2020-01-01. This does proof my numbers wrong. Fact is: on my master branch of the nixpkgs github repository, there are 3142 commits. It seems that not all pull-requests were to master, which is of course true because PRs can and are filed against the staging branch of nixpkgs and also the stable branches.

Github does not offer a way to query PRs that are filed against a certain branch (at least not in the web UI), as far as I see.

So let's do some more fine-granular analysis on the commits I see on master:

git log --oneline --first-parent --since 2020-01-01 | \
    grep -v "Merge pull request" | \
    wc -l
1650

As github does create a commit message for the merge, we can grep that away and see what the result is. I am assuming here that nobody ever changes the default merge commit message, which might not be entirely true. I assume, though, that it happens not that often.

So we have 3142 commits from which are 1650 not github-branch-merges.

From time to time, master gets merged into staging and the other way round:

  • 20 merges from master to staging
  • 5 merges from staging to master

That leaves us at 1625 commits where the patch landed directly on master. How many of these patches were submitted via a pull request is not that easy to evaluate. One could write a crawler that finds the patches on github and checks whether they appear in a PR... but honestly, my point still holds true: If only one breaking patch lands on master per week, that results in enough slow-down and pain for the development process.

The inconsistency in the process is the real problem, having a mechanism that handles and schedules CI jobs and merges and a clear merge-window for per-topic changesets from team-maintained branches would give the community some structure. New contributors could be guided more easily as they would have a counterpart to contact for topic-specific questions and negotiations wouldn't be between people anymore but between teams, which would also give the whole community some structure and would also clearify responsibilities.

tags: #nixos #community

The call for blogs was just issues a few days ago – and here I am writing about my biggest pains this year... because that's what the call for blogs basically is for me... I write down my pains with Rust and hope things get better slowly next year.

Don't misunderstand what I want to say here though: Rust is awesome, has an awesome community, awesome tooling, awesome everything... well not completely (because otherwise I wouldn't have to write this article, right?), but almost.

Pain #0: Libraries

Pain Number Zero (because that's where computer programmers start to count) is the library ecosystem. “What?” you say? “Rust is known for a really good library ecosystem although the language is not even five years old (counting from 1.0.0)“, you might say! And of course you're right... but not in my domain, unfortunately.

Rust has excellent libraries for developing web services backend as well as backend, gaming engines and games and of course microcontroller stuff. But these are not my domains. My domain is commandline user stuff. My domain might become TUI applications or even GUI applications in the future. My domain is data formats, especially icalendar and vcard, because I write journal applications, calendar applications, contact management stuff, todo applications and diary tooling and even Email processing/handling stuff and possibly even a CLI/TUI mail reader – of course I'm talking about imag here, the text-based, commandline personal information management suite I'm developing over four years now.

The tooling in this domain is not nonexistent, no way! But, despite the efforts some people in this awesome community started, the number and especially the quality of those libraries is nowhere as satisfying as the support for other domains. No offense to the libraries authors of course! It is not their fault at all. It is just that only a few people have started initiatives in this direction yet. I try to contribute! I am actually working on a libical high-level frontend which I started to extract from khaleesi, a work by two wonderful people which includes a wrapper around libical and libical-sys that I started to extract into a library crate.

But there could be so much more and better support for these things! I can only do so much. So I call out: Help developing libraries for these standards! Especially help developing high-level Rust libraries for these things, because handling mime as a way to work with emails is just the beginning. Parsing mail into something that can be worked with on a high level in Rust would be a wonderful goal for 2020. And of course all the other domains!

I remember from my days with Ruby that code could be written at a high level when working with mail and other such formats. Lets have that in Rust!

Lets have world-class support for handling data formats at a high level, so we can write “Speaking code” like it would be plaintext.

Pain #1 – CLI

My next pain are frontends. What I mean by that is CLI, TUI and GUI frontends, not WUI (web user interface) frontends. But I'll break this down into several sections here, so let's talk about CLI first...

One thing here is of course the wonderful clap crate. Lets make clap v3.0 happen next year! It would be a huge step forward!

But this is only one minor pain point, because clap is already a wonderful thing. Lets also make the interactive commandline user interface story better!

I remember that the people from the Node community have commandline applications that you can use interactively that just amaze me because they are so comfy to use (and I'm not even talking about TUI applications here, just interactive CLI apps)! I think we can have this in Rust!

Lets have the best libraries to implement interactive commandline applications!

Pain #2 – TUI

TUI is the next thing i want to point out. Short disclaimer though: I never wrote a TUI app, but I certainly plan to do so. Maybe not in 2020 but after that, imag should get a TUI interface at some point. And for that, of course, I would love to have a headache after thinking about which library or framework to chose.

Right now, there's cursive – and holy swearword this thing looks amazing! But there could be so much more, still! Of course there are already a few extension crates out there:

(btw: @deinstapel you're a hero – they implemented half of the crates above!)

But I bet there could be more... I could think of an embedded terminal for cursive, I can think of an editor-view for embedding vim or another TUI editor into a cursive application, I could think of an editor-like view embedding the Xi editor...

Lets make Rust the go-to choice for writing TUI applications!

Pain #3 – GUI

And of course, the GUI domain. I could write up a long text here, or just point you to other Rust-2020 articles that expand on the topic... but I don't. Why? Because I never implemented a GUI application, I don't see myself implementing one in the near (or even far) future (at least not for imag) and so I don't take the liberty to reiterate what others said more eloquently: The Rust ecosystem for writing GUI applications is not good.

Lets improve our GUI-writing experience!

Summary

All in all, I hope that 2020 will be the year of the Rust Language as application language. We have an awesome tooling and frameworks available for web stuff, the game-domain is expanding constantly and low-level programming is possible and done out there all the time.

Writing applications in Rust is not yet as awesome as it could be, though. So my hopes, dreams and wishes are...

Lets make Rusts high-level application writing experience the best out there!

tags: #rust

This will be a short article.

I did it. I switched to wayland. On my new device, which was installed with nixos 19.03 (which came out just a few days ago), I just switched away from X and i3 to wayland and sway.

And everything just works. How awesome is that?

tags: #nixos #wayland

This is a reply to the article published by Drew DeVault called “Rust is not a good C replacement”.


First of all, let me say that Drew is one of the people out there on the internet whose opinions I highly value. Indeed he is one of the people I try to read and listen to regardless of topic, because I think he is one of the people that deserve unconditional attention.

Needless to say that I've also read his latest piece “Rust is not a good C replacement”. I have to admit I was shocked at first, but after a bit of cooling down (and doing the dishes), I can see where this comes from.

And I have to disagree.

But let me start with my background – because that might be important for you, dear reader, to classify this article.

My background is mostly hobbyist programming. I did a few years of C, probably a few 100kloc, not more. I also do rust since about Rust 1.5.0 (2015-12). I started a job where I expect to write C and C++ professionally about 1 month ago.

So, I do not have a background like Drew with probably millions of lines of C, but I guess that I have a bit more experience with Rust – I wouldn't say that I'm a Rust professional, but I would consider myself a “Advanced Rust Hobbyist”.

I'm also not as skilled in writing blog articles or even with the english language, so keep that in mind when reading this.


I am not a big fan of statement-by-statement replying to an article, but I guess for this type of article it is good enough.

First of all, Drews initial statement that Rust was designed by C++ programmers: Yes, I absolutely see that this is true. Nevertheless I have to say that these C++ programmers started developing Rust because C++ was too complex and too error-prone in what it did and how it did it. Rust is far away from the complexity C++ gives us in terms of language features! From the top of my head, we have

  • A full-blown OOP programming paradigm, including
    • Overloading
    • “friends”
    • (multi-)inheritance
    • abstract classes
    • partly and fully virtual functions
    • pointers and references
    • implicit conversions
    • Copy/Move constructors
    • Dynamic and static polymorphism
  • Manual memory management
  • Template Metaprogramming / Generic programming
  • operator overloading
  • Lambda expressions
  • Exceptions

in C++, whereas in Rust we only get

  • Dynamic and static polymorphism
  • operator overloading
  • Lambda expressions
  • Generic programming[^1]

([^2])

You might consider this list cheated as Rust is not an object oriented language like C++, but an imperative one like C. That is very true. Nevertheless it is one reason why the cognitive load a C++-Program requires one to handle is much higher than an equivalent (as in features of the program) Rust program!

Drew claims that the values of C and C++ programmers are incompatible and I would agree with that. But that does not (have to) mean that a C-programmer and a Rust programmer do not have the same values. It is true, though, that Rust can excel at a lot of topics that C++ covers, but it also empower programmers that do not feel comfortable writing good C code to write their software. And that in a safe and at the same time performant language while not being overly blown up.

Further Drew compares C, C++, Go and Rust by their complexity, measured with features introduced in the language over the years. I am really sorry to say this here, Drew, but we are used to much better from you! You say that this approach (bullet points/features listed on wikipedia vs. bullet points in articles and release notes) is not very scientific, yes. But not even to mention the years these languages were released! For the record:

I am not saying that this disproves your statement – it even supports it! But I do say that comparing based on features per year/release/whatever must include a statement about how old these languages are, even if it is just for showing the reader about what timeframe we are talking.

So, Rust is a relatively young language and yes, it has added a lot of features and therefore can be compared to C++ much better than it can be to C. But saying that a 10-year-old C programm might even compile today and everything might be okay but not so much with Rust is just ignorant of the fact that Rust is not even that old. Having a Rust program that is one year old still compiles fine today (assuming it didn't use a compiler bug) and does not “look old” at all! Rust has a big infrastructure for doing regression tests and for being compatible with older programs.

As you say, out of the way with the philosophical stuff and lets get down to the facts.

C is more portable. But as mentioned before, C is almost six times as old as Rust. We'll get there!

C has a spec. Yes, and I completely hear you on this one. Rust does not (yet?) have a spec and it really is a pain-point. I want one, too! Maybe we'll get there at some point. By the way: Does Go have a spec? It seems like it, but that rather looks like a language definition and I doubt that this is what Drew meant when talking about “a spec”, is it?

C has many implementations. Yes and how much trouble has it been because different compilers do different things on undefined behaviour? Too many. This is where Rust tries to solve a problem: Get a language where undefined behaviour is not allowed or at least as minimal as possible, then we can have a spec for that language and then we can have different implementations. Time will tell whether we can get there.

C has a consistent & stable ABI. Point taken. I do not argue about that.

Cargo is mandatory. Yes, another point taken. I again do not argue.

Concurrency is generally a bad thing. This statement gives me the impression that you did not yet try Rust, actually. Like in a big (and possibly multithreaded/concurrent/parallel/whateveryoucallit) environment. You say that most software does not have to be parallel and I fully agree on that – but if you need to be parallel, I'd rather chose Rust over Go, C or C++. Having the safety guarantees Rust gives me allows normal people (and not Rockstar-programmers) to write software that can be massively parallel without having to fear about deadlocks and other ugly things you get with other languages.

It is still true that bad design decisions are possible and might result in bad software – but that is true for every language, isn't it? And I'd rather like to have a bad program that gets the job done because it can be statically verified that it does than a program that crashes because I ran into a bug that was introduced by bad design decisions.

The next paragraph Drew writes makes me really, really sad. Fullquote:

Safety. Yes, Rust is more safe. I don’t really care. In light of all of these problems, I’ll take my segfaults and buffer overflows. I especially refuse to “rewrite it in Rust” – because no matter what, rewriting an entire program from scratch is always going to introduce more bugs than maintaining the C program ever would. I don’t care what language you rewrite it in.

This gives me the impression that Drew was hit with “Just rewrite it” too many times. And I completely agree with you, Drew, that you should indeed not rewrite it in Rust just for the sake. Nobody should ever rewrite anything in any other language than what “it” currently is written in. I hate these people that actually say things like that (if it isn't for trolling, but I have the uneasy feeling that Drew was hit with real “Just rewrite it”ers and not just trolling).

I do not say that the points Drew shows are false.

What I do say is that the initial assumption that Rust is there to replace C or C++ is, in my opinion, false. It is certainly meant to get things right that C++ got wrong – and it is certainly there to replace the C++-Monster that we call Gecko, because Mozilla is exactly trying to do that! But it is not there to replace all C or C++ code ever written because of some stupid “Hey we can do X better than your language” bullshit!

Also, the statement that Rust might end up as Kitchen-Sink like C++ and die with feature-bloat is one that concerns me because I do not want Rust to end up like C++. It certainly is not as complex as C++ and we (as in “the Rust community”) have a lot of work to do to not end up with feature-creep – but we are also certainly not there yet. But I definitively see where this statement is coming from.

The title of this article is “Rust is one of the best C replacements we currently have” – and I stand by this. But I also think that it is false to say that anyone has to replace C or that Rust is necessarily there to do so.

There are domains where you might want to rewrite C code, if you have the time and resources. But I'd rather advice against it[^3]. Improving existing code is always easier than a rewrite of a program and rewriting software does not improve the value of the software or even make customers more happy. Rewriting software is IMHO only legit in two cases:

  • It makes you happy because you're doing it for fun
  • It makes your boss happy because he ordered you to do so (for whatever reasons, may it be speed, resource usage, customer request or whatever)

But just for the sake of it? Nah.

I see where Drews article comes from and I see why he thinks like he does. I greatly value his opinion and thoughts, and that's why I took the time to write this article.

I see that we (as in “the Rust community”) have a lot to do to make more people happy. Not as in making them Rust programmers, because that's not our goal, but as in showing them that we do not want everything to be written in Rust and that it is just trolls that request a “rewrite in Rust”.

We do value friendlyness and kindness – let me state explicitely that this does also include other programming-language-communities (and all other communities as well)!

Trolling does not help with that.

[^1]: Yes we have generic programming in Rust. I'm not a professional regarding C++, so I cannot say whether they are comparable in this regard. [^2]: Some might say that we have manual memory management in Rust as well. That might be true by definition, but not the way I meant it: In C++ we can allocate something on the heap and then forget it. We have to try really hard to do that in Rust, though! [^3]: In fact I might get into the situation where I have to rewrite an application in my job, but I'd rather rewrite it in the same language than switching languages just for the sake of it!

tags: #open-source #programming #rust #c #c++ #cpp

This is the third article on the United States in this series.

When I came back from Germany and arrived in Las Vegas, the border stuff was rather relaxed. I declared the 6 pieces of chocolate and told the lady that I will be traveling for about two weeks in the US and then go to Mexico – she was very friendly and told me that I get a new VISA permit because I was a significant time out of the country (about 6 to 7 weeks). So I got a new permit, this time a new electronic one, which might become difficult at the border when leaving because I somehow have to “de-register”, right? Lets see how that works out.

After two nice days in Las Vegas with my parents, where we visited the Strip, ate at the Mirage All You can Eat Buffet and had a bit of family-time together, my dad and I brought my mum to the airport and she left the States and went back home to Germany. My dad and I left Las Vegas one day after that.

Lake Mead

Our first stop was in the Valley of Fire near Lake Mead where we stayed one night and visited the awesome and colourful area there. We did two little hikes and I really enjoyed the good weather. Albeit cold, it was sunny and we had blue sky – nothing you can expect in Germany in this time of the year!

The next day we drove to Lake Mead and met two other travelers – the “Bodensee Overlander” – finally! We always joked because they were in Labrador for ... like forever, and we always guessed that they must have been dead-by-freezing already! But hey, they are not! They have adopted a very friendly Husky (Tuco) and are a really friendly couple. The other travelers we met there were from the Netherlands, also a very friendly couple with a nice dog. We shared a good conversation and an awesome place above Lake Mead with a wonderful view.

Mojave and Joshua Tree National Park

The next day we drove south. After all, Mexico is our destination, right? So we drove towards Mojave Desert and stayed the night on the “Hole in the Wall” Road on a really nice, “off-roady”, lonely and in the night rather cold place with a fantastic view over the desert.

We hiked near a already closed Visitor Center through the rocks and headed forward to Interstate 40 where we drove West and re-entered the Mojave to spend the night near the Kelso Dunes. We did not hike the Dunes, though, but had a nice afternoon and evening – even with a little campfire (the first since we entered the US) – on a nice and quiet place there.

Twentynine Palms is a City in the Desert where we entered Joshua Tree National Park and did a drive-through (two times). In the afternoon, we stayed on BLM Land near Twentynine Palms (three nights) where we met friends that we had not seen since Dawson City, Yukon, Canada. We also met two couples from Switzerland there and had a wonderful time and even some “relaxing” was allowed!

On our second day we did another drive-through of the Park (the second one) and on the third day we left. We drove through the park (yes, a third time), but this time left through the south-entrance and stayed another night on BLM Land on the southside of the park.

Salton Sea and Slab City

After filling our Propane Tank in Indio, we went south to the Salton Sea. This was the first time (and probably the last time) where I changed from Jeans into Shorts in November!

Slab City and the Salvation Mountain – who does not know it (and really, if you don't – look it up!)? Probably the most famous settlement in the United States. We stayed in Slab City and met Peter, a guy from Minnesota, whom we shared a nice conversation with. He told us about his Land Rover and how the Salton Sea was created (not by mankind, though).

The Salvation Mountain was a really spectacular place to visit, as was Slab City. I've never seen so much Trash near the roads, ever. I guess we're heading for Mexico now, so that might change, but this is the US, a “developed country”, right? Still, people basically lived in Trash there. Well, I cannot change that, ... so I can only learn from it for myself.

The next day we drove to the south of the Salton Sea where we visited the Salton Sea National Wildlife Refuge and tried our luck with Bird-watching. We saw a few hundred Geese and some other Birds I cannot name, but our Lenses were not advanced enough to take nice pictures, I guess. We spend the night on the beach of the Salton Sea on a really lonely spot where we even had another Campfire.

From end of September until mid of November, I was at home in Germany to apply for my future job and to fix some things at my parents house as well as to relax for a bit. After all, traveling is not vacation!

The first days

The first days in Germany were strange. Everything seemd so unreal. Also, everything was so small all of a sudden. Strange! Plus, I had a pretty bad jetlag. The day after I arrived, I had to bring my mum to the train station in Stuttgart, because she went to Las Vegas to meet my dad there and spend six weeks in the states with him. So I had to get up really early. At 4 AM! After that, my biorhythmus was killed completely and it took me seven days to get to a point where I did not get hungry at strange times and was not tired all day long.

Home, sweet home

I (re)started playing table tennis rather soon, started eating all the nice things one can get in Europe, cooked for myself of course, met friends and had a good time in Germany.

I had to repair some things in the house, book some flights – back to LV for me, from Mexico to Germany in February 2019 when my journey ends as well as a flight for my dad mid 2019 when his part of the journey ends.

Saying goodbye to Germany

On November 13th I had to say goodbye again, because I flew back to the States, to Las Vegas. I met my parents there and my mum will go home on 15th.

My dad and I will then continue the trip to see the south of the States and, rather soon, leave the states to Mexico.

Saying goodbye to the cat was the most tearful event, as well as saying goodbye to my bed. I miss it.

This is the second article on the United States and the 9th article in this series.

Fun at the border

We drove from Canada to the USA via the road from Abbotsford south. This was our 9th crossing of a border in the whole trip, the 4th into the United States. So we were rather used to how things are and what happens when crossing a border. Or so we thought.

The first three times when coming into the United States (St. Saint Marie, Top-of-the-World-Highway, Haines) we were asked for Vegetables, Weapons, how long we would stay, where we would go, what our professions are (only in St. Saint Marie) and such things. So we figured that it would be probably the same here.

But they Gentlemen in Abbotsford did not care about Weapons, Vegetables or anything like that. He was only: “WHAT? A Germany CAR?” ... and asked for proof that this car was in fact ours, that we do not want to sell it and all those things.

We were completely confused.

Why did someone care about the car all of a sudden? Where did this came from? Thankfully, he led us through (after we swore to him that we do not want to sell it in the US – we would never even dream of selling this car) and continue our journey.

Seattle

On the next few days we drove straight to Seattle, because we wanted to visit some friends in the south of Seattle (Auburn). We stayed four days at there place and they gave us a warm welcome – thank you Steve and Cindy! We also met their daughter, her Husband and their kids and had a full day of conversations about how things are different in our country and what's typical for an American family and all those things – I talked a lot of english and I guess my english has improved a lot during these four days!

On Monday, we visited Northern Seattle because we had an appointment at a Garage for doing some maintenance on our car. Oil change, checking some things, changing tires... such things.

It worked out really well, the tire shop did an awesome, fast and professional job – even compared to German standards – and surely MUCH faster than it would have been done in Germany. They changed four tires, flipped two on the rim and adjusted everything in just 30 minutes! Awesome and not possible in Germany in such a short time!

The garage, which was a landrover specialist, did an awesome and really professional job as well. Thank you so much, Gord'n! We were really satisfied with your work!

Now the car was in a good shape and the journey could continue.

Mount Rainier and Mount St. Helens

Our first stop on the day after was Mount Rainier. Mount Rainier is the nations fifth-oldest national park. Mount Rainier itself is a almost 4400 meters high mountain which is – on a good day – even visible from Seattle. We had to visit that place of course!

We had an almost-7-hours hike with awesome view over the glacier(s) from the White River Campground (where we stayed for two nights) to Sunrise and around the area. The view was amazing and I was able to take some really nice photos not only during the hike but also from the campground.

Mount St. Helens was also really nice. The overlook from the Johnson Ridge Observatory was cloudy, but still beautiful. We stayed there for a couple of hours until the clouds went away and we were able to take awesome pictures of Mount St. Helens. The information material at the Observatory was also really good and kept us busy until the sight cleared up. On the day after that we drove around Mount St. Helens and went uptp the Windy Ridge where we also did a little (2 hours) hike. The view from there was almost better than from the Observatory!

After our stay at Helens, we wanted to visit the Dunes near Tillamook, called “Sand Lake”. We were not surprised when we heard loud noises near the campground we selected for that night, but after just one hour we were so annoyed that we left: People driving with their ATVs over the dunes!

The car dies and Oregon Coast

In Lincoln City our Landrover died at a crossing. Bummer. Luckily, we were able to fix it quickly on a nearby parking lot.

Then we drove the Oregon Coast south. The Coast! Finally! No more trees! Or so... I hoped. The coast was nice, albeit cold and dusty/cloudy. We did nice walks on the beach anyways and enjoyed 3 great days on the coast.

We saw whales and maybe even Sea Lions (not sure though). The whales were amazing to see – not only because we saw them right away after we parked at the coast (so no waiting like with the Bears in Hyder), but also because they are such beautiful and majestic animals!

Crater Lake, Lava Beds and Lassen Volcanic National Park

We visited crater lake – one of the clearest lakes in the world – on a smokey day. Not too bad, though still not optimal. The lake was beautiful though and we also did a little hike around it (not all the way, just for about one and a half hour). We met Thomas and Andrea from Germany which are on the road on and of for years and found a nice place, had a nice dinner and a really nice conversation with them. They left into the direction of Kansas City on the next morning and we continued south to California.

On the boarder we gave Lada Beds National Monument a drive through. We also tried to see one of the really nice “Lava Tube” caves there, but it was a sunny day and inside the caves it was rather chilly, so we decided to only see two of them for a few minutes, to get a general impression, and then go on. We also met a really nice couple from San Francisco there and had a nice conversation about differences and similarities between Germans and US citizens during our hike through a little trail in the Lava Beds.

Lassen Volcanic National Park was also really nice, not only because of the great view we had (almost no more smoke) and the nice hike up the Cinder Cone (wow – it was really hard to get up there) where we took really great pictures of the landscape around us. Later that day we saw the hot mud tubs in Lassen which were quite impressive - not as impressive as Yellowstone, but still amazing and even bigger than the mud tubs we saw in Iceland!

After Lassen we wanted to drive south, to Reno – because Gas and possibly also everything else is really expensive in California, so we figured we rather drive to Nevada and try our luck there and later come back to California. Our general route permits this luckily. We picked a nice lake from “iOverlander” (a nice app for travelers) and started driving. Unfortunately, we had to drive 18km hard off-road with sometimes not even 4km/h uphill and through the forest to get there. So we decided to stay two nights there instead of repeating that trip on the very next day. Taylor Lake – we will remember you!

Yosemite, Alabama Hills and Death Valley

What would you write about Yosemite National Park after having seen so much of this continent? What can you actually write? After weeks and weeks of awesome landscapes, great people and a lot of pictures taken?

Or so I thought. But now, writing this article, I cannot say it loud enough: Yosemite is the best National Park I've been to, ever. Finally getting to see all those awesome desktop wallpapers, the Half Dome, the El Capitan, Yosemite Valley ...

I cannot describe the awesomeness and the nature I saw there.

After visiting Yosemite, we stayed a couple of days in the Alabama Hills and enjoyed the awesome (almost too hot) weather there. The nights were especially awesome because one could see the Milky Way – despite full moon! I eternalized the awesome night with my mediocre photography skills.

After visiting Death Valley, we drove, with a few days break in the middle of nowhere, to...

Las Vegas

Well, Vegas, baby! No, not really. I only stayed one evening and my flight back “home” (what is that, really?) to Germany. We stayed in a nice hotel and had dinner in the Mirage all you can eat buffet, which was really good. But besides that, I enjoyed Las Vegas not that much. Well, the water-shows are great and the city is definitively worth a visit, but overall I enjoyed the nature of the States much more than the Cities, especially concerning Vegas.

This is the third article on Canada. But before we start with Canada, I have to include Alaska here. I recon that Alaska is not Canada, but as we were only two days in Alaska, I include it here.

Alaska and through Yukon (again)

We entered Alaska via the Top of the World Highway.

On our second day we gave the city of Tok a short visit, mainly for getting some Wifi at the local Visitors Information Center and buy some stuff at the Store. After that we started heading south back to the border again.

The drive through Yukon back south was rather uneventful. The weather was good, the street was good. Nothing more to say really.

Haines Junction to Haines and back again

The drive from Haines Junction to Haines was one of the most beautiful drives besides the Top of the World Highway. Weather was awesome, the landscape was scenic, the places we stayed for the night were awesome (even the night next to the road near Haines was okay) – everything was good (except gas prices in Haines).

We stayed two (more “two half”) days in Haines and had luck seeing Eagles and Grizzly bears (actually we saw a Grizzly rather close – 15 meters maybe – too close for my tastes, but we were inside the car at that time) and were able to take some awesome pictures.

On the drive back to Haines Junction. I made a 1 hour driving movie with our dashcam – hopefully I can use that material for a digital picture frame when I'm back home. I have a spare tablet and it would be really nice if I could re-purpose it into something more useful than a dust-catcher, really!

To Whitehorse and back to British Columbia

On August 6th we left Yukon. We've seen a lot of it (but still feel like we've seen none of it) and it was awesome. Weather was really good (well, from Faro until August 6th), but now we have to head south. We want to arrive in Seattle by end of August because we have only four weeks after that to drive to Las Vegas. We really hope that we still have time to stay more than one night at a location every now and then, because driving 500km straight is tiresome!

But now, back on topic.

Our three days in Whitehorse were rather stressy. We went shopping, looked for tire service and oil change and also visited the SS Klondike, the Miles Canyon and some other places. The big city Whitehorse is (at least after spending 4 weeks in “the backcountry” where almost no people live) gave us a hard time relaxing-wise. At least the weather was okay, rather windy though.

After three days we drove down south to Carcross, which is a really nice place to be and the General Store there was really worth a visit – not because you can buy things there but rather because it was like a memory from forgotten times.

Steward and Hyder, Bear watching and Salmon Glacier

We arrived in Steward on a rainy day. Or rather: On a stormy day, because it was raining like crazy. So we stayed one day in our vehicle and relaxed. On the next day, though, we went to Hyder, Alaska, and did some Bear-watching. Or rather some Fish-watching, because there was no bear there. We waited for three hours in the early moring. Nothing.

Then we drove up to the Salmon Glacier and enjoyed the more-than-awesome view from up there.

After that we did some more fish-watching for about one and a half hour, still no bears. We drove back to Hyder and had dinner near the coast. Then, because what could we lose, we drove to the bear watching area again and waited for two more hours. Nothing.

So we left. We were on our way to the parking lot when I heard someone say something like “Bear!”. So we went back, and there it was: A black Grizzly, fishing in the lake. I took over two hundret pictures within half an hour. Awesome!

Highway to Hell

After two days in Steward and Hyder, we started our way to the south. And then we saw our first Wildfire-Smoke. We didn't see the wildfire, though. It got better until Hazleton and we had a nice evening at the lake and a good night near South Hazleton. The day after we drove to Burns lake, which was suggested by some nice guys from Germany we met a few days before. We had two really nice days at a campside in Burns lake.

Although, on the other side of the lake there was smoke. The day we left was bad. We got into wildfire-smoke rather fast while driving south. And it got worse.

It turned out that this was only the beginning.

We drove to Prince George, then further south and to Bakerville the day after. Bakerville, a nice Museum-Town, was really worth a visit. The smoke created a wildwest-feeling which was ... kinda nice, actually!

But because of the wildfire, we did not continue on that road to Likely, but turned around back to the highway and drove to Williams Lake. We took a backcountry-road from there, stayed at a lake near Dog Lake and Big Bar Lake - still smoke, though.

On the next day we continued because the smoke got worse. We met two germans we have met before, had a coffee in a nice bakery in Lilooet with them and spent a nice evening on a free campside near Lilooet with them.

On the next day – smoke worse. So we continued (again) to Pemperton where we had another really nice coffee in a nice bakery with them and then we left to Lilooet Lake where we finally got our “brake-day”. We stayed two nights at the lake, had a good view and a nice and quiet campground there – despite a little smoky conditions and a really bad “forest access road”.

The day after we drove to Squamish and stayed near the Wind-Surfing-place where we met nice (and high) people and had a nice night there.

Still: All this driving...

Finally, on August 21., we drove to Vancouver. We visited the City and the “Vanaqua” – a really nice Aquarium, which was really worth the visit (and the money) because they have a really nice collection there. We even saw a Linux!

We stayed in the City (on a free overnight parking place) during the night and continued to Abbotsford where we visited the Pool and then continued to the states.

But that's another story and will be told in the next blog post in this series. Heads up: The “everyday-driving-story” ends, because the next days were eventful and there was less driving... stay tuned!

{{< gallery >}} {{< figure link=“/america/canada/P1070097.JPG” hover-effect=“grow” caption=“Welcome to Alaksa!” >}}

{{< figure link=“/america/canada/P1070110.JPG” hover-effect=“grow” caption=“Bear watching impressions: Foggy moring!” >}}

{{< figure link=“/america/canada/P1070113.JPG” hover-effect=“grow” caption=“Bear watching impressions: Sunny day!” >}}

{{< figure link=“/america/canada/P1070126.JPG” hover-effect=“grow” caption=“Wildlife: Foxy Fox” >}}

{{< figure link=“/america/canada/P1070153.JPG” hover-effect=“grow” caption=“Bear near the road” >}}

{{< figure link=“/america/canada/P1070167.JPG” hover-effect=“grow” caption=“Rainy day Glacier near Steward” >}}

{{< figure link=“/america/canada/P1070174.JPG” hover-effect=“grow” caption=“Salmon instead of Bears” >}}

{{< figure link=“/america/canada/P1070213.JPG” hover-effect=“grow” caption=“Salmon Glacier” >}}

{{< figure link=“/america/canada/P1070367.JPG” hover-effect=“grow” caption=“Finally: Bear!” >}}

{{< figure link=“/america/canada/P1070396.JPG” hover-effect=“grow” caption=“Catching a Salmon” >}}

{{< figure link=“/america/canada/P1070448.JPG” hover-effect=“grow” caption=“...and looking for more” >}}

{{< figure link=“/america/canada/P1070488.JPG” hover-effect=“grow” caption=“Bakerville – pure Wild West!” >}}

{{< figure link=“/america/canada/P1070501.JPG” hover-effect=“grow” caption=“Bakerville” >}}

{{< figure link=“/america/canada/P1070505.JPG” hover-effect=“grow” caption=“Wildfire!” >}}

{{< figure link=“/america/canada/P1070510.JPG” hover-effect=“grow” caption=“Can you see the lake?” >}}

{{< gallery />}} {{< load-photoswipe >}}

This is the second article on Canada.

We entered Canada again on June 24th. Unfortunately, that was when some rather bad weather period began for us. We had rainly-cold weather for several days and our mood got worse each day.

Nelson, Highway 6 and Kootenay lake

We gave Nelson a visit, mostly for shopping – real sausage, proper bread, cheese! Awesome! And stayed near the city as a really friendly guy suggested. We were even able to have a short (cold, but worth it) swim there.

The day after we drove Highway 6 north to New Denver and then over to Kaslo. That was a really scenic route and we really glad we've taken it. Kaslo itself was a neat village and we were finally able to send our postcards to germany (which we've bought at Glacier NP in the States). We had a nice stay at Kootenay Lake.

The next day we drove further north and took the (free!) ferry from Galena Bay to Shelter Bay, where we even met a nice Germany man that emigratet from Germany to Canada and was really pleased to meet some german-speaking people!

Revelstoke and our first “real” hike

We spend the following two nights near Revelstoke. The city is really nice, although the traffic is noticable there, as the Trans-Canada Highway as well as the Railroad goes right through the city. Either way, we visited the Train-Museum and did our laundry at a family-laundromat where we even met more Germans.

As written before, hiking is a broad term. But luckily, we were able to do our first real hike in Canada near Revelstoke. The Mt. Revelstoke National Park. was not fully open just yet, the road was closed about 20km in. That did not hold us back to do a nice hike, though. The route we piked was advertised as 3.5 hrs one way. We did not give that too much thought, though, as some of the “hikes” we did before were also advertised as 2hrs walks and it was merely an hour for us.

Not with this hike, though. After we did 3.5 hrs uphill and even had to cross some small snow-fields, we were relieved to reach the lakes. But there was another problem now: We did not want to go the same route downhill, as it was rather steep. So we decided to walk down the road – which would've been about 20km back to where our car was parked. Fortunately, we met a nice couple from the Netherlands (?) and they gave us a lift after we had walked about ¼th of the remaining distance.

Finally we were able to do a proper hike!

Kootenay – Banff – Yoho – Jasper

We continued our trip into the direction of Banff NP – east! There are quite a few nice walks though the “Rain-Forest” near the Trans-Canada highway!

As the weather got worse, we stayed two nights at a nice spot near Golden: Cedar Lake. I will never forget that place, as it was the place where I took my first Lake-and-Moon-Picture ever. And it's a rather good one, despite my little training on taking pictures in such a setting!

And I was even able to take a picture of a cute little bunny.

Now, the weekend was approaching. Because Sunday was “Canada Day”, we decided to stay two nights in a national forest near Kootenay National Park and Radium Hot Springs (where we didn't visit the springs, as they were simply too crowded at that time). We met two fellow German travelers and had a really nice dinner together (I even made some potatoe-salad). The next three days, we stayed at the site just south of Kootenay National Park, as the weather didn't get any better. One day we drove back to Radium and gave the Hot Springs a visit (14$ for two is really good) and to buy some things.

On the fourth day, the weather finally was okayish, so we started our drive to Banff. We visited the Marple Canyon (still in Kootenay NP) early in the morning, which was good because there were no people there. Awesome how deep this canyon is! After that we drove to Banff (City). We had lunch at Mc Donalds – the second time since the start of our journey actually! Visiting the City of Banff was nothing special for us. Too many people at way to much “Tourism” there. But anyways, the Tunnel Mountain Drive was really worth it.

After that we drove further north, as we wanted to visit Johnston Canyon. But we were shocked. Two kilometers before the official parking, cars were standing next to the road and people were walking next to the road. There were probably two thousand people in Johnston Canyon – so we simply skipped it. Instead, we did a really nice hike (Castle Lookout – 3.7 km long and 550m up) which took us 1:15h up. That's really fast, IMO. We were able to take awesome pictures and even met a German couple with their boys at the top.

On the next day, we had a really nice hike in Lake Louise, which was around 13-15 km (?). Lake Louise itself was too crowded for us (we got one of the last parking spots at 8:30 AM!), but the trail itself was “okayish crowded”. Still too much compared to Europe, but not too bad. The view from the Teahouse point was really great and worth the 4:30h the trail took overall. At the end of the day we visited Takakkaw Falls in Yoho National Park, which are really impressive and even my favourite Waterfalls until today!

On our third day we drove Emerald Lake to take some pictures and then went back to Banff. No hiking on this day, as we did hikes for the three days before and needed some rest. We met a nice couple which apparently lived only one town away from our own hometown. We had a really nice conversation, good coffee and even some baked goods – awesome! In the evening, we met a really nice couple from Switzerland (chrigikoelbi.ch) as we drove out of Banff and stood at a nice free camping spot. Unfortunately, the weather got rainy again. Because of this we only had a brief conversation and went back inside rather soon. The fire we managed to set off slowly died in the rain. On the next day, after we said goodbye to Chrigi and Koelbi, we drove further east because we wanted to go shopping for some food. After not even 15km we saw a really nice place next to Abraham Lake. As we drove down to the lake, we met Chrigi and Koelbi again. Soon after that we had allocated a nice spot above the lake with them. Despite the very little distance we made on that day, it was awesome. Chrigi and Koelbi are really friendly people and we had a really nice day, a nice dinner and very nice entertainment with them. Entertainment, because Canadians pushed (or rather tried to push) their rights through the more shallow parts of the lake. The later the day, the more got stuck. It was really funny to watch because their “big rigs” (some not even equipped with 4x4 drive) didn't seem to be so great anymore after they got stuck in (only) 10cm of water and mud.

After that day, which was essentially a “break day”, we drove north through Jasper and then towards Edmonton. After one more day of driving we visited friends in Spruce Grove and had a nice BBQ and conversation. They Germans emigrated to Canada about ten years ago. They told us some nice stories about life and especially about winter in Canada.

After Edmonton (or rather Spruce Grove, as we didn't drive into Edmonton City), we started heading further north. On 2018-07-13, we arrived at Mile Zero of the Alaska Highway.

Alaska Highway

The Alaska Highway was rather uneventful until we arrived in Fort Nelson, the first “big city” on the AH for us. We gave the amazingly empty and really nice pool a visit (Showers – oh yeah) and also used the internet at the local Tim Hortons for a good bit. On the next day, the drive got more scenic, not only because the weather got better but also because the landscape changed from “only forest” to mountains. The hot springs in Liard River were worth a visit, despite we visited the pool a day before.

On the next day we arrived in Watson Lake. The “Sign Post Forest” as it is called was awesome to explore! We found so much road signs from Germany, also one which is from a town not even 10km from our own hometown and of course a lot of signs from big cities like Hamburg, Berlin, etc. Of course we also added our own sign which we brought over from Germany.

We stayed two nights in Watson Lake near the Airport, which was a really nice spot. We met a couple from Switzerland (really there are a lot of people from Germany and Switzerland on the road in Canada these days) and traveled with them for four days straight.

We did not drive Alaska Highway, though, but the Clondike Highway. After 380 km of gravel road, forest, mountains, loneliness, some bears and even more forest (but nonetheless a beautiful drive), we arrived at the town of Faro, where we stayed for two nights, had showers, did the laundry and enjoyed some sun (finally!) near the campground. Because we had a comparatively good internet connection there – or rather: the best internet connection since we started our trip in Halifax – we did a lot of oneline “work”, like writing replies for emails, phoning home and I even had an interview on the third day we stayed there (it went really well IMO). The lady at the Interpretive Center of Faro was from Bavaria originally and we had a good conversation. On the last day we also met a really nice guy from Austria. Both of them came to Yukon about twenty years ago, though the lady from the Interpretive Center lives here permanently, the Austrian Guy only during summertime. They shared nice stories about live in Yukon, wildfires, bear encounters and even a story about wolves.

The two days after that we drove to the Five Finger Rapids in Carmacks and stayed there on a free spot near the Yukon River and then further to Mayo where we also had a nice free spot directly next to the Mayo River (near the Steward River). We visited the Mayo Interpretive Center where a really nice lady from Australia told us about the history of the area. Later that day we drove to Keno, which is really a beautiful drive, and visited the Museum in Keno. We stayed at the same spot near Mayo for the next night.

Dawson City and Top of the World Highway

After Keno, we drove to Dawson. The last few (tens) of kilometers before Dawson were rather uneventful and almost boring. But then, oh boy! Dawson City! The place to be during the gold rush and a really nice place to be today as well. We felt like beeing in the Wild West – and of course, it is the wild west... of Canada! The people, the streets, the houses, the Yukon River, the feeling – that's Wild West (at least for me)!

We visited the Casino where, in the evening, a really nice show took place and entertained us a lot. Because sunlight is almost a 24-hour thing here, we stayed up early (until 1 AM) at the campground accross the river. The next moring, we took the ferry back to Dawson and simply walked around and enjoyed the area. Weather was perfect, people were nice and internet at the Visitors Information Center was rather good.

On our third day we visited the Dredge No 4 which produced up to 23 kg of Gold every 3-4 days up until 1966! After that, we drove to Alaska!

But first, the Top of the World Highway. That Highway was named because you have the feeling that you're driving on the top of the world. And indeed they got the name right! I cannot even say how awesome that drive was! The pure nature, the endless wilderness... absolutely amazing!

We entered Alaska at the most northern US-American port on the Top of the World Highway.

This will be the first article in a series of maybe two or three articles on the US. I do not cover everything in great detail here, but I hope its enough so that you get an idea how it was.

The pictures in this article are publish unprocessed (only resized to 25% of original size because otherwise the filesize would become an issue for slow internet connections).

Driving 2500 km

After we crossed the border at Saint St Marie, we had to drive about 2500 km to get to Badlands National Park – which was the first National Park on our “checklist”.

Boy, that country is big! Driving 100 km straight is absolutely not a problem, even if you do not drive on the big highways! We had a bit of a hard time finding some spots to stay for a night, but in the end it worked out rather fine.

We even got a really nice shower – thanks to the Community of Parker, South Dakota, for that!

Badlands NP

Badlands was awesome. We arrived in the afternoon and light was not optimal for some photography, but it worked out. The nature and especially the landscape with all the cliffs is so special and scenic – awesome!

On our way to the (primitive) campground, we even saw some Bison right there on the road!

Three nights

Because we drove three days straight, we decided to stay a few days in Badlands NP. We decided to stay three nights. As we already had filled our water tank, the batteries were full (not that it would have been an issue if not – we had sun four days straight) and the greywater tank was empty, this was perfect for a few days of leasure time.

The campground was really nice. It was primitive – only two restrooms and a bit of grassland to camp on – but it was enough for us. Most of the people there only stayed for one night, although at least two other campers stayed as long as we did (or even longer).

We met a really nice couple from Colorado with their dog River, a really beautiful boy! They had some suggestions for our trip and told us that we really should not leave Utah out, because it's so gorgeous there! Sadly, they left the campground after one day.

Our first Bison and other wildlife

On the next day, we had our first Bison on the campground. Boy, what a huge animal! We were really happy, as we got some really nice close-up shots from the Bison with our Cameras. Hah, if we had known then! On the second day, there were several Bison on the campground! And on the third day, the day we left, one couldn't get to the restroom in a straight line because there were 7 or 8 Bison right next to the campground – and, of course, you want to leave some space for them! Getting too close to a 900kg-Bison Bull is no fun, I guess.

We also saw some really neat Prairie Dogs – those are really cute little guys!

The best thing, though, was when we drove out of the National Park – about 10 miles from the campground, a herd of about 600-800 Bison was crossing the road. We took so many pictures there, it was really awesome. And they even had calves with them. Luckily, we had plenty of space, so no dangerous situations occured.

Custer State Park

After Badlands, we drove to Custer State Park, in the Black Hills. Wow, I felt at home a little... it almost looks like Black Forst in Germany! We tried our luck with hiking here, but it turned out to be a bit more complicated as we did not want to go through rivers. In the end, we did a little walk around a lake. There was a wedding there and a lot of people visited the area (possibly because it was a weekend). So it was not really a hike.

Either way, we took some really great pictures on this route, not only during our drive through the “Wildlife route”, but also later when we drove the “Needles Highway” up north.

Mt. Rushmore, Crazy Horse and Devils Tower

After Custer State Park, we had a day with three really interesting things: Mt Rushmore, a must-visit for each tourist in mid-America, Crazy Horse, which is currently in progress but nonetheless impressive and Devils Tower, where we stayed for the night as well.

At Devils Tower we had a nice hike in the early evening and we were able to take some rather nice pictures there.

Yellowstone

Yellowstone National Park was the first National Park in the US and the Yellowstone Lake, 460 square kilometer in size and above 2133 Meters is the largest high-evelation lake in North America. It is as cold as 4°C on average and covered by ice from mid December to May or even June.

Wildlife in Yellowstone is versatile. After Badlands, seeing Bison was nothing special to us anymore. But grizzly and black bear were not yet ticked off on our list. Despite we already have seen moose and bighorn sheep, we were eager to see more.

We visited Yellowstone several days, but never stayed on a campground inside, as it was simply to expensive. Paying up to $38 just for parking was not an option, as we could get this for free outside of the park.

Day 1

Our first day at Yellowstone was a car-day. We drove from the East Entrance to the South Entrance, hoping to meet Mali from Dulliexploring. Unfortunately, we didn't.

We got some really nice pictures, though.

Day 2

On our second day, we got up early and visited the Old Faithful Geysir and the area around it. But before, we gave the West Thumb a visit, as it was on the way to Old Faithful from the South Entrance.

We experienced a great show at Old Faithful, which goes up every 90 minutes (+/– 10 minutes) and Grand Geysir, which only goes off twice a day and I took hundreds of pictures and even did some filming of the Geysirs.

We also visited the Grand Prismatic Spring, which was really impressive. The many hot springs and coloured water pots are awesome for hobby (and professional) photographers!

We left via the West Entrance and stayed one day outside of the park on a really nice (free) site. To be honest, the day outside was almost boring. Anyways, we met the Ranger of the area and even the Sheriff visited the site. Maybe to check if everything was alright, because there were Deer and a Grizzly beeing reported near the site. Unfortunately, we did not see any of them, so we couldn't tick them off of our list.

Day 3

Our third day in Yellowstone started with a really cloudy sky. When we woke up there was no rain (yet), but it looked like it would get a pretty wet day.

When we arrived at the Visitor Information in West Yellowstone (for using the Wifi a bit), though, it started raining like crazy. Throughout the day it got a bit better, but it was still a rainy day, even inside Yellowstone NP.

Though, we did the West-to-North-Entrance route and it was really nice. The pictures we were able to take are not that great (at least unprocessed), but it was a nice visit anyways.

Too many people

Overall, there were just too many people at Yellowstone. And we weren't even there during the holidays or weekend! On the second day I said: “Here at Yellowstone we saw as many people as we saw at the Airport when we came over from Europe!” and that's a fact.

We even fled from the masses because it seemed like everyone (especially people from asia) wanted to take a picture of our car. It got rather annoying, to be honest. Some of the people, though, are really respectful and nice. To be fair, not all asian people were annoying! Some of them greeted really friendly and told us they really liked our car. Others, though, wanted to know everything about it. Asking how much we spent on it or how much money it took us to get it over from Europe is considered unfriendly for us germans! It's just number-crunching and won't get you anywhere, right? Overall, we got much more thumbs-up on the road in the west then we did east of Missouri River, which is really nice. And the occasional “Badass!” yelled over the street is really funny, especially because we do not know how to properly translate this into german!

Either way, we're heading further north! Someone said that long trailers and RVs are not allowed in Glacier National Park – lets hope that's true, because it means (hopefully) less people!

Glacier National Park

Before we arrived at Glacier, we met Ali and Malte from Dulliexploring at a Campground near Missoula. We had a really nice dinner together and shared stories of our travels. And, of course, shared experiences about driving Land Rover in America.

The next day though, we started heading further north to Glacier. We stayed three days in Hungry Horse Res., which was an awesome time, but unfortunately the weather was not as good as it used to be.

When we entered Glacier, the weather was better. We did three hikes on three consecutive days. The second hike being the one which got us to tick off “Black Bear in the USA” on our Animals-we've-seen-list. Three times actually, as we saw three black bear near the Lake. And we even saw a Deer standing not even five meters from the trail, completely calm. We got great pictures, of course.

One word on hiking in National Parks, though: “Hiking” is a rather broad term. We wouldn't call the little walk we did “hike”. It was rather a nice three-hour afternoon-walk which could've been done in everyday-shoes. 200 Meter in altitude, through the forest. We didn't even use our hands! It was funny for us to see some people in full gear! We even saw two guys with a GPS on them. In a national park. On a marked route through the woods. Others, though, went on this “hike” in Sandals or even Flip-Flops. So we got to see both extremes here.

As camping inside the park was most certainly too expensive for us, we had to look for an campground outside it. And we found a really nice spot in the National Forest (so for free) next to the river, where we stayed for two consecutive nights, driving to the NP during daytime and returning to the same spot in the early evening. We met a really nice guy from England who was traveling on his own. We shared a coffee and a really nice conversation. Wherever you are right now, I hope you're alright!

A brief summary

Our time in the US has been great. We love(d) the country, the nature is awesome, the people are really friendly and the weather was mostly awesome (only four days of so-so weather).

The national parks were spectacular, especially Badlands and the Geysirs in Yellowstone. The wildlife was great, too.

Now we're back in Canada, heading for Banff NP, Jasper NP and then further north, hopefully making it to Watson Lake to get our sign up there.