<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
      <title>t-beutel</title>
      <link>https://t-beutel.com</link>
      <description>Cable Salad Does Not Taste</description>
      <generator>Zola</generator>
      <language>en</language>
      <atom:link href="https://t-beutel.com/rss.xml" rel="self" type="application/rss+xml"/>
      <lastBuildDate>Thu, 09 Mar 2023 22:58:34 +0000</lastBuildDate>
      <item>
          <title>A Fairphone 4 review</title>
          <pubDate>Thu, 09 Mar 2023 22:58:34 +0000</pubDate>
          <author>Unknown</author>
          <link>https://t-beutel.com/a-fairphone-4-review/</link>
          <guid>https://t-beutel.com/a-fairphone-4-review/</guid>
          <description xml:base="https://t-beutel.com/a-fairphone-4-review/">&lt;p&gt;The Fairphone 4 is a great phone with an even better concept behind it. What stopped me from using it as my everyday device was that it&#x27;s nearly impossible to take acceptable photos under non-optimal light conditions. In addition, the phone does not receive the latest Android major releases and security patches are often delayed. With this, is Fairphone as a company actually doing good for the planet if people buy their phones and then replace them with some decent device?&lt;&#x2F;p&gt;
&lt;h1 id=&quot;unboxing-touch-and-feel&quot;&gt;Unboxing, touch and feel&lt;&#x2F;h1&gt;
&lt;p&gt;The unboxing experience is remarkably unspectacular. You get the opposite of unpacking Apple devices, which is not necessarily bad. It doesn&#x27;t feel high quality, it doesn&#x27;t feel like there is just an entire team for the product packaging. It&#x27;s a cardboard box with just one thing in mind, don&#x27;t bring more waste, and this is a step forward.&lt;&#x2F;p&gt;
&lt;p&gt;Every time I picked up the phone I had the feeling that I&#x27;m part of something good. The &quot;Speckled Green&quot; version of the back cover gives the device a green, environment friendly touch.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;hardware&quot;&gt;Hardware&lt;&#x2F;h1&gt;
&lt;p&gt;I won&#x27;t list tech spec. If they are important to you, you can look them up &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Fairphone_4&quot;&gt;here&lt;&#x2F;a&gt;. CPU and Memory rarely got maxed out and I even could have some decent gaming sessions.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;screen&quot;&gt;Screen&lt;&#x2F;h2&gt;
&lt;p&gt;The Fairphone 4 utilizes an LCD rather than an OLED one, which may not be the best option available, but it is acceptable. If you come from an high-end smartphone this is where you realise that this is midrange hardware.
In my experience, the display is too tall. I have quite big hands, and can&#x27;t reach the top of the screen when using just one hand. To be honest, I am not able to do this with any of the current smartphones but I reach far further to the top on other devices. What I encountered quit often was that the Fairphone 4 did not respond to touches at the edges of the display while applications were in full screen.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;cpu-and-memory&quot;&gt;CPU and Memory&lt;&#x2F;h2&gt;
&lt;p&gt;You can run CPU and Memory benchmarks but this numbers will never help you understand if the handset is fast or slow. To put it in perspective, I played Call of Duty Mobile and didn&#x27;t have the feeling like I would use some midrange hardware. Also &lt;a href=&quot;https:&#x2F;&#x2F;mastodon.earth&#x2F;@tscho&#x2F;109593422574476755&quot;&gt;Machinarium&lt;&#x2F;a&gt; and any other games I downloaded did perform well without any significant frame rate drops.
The hardware is perfect for daily usage and capable to handle also heavier tasks. When using a case the phone can get quite warm, though, depending on the workload.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;no-headphone-jack&quot;&gt;No headphone jack&lt;&#x2F;h2&gt;
&lt;p&gt;The missing headphone jack is a bummer and I&#x27;d love to have one. Of course there are also &lt;a href=&quot;https:&#x2F;&#x2F;support.fairphone.com&#x2F;hc&#x2F;en-us&#x2F;articles&#x2F;4406224031889-FP4-No-audio-mini-jack&quot;&gt;reasons for that&lt;&#x2F;a&gt;. Despite I don&#x27;t agree with that decision, I get why they decided for not having one.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;built-quality&quot;&gt;Built Quality&lt;&#x2F;h2&gt;
&lt;p&gt;Overall the quality is good, the volume buttons and the fingerprint sensor wiggle around in their housing but that&#x27;s the only negative point I could find. The modularity doesn&#x27;t bring any disadvantages. I expected something worse from such a niche player, but in the end I was really surprised how nice the Fairphone 4 felt in my hands.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;camera&quot;&gt;Camera&lt;&#x2F;h2&gt;
&lt;p&gt;This was for me the dealbreaker. I could have lived with the minor build quality problems or the fact that Android is so much different than iOS. What doesn&#x27;t work for me is that when I want to freeze a moment of my kid, instead, the camera app freezes and does not respond. When not shooting in direct sunlight you get a blurry, washed out ball where you can just imagine this could be a moving child. You&#x27;ll say: &quot;Stop exaggerating, it can&#x27;t be that bad&quot;. Unfortunately, it&#x27;s exactly like that! On a cold grey day, inside a building, you get this pixel mush which is not acceptable for me (or my wife). When you tap the shutter button, nothing happens at first, but then the app responds just as you&#x27;re about to tap it again. This makes it impossible to capture funny, cute, or important moments.&lt;&#x2F;p&gt;
&lt;p&gt;Fairphone &lt;a href=&quot;https:&#x2F;&#x2F;support.fairphone.com&#x2F;hc&#x2F;en-us&#x2F;articles&#x2F;4410238693649&quot;&gt;promised from the beginning to improve the camera quality&lt;&#x2F;a&gt; over time, although they have made some minor improvements it&#x27;s still not acceptable. I have yet to come across anyone who is satisfied with the photos taken on their Fairphone 4.&lt;&#x2F;p&gt;
&lt;p&gt;Is the issue with the hardware or software? I&#x27;m certain that the problem comes from insufficient resources of developers for image processing. The image sensor is probably not that much different than the one Apple, Samsung or Huawei are using. The difference is that they have entire departments just for image taking. Could it be that the entire Fairphone company has fewer employees than the camera and image processing departments of those other companies?&lt;&#x2F;p&gt;
&lt;p&gt;I followed the &lt;a href=&quot;https:&#x2F;&#x2F;forum.fairphone.com&#x2F;t&#x2F;fp4-which-camera-app&#x2F;81750&quot;&gt;suggestion on the forum&lt;&#x2F;a&gt; and installed alternative camera apps, which &lt;a href=&quot;https:&#x2F;&#x2F;www.howtogeek.com&#x2F;773639&#x2F;what-is-sideloading-and-should-you-do-it&#x2F;&quot;&gt;raises some concerns about security&lt;&#x2F;a&gt;, but I was frustrated and wanted a fix.
These apps do work better than the one Fairphone provides. For instance, the pictures are now taken immediately without any delay however, the quality issues in low light conditions persist.&lt;&#x2F;p&gt;
&lt;p&gt;Fairphone promised multiple times to make improvements, which they were unable to fulfill, and they also did not respond to my support ticket.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;questioning-the-whole-concept&quot;&gt;Questioning the whole concept&lt;&#x2F;h1&gt;
&lt;p&gt;And with the bad camera performance alone, the idea of the Fairphone starts to crumble! I ended up creating more e-waste than I intended to.&lt;&#x2F;p&gt;
&lt;p&gt;Since I went back to an iPhone I&#x27;ll do the comparison to an Apple device. Other smartphone vendors may offer similar software update policies.
Apple provides software updates for up to 6 years to an iPhone and still brings critical security updates to outdated devices. Also the European Union demands &lt;a href=&quot;https:&#x2F;&#x2F;www.engadget.com&#x2F;eu-rules-phone-tablet-reparability-battery-life-software-updates-163636788.html&quot;&gt;that smartphones have more repairability and longer software updates.&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;The only repair I&#x27;ve had to make is replacing the touch screen, which can be expensive if done by Apple or time-consuming to do myself. Apple has recently &lt;a href=&quot;https:&#x2F;&#x2F;www.apple.com&#x2F;newsroom&#x2F;2021&#x2F;11&#x2F;apple-announces-self-service-repair&#x2F;&quot;&gt;announced a self-repair&lt;&#x2F;a&gt; program for some of its devices. Is an entirely reparable phone really necessary?&lt;&#x2F;p&gt;
&lt;p&gt;Meanwhile, &lt;a href=&quot;https:&#x2F;&#x2F;www.nokia.com&#x2F;phones&#x2F;en_int&#x2F;nokia-g-22&#x2F;?sku=101S0609H001&quot;&gt;Nokia released the G22,&lt;&#x2F;a&gt; which looks like a promising alternative, even though they don&#x27;t guarantee fair mined materials.&lt;&#x2F;p&gt;
&lt;p&gt;After using the Fairphone 4 for several months, just to use an iPhone again I have to say that Fairphone needs to improve on the software side a lot if they want to stay competitive.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>A Portuguese-German wedding</title>
          <pubDate>Fri, 02 Apr 2021 09:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://t-beutel.com/a-portuguese-german-wedding/</link>
          <guid>https://t-beutel.com/a-portuguese-german-wedding/</guid>
          <description xml:base="https://t-beutel.com/a-portuguese-german-wedding/">&lt;p&gt;You might think that it is super easy to get married in Europe if you are from different European countries. But it&#x27;s not.&lt;&#x2F;p&gt;
&lt;p&gt;I will show you what we had to do and which documents we needed to fulfil all the bureaucratic requirements.&lt;&#x2F;p&gt;
&lt;p&gt;My wife is Portuguese and I&#x27;m German, we don&#x27;t live either in Portugal nor in Germany. On top of that we had some obstacles due to the COVID-19 pandemic. But you know, where love is, there is a way. Cheesy, I know&lt;&#x2F;p&gt;
&lt;h1 id=&quot;documents&quot;&gt;Documents&lt;&#x2F;h1&gt;
&lt;p&gt;This probably varies according to where you are from but in our case we needed:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Passports or ID Cards from both&lt;&#x2F;li&gt;
&lt;li&gt;International birth certificates from both&lt;&#x2F;li&gt;
&lt;li&gt;Certificate of no impediment - a document, that states that you are not married (you need to be single, divorced, etc.)
&lt;ul&gt;
&lt;li&gt;In the case of my Portuguese wife, this information &quot;was&quot; in the birth certificate, or more precisely, as it did not say that we were married that meant that we were indeed single (there was nothing written there...).&lt;&#x2F;li&gt;
&lt;li&gt;In my case, I had to get a Ehefähigkeitszeugnis&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h1 id=&quot;decisions-you-to-make-in-advance&quot;&gt;Decisions you to make in advance&lt;&#x2F;h1&gt;
&lt;p&gt;There are a couple of things you need to decide before your show up at the registry office.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;separation-of-property&quot;&gt;Separation Of Property&lt;&#x2F;h2&gt;
&lt;p&gt;You should think about how you want to manage the separation of property in advance. Depending on which law (from which country) you take for your marriage the separation of property by default might vary and if different than what you would prefer you will need to make an extra contract at the civil law notary.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;family-name&quot;&gt;Family Name&lt;&#x2F;h2&gt;
&lt;p&gt;As we decided to get a combination of both last names (possible with the Portuguese law) I had to request the approval by the German civil registry office, the so called &lt;a href=&quot;https:&#x2F;&#x2F;www.germany.info&#x2F;us-de&#x2F;service&#x2F;familienangelegenheiten&#x2F;namensrecht&#x2F;1216870&quot;&gt;Namenserklärungen&lt;&#x2F;a&gt;. This has also implications later for the last name of potential kids.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;extra-advice&quot;&gt;Extra advice&lt;&#x2F;h1&gt;
&lt;p&gt;If possible get married in one of the countries from which one of you is from, doing it at the embassies might be even more cumbersome.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Basic IPv6 setup on Cisco&#x27;s IOS with PPPoE and DHCPv6 client</title>
          <pubDate>Fri, 08 Jun 2018 15:07:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://t-beutel.com/basic-ipv6-setup-on-ciscos-ios-with-dhcpv6/</link>
          <guid>https://t-beutel.com/basic-ipv6-setup-on-ciscos-ios-with-dhcpv6/</guid>
          <description xml:base="https://t-beutel.com/basic-ipv6-setup-on-ciscos-ios-with-dhcpv6/">&lt;p&gt;Lately I discovered that my ISP is providing IPv6 addresses via DHCPv6. So, I thought it would be nice to share a basic Cisco SoHo IPv6 configuration. I am using a PPPoE connection over VDSL2+ on a Cisco 800 series router.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;security-first&quot;&gt;Security First&lt;&#x2F;h2&gt;
&lt;p&gt;As for you, for me, security always comes first. So, let us configure an Access List to permit the right packages and block the rest of the incoming IPv6 traffic. The Access List is pretty basic. It allows all established TCP traffic, &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;DHCPv6&quot;&gt;DHCPv6 client&lt;&#x2F;a&gt; (to obtain a IPv6 address from the ISP) and &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Internet_Control_Message_Protocol_for_IPv6&quot;&gt;ICMPv6&lt;&#x2F;a&gt;. The rest will be denied.&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;ipv6 access-list IPv6-IN
&lt;&#x2F;span&gt;&lt;span&gt; sequence 10 permit tcp any any established
&lt;&#x2F;span&gt;&lt;span&gt; sequence 20 permit udp any any eq 546
&lt;&#x2F;span&gt;&lt;span&gt; sequence 30 permit icmp any any
&lt;&#x2F;span&gt;&lt;span&gt; sequence 99 deny ipv6 any any
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;unicast-routing&quot;&gt;Unicast Routing&lt;&#x2F;h2&gt;
&lt;p&gt;Unicast Routing is essential to route IPv6 packets. &lt;a href=&quot;https:&#x2F;&#x2F;www.cisco.com&#x2F;c&#x2F;en&#x2F;us&#x2F;td&#x2F;docs&#x2F;ios-xml&#x2F;ios&#x2F;ipv6&#x2F;configuration&#x2F;15-2mt&#x2F;ip6-15-2mt-book&#x2F;ip6-uni-routing.html&quot;&gt;IPv6 unicast routing&lt;&#x2F;a&gt; is disabled by default, so we have to enable it.&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;ipv6 unicast-routing
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;wan-interface&quot;&gt;WAN Interface&lt;&#x2F;h2&gt;
&lt;p&gt;The next step is to enable IPv6 on the interface facing your ISP. In this example, it is the Dialer 1 interface. Further, the DHCP client needs to be configured to obtain an IPv6 address. The Access List we created before also needs to be applied.&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;interface dialer 1
&lt;&#x2F;span&gt;&lt;span&gt; ipv6 enable
&lt;&#x2F;span&gt;&lt;span&gt; ipv6 dhcp client pd IPv6_Prefix rapid-commit
&lt;&#x2F;span&gt;&lt;span&gt; ipv6 traffic-filter IPv6-IN in
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;routing&quot;&gt;Routing&lt;&#x2F;h2&gt;
&lt;p&gt;Since we do not use dynamic routing we need to create a static route. In this case all IPv6 traffic will be routed over Dialer1 to our ISP.&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;ipv6 route ::&#x2F;0 Dialer1
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;lan-interfaces&quot;&gt;LAN Interfaces&lt;&#x2F;h2&gt;
&lt;p&gt;The next steps are enabling IPv6 in the LAN, configuring the &#x2F;64 network and setting an DNS server. In this case the IPv6 address &lt;em&gt;2606:4700:4700::1111&lt;&#x2F;em&gt; (&lt;a href=&quot;https:&#x2F;&#x2F;1.1.1.1&#x2F;&quot;&gt;1.1.1.1 Cloudflare DNS&lt;&#x2F;a&gt;) is used.&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;interface Vlan1
&lt;&#x2F;span&gt;&lt;span&gt; ipv6 address IPv6_Prefix ::1&#x2F;64
&lt;&#x2F;span&gt;&lt;span&gt; ipv6 enable
&lt;&#x2F;span&gt;&lt;span&gt; ipv6 nd ra dns server 2606:4700:4700::1111
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;In case there are multiple VLANs you can apply another IPv6 &#x2F;64 network like the following.&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;interface Vlan2
&lt;&#x2F;span&gt;&lt;span&gt; ipv6 address IPv6_Prefix ::3:0:0:0:1&#x2F;64
&lt;&#x2F;span&gt;&lt;span&gt; ipv6 enable
&lt;&#x2F;span&gt;&lt;span&gt; ipv6 nd ra dns server 2620:FE::FE
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
</description>
      </item>
      <item>
          <title>Music for staying focused</title>
          <pubDate>Sun, 11 Feb 2018 15:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://t-beutel.com/music-for-staying-focused/</link>
          <guid>https://t-beutel.com/music-for-staying-focused/</guid>
          <description xml:base="https://t-beutel.com/music-for-staying-focused/">&lt;p&gt;To not get distracted from noises arround me, I always listen to music during coding. Mostly I listen to music without vocals. In case you are looking for the same, feel free to subscribe to my playlist, where I constantly add new songs.&lt;&#x2F;p&gt;
&lt;iframe allow=&quot;autoplay *; encrypted-media *; fullscreen *; clipboard-write&quot; frameborder=&quot;0&quot; height=&quot;450&quot; style=&quot;width:100%;max-width:660px;overflow:hidden;background:transparent;&quot; sandbox=&quot;allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation&quot; src=&quot;https:&#x2F;&#x2F;embed.music.apple.com&#x2F;at&#x2F;playlist&#x2F;coding&#x2F;pl.u-E6a4s2Jkky?l=en&quot;&gt;&lt;&#x2F;iframe&gt;
</description>
      </item>
      <item>
          <title>Backup Internet with VRRP and Ubiquiti EdgeRouter</title>
          <pubDate>Sun, 15 Oct 2017 19:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://t-beutel.com/vrrp-ubiquiti-edge-router/</link>
          <guid>https://t-beutel.com/vrrp-ubiquiti-edge-router/</guid>
          <description xml:base="https://t-beutel.com/vrrp-ubiquiti-edge-router/">&lt;p&gt;One of the easiest ways to gain hight available Internet access with routers from two different vendors is to use &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Virtual_Router_Redundancy_Protocol&quot;&gt;VRRP&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Out of the box, VRRP is just checking if the routers can reach each other, and not for a correct working Internet connection.
My shell script switches from the main to the backup router when the specified hosts are not pingable and back again to the main router when they are reachable again.
In my case, the setup is a combination of one Ubiquiti EdgeRouter Lite as main router and a Cisco device as backup router.&lt;&#x2F;p&gt;
&lt;p&gt;Here is how to setup the script on your Ubiquity EdgeRouter.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;upload-the-script-and-modify&quot;&gt;Upload the script and modify&lt;&#x2F;h2&gt;
&lt;p&gt;Upload the following script on your router to &lt;em&gt;&#x2F;config&#x2F;scripts&lt;&#x2F;em&gt;. And change the variables to match your configuration.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;sh&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-sh &quot;&gt;&lt;code class=&quot;language-sh&quot; data-lang=&quot;sh&quot;&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;#!&#x2F;bin&#x2F;bash
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;run&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;&#x2F;opt&#x2F;vyatta&#x2F;sbin&#x2F;vyatta-cfg-cmd-wrapper
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# NextHop: Put here, eg. &amp;quot;4.1.1.2&amp;quot; &amp;quot;8.8.8.8&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Nexthop&lt;&#x2F;span&gt;&lt;span&gt;=( &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;HostA&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot; &amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;HostB&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot; )
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# Number of Pings
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Count&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;4
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# Source Interface, eg. eth0.100&#x2F; eth1
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Inf&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;eth1
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;#Get the current VRRP priority
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Prio&lt;&#x2F;span&gt;&lt;span&gt;=$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;cat&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt; &#x2F;etc&#x2F;keepalived&#x2F;keepalived.conf&lt;&#x2F;span&gt;&lt;span&gt;|&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;grep&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt; priority&lt;&#x2F;span&gt;&lt;span&gt;|&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;cut -d &lt;&#x2F;span&gt;&lt;span&gt;&amp;#39; &amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -f&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt; 2&lt;&#x2F;span&gt;&lt;span&gt;|&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;awk &lt;&#x2F;span&gt;&lt;span&gt;&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;NR&amp;gt;1{print $1}&lt;&#x2F;span&gt;&lt;span&gt;&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# Function: Commands to set the priority back
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;function &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8fa1b3;&quot;&gt;SetPrioUp&lt;&#x2F;span&gt;&lt;span&gt;() {
&lt;&#x2F;span&gt;&lt;span&gt;	$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;run&lt;&#x2F;span&gt;&lt;span&gt; begin
&lt;&#x2F;span&gt;&lt;span&gt;	&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# Uncomment and adjust
&lt;&#x2F;span&gt;&lt;span&gt;	&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;#$run set interfaces ethernet eth0 vrrp vrrp-group 1 priority 110
&lt;&#x2F;span&gt;&lt;span&gt;	&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;#$run set interfaces ethernet eth0 vif 102 vrrp vrrp-group 102 priority 110
&lt;&#x2F;span&gt;&lt;span&gt;	$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;run&lt;&#x2F;span&gt;&lt;span&gt; commit
&lt;&#x2F;span&gt;&lt;span&gt;	&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# $run save
&lt;&#x2F;span&gt;&lt;span&gt;	$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;run&lt;&#x2F;span&gt;&lt;span&gt; end
&lt;&#x2F;span&gt;&lt;span&gt;}
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# Function: Commands to set the VRRP priority lower
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;function &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8fa1b3;&quot;&gt;SetPrioDown&lt;&#x2F;span&gt;&lt;span&gt;() {
&lt;&#x2F;span&gt;&lt;span&gt;	$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;run&lt;&#x2F;span&gt;&lt;span&gt; begin
&lt;&#x2F;span&gt;&lt;span&gt;	&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# Uncomment and adjust
&lt;&#x2F;span&gt;&lt;span&gt;	&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;#$run set interfaces ethernet eth0 vrrp vrrp-group 1 priority 80
&lt;&#x2F;span&gt;&lt;span&gt;	&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;#$run set interfaces ethernet eth0 vif 102 vrrp vrrp-group 102 priority 80
&lt;&#x2F;span&gt;&lt;span&gt;	$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;run&lt;&#x2F;span&gt;&lt;span&gt; commit
&lt;&#x2F;span&gt;&lt;span&gt;	&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;#$run save
&lt;&#x2F;span&gt;&lt;span&gt;	$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;run&lt;&#x2F;span&gt;&lt;span&gt; end
&lt;&#x2F;span&gt;&lt;span&gt;}
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# Function: Change the Priority if
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;function &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8fa1b3;&quot;&gt;SetPrioUp &lt;&#x2F;span&gt;&lt;span&gt;{
&lt;&#x2F;span&gt;&lt;span&gt;	&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# Check current prio and set up if necessary
&lt;&#x2F;span&gt;&lt;span&gt;	&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;[ &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Prio&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot; &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;-ne&lt;&#x2F;span&gt;&lt;span&gt; 110 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;] &lt;&#x2F;span&gt;&lt;span&gt;; &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;then
&lt;&#x2F;span&gt;&lt;span&gt;		&lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;echo &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;setting prio up&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;		&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SetPrioUp
&lt;&#x2F;span&gt;&lt;span&gt;	&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;fi
&lt;&#x2F;span&gt;&lt;span&gt;}
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;function &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8fa1b3;&quot;&gt;SetPrioDown &lt;&#x2F;span&gt;&lt;span&gt;{
&lt;&#x2F;span&gt;&lt;span&gt;	&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# Check current prio and set down if necessary
&lt;&#x2F;span&gt;&lt;span&gt;	&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;[ &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Prio&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot; &lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;-ne&lt;&#x2F;span&gt;&lt;span&gt; 80 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;] &lt;&#x2F;span&gt;&lt;span&gt;; &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;then
&lt;&#x2F;span&gt;&lt;span&gt;		&lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;echo &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;setting prio down&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;		&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SetPrioDown
&lt;&#x2F;span&gt;&lt;span&gt;	&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;fi
&lt;&#x2F;span&gt;&lt;span&gt;}
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# Ping test the $Nexthop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;for&lt;&#x2F;span&gt;&lt;span&gt; i &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;in &lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Nexthop[@]&lt;&#x2F;span&gt;&lt;span style=&quot;color:#a3be8c;&quot;&gt;}&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;do
&lt;&#x2F;span&gt;&lt;span&gt;	&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;&#x2F;bin&#x2F;ping -c &lt;&#x2F;span&gt;&lt;span&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Count -I &lt;&#x2F;span&gt;&lt;span&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;Inf &lt;&#x2F;span&gt;&lt;span&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;i &lt;&#x2F;span&gt;&lt;span&gt;&amp;gt; &#x2F;dev&#x2F;null
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;	&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;[ &lt;&#x2F;span&gt;&lt;span&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;? -ne&lt;&#x2F;span&gt;&lt;span&gt; 0 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;] &lt;&#x2F;span&gt;&lt;span&gt;; &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;then
&lt;&#x2F;span&gt;&lt;span&gt;		&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# Set down or keep Priority
&lt;&#x2F;span&gt;&lt;span&gt;		&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SetPrioDown&lt;&#x2F;span&gt;&lt;span&gt;; &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;break
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;fi
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b48ead;&quot;&gt;done
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#65737e;&quot;&gt;# Set higher or keep Priority
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;SetPrioUp
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;activate-the-script&quot;&gt;Activate the script&lt;&#x2F;h2&gt;
&lt;p&gt;Next step is to activate the VRRP tracker script and let it run every minute&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#2b303b;color:#c0c5ce;&quot;&gt;&lt;code&gt;&lt;span&gt;set system task-scheduler task vrrp executable path &#x2F;config&#x2F;scripts&#x2F;vrrptracker.sh
&lt;&#x2F;span&gt;&lt;span&gt;set system task-scheduler task vrrp interval 1m
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
</description>
      </item>
      <item>
          <title>UniFi Controller on FreeBSD</title>
          <pubDate>Sat, 16 Sep 2017 15:09:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://t-beutel.com/unifi-controller-on-freebsd/</link>
          <guid>https://t-beutel.com/unifi-controller-on-freebsd/</guid>
          <description xml:base="https://t-beutel.com/unifi-controller-on-freebsd/">&lt;p&gt;Here is a short tutorial how to get the UniFi Controller 5.2.2.0 running on FreeBSD 10.3&lt;&#x2F;p&gt;
&lt;h2 id=&quot;install-the-required-packages&quot;&gt;Install the required packages&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;openjdk8&lt;&#x2F;li&gt;
&lt;li&gt;mongodb&lt;&#x2F;li&gt;
&lt;li&gt;snappy&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;pre data-lang=&quot;sh&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-sh &quot;&gt;&lt;code class=&quot;language-sh&quot; data-lang=&quot;sh&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;portmaster&lt;&#x2F;span&gt;&lt;span&gt; java&#x2F;openjdk8 databases&#x2F;mongodb archivers&#x2F;snappy-java
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;download-and-unpack&quot;&gt;Download and unpack&lt;&#x2F;h2&gt;
&lt;pre data-lang=&quot;sh&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-sh &quot;&gt;&lt;code class=&quot;language-sh&quot; data-lang=&quot;sh&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;mkdir&lt;&#x2F;span&gt;&lt;span&gt; &#x2F;opt
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;cd&lt;&#x2F;span&gt;&lt;span&gt; &#x2F;opt
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;fetch&lt;&#x2F;span&gt;&lt;span&gt; https:&#x2F;&#x2F;www.ubnt.com&#x2F;downloads&#x2F;unifi&#x2F;5.2.2-6505992c&#x2F;UniFi.unix.zip
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;unzip&lt;&#x2F;span&gt;&lt;span&gt; UniFi.unix.zip
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;adjustments-cause-it-s-freebsd&quot;&gt;Adjustments cause it&#x27;s FreeBSD&lt;&#x2F;h2&gt;
&lt;pre data-lang=&quot;sh&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-sh &quot;&gt;&lt;code class=&quot;language-sh&quot; data-lang=&quot;sh&quot;&gt;&lt;span style=&quot;color:#96b5b4;&quot;&gt;cd&lt;&#x2F;span&gt;&lt;span&gt; UniFi
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;rm&lt;&#x2F;span&gt;&lt;span&gt; bin&#x2F;mongod
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;ln -s&lt;&#x2F;span&gt;&lt;span&gt; &#x2F;usr&#x2F;local&#x2F;bin&#x2F;mongod bin&#x2F;mongod
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;mv&lt;&#x2F;span&gt;&lt;span&gt; lib&#x2F;snappy-java-1.0.5.jar lib&#x2F;snappy-java-1.0.5.jar_org
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;ln -s&lt;&#x2F;span&gt;&lt;span&gt; &#x2F;usr&#x2F;local&#x2F;share&#x2F;java&#x2F;classes&#x2F;snappy-java.jar lib&#x2F;snappy-java-1.0.5.jar
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;starting&quot;&gt;Starting&lt;&#x2F;h2&gt;
&lt;pre data-lang=&quot;sh&quot; style=&quot;background-color:#2b303b;color:#c0c5ce;&quot; class=&quot;language-sh &quot;&gt;&lt;code class=&quot;language-sh&quot; data-lang=&quot;sh&quot;&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt;nohup&lt;&#x2F;span&gt;&lt;span&gt; java&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bf616a;&quot;&gt; -jar&lt;&#x2F;span&gt;&lt;span&gt; &#x2F;opt&#x2F;UniFi&#x2F;lib&#x2F;ace.jar start &amp;amp;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Open the following Address in your browser:&lt;&#x2F;p&gt;
&lt;p&gt;https:&#x2F;&#x2F;hostname | IP Address:8443&lt;&#x2F;p&gt;
</description>
      </item>
    </channel>
</rss>
