Jun 28, 2019

Fixed: Jira server.xml special characters error

Issue:
When starting up Jira, an error is displayed blocking the startup. The error says server.xml has an issue with special characters then directs the admin to go https://confluence.atlassian.com/jirakb/changing-server-xml-to-handle-requests-with-special-characters-958453799.html.

Server setup:

Self-signed certificate for https
Https Port 8443

Here is the server.xml file that worked for me. I inserted at all Connector lines: relaxedPathChars="[]|" relaxedQueryChars="[]|{}^\`"<>"
<?xml version="1.0" encoding="UTF-8"?><!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
--><Server port="8005" shutdown="SHUTDOWN">
    <Listener className="org.apache.catalina.startup.VersionLoggerListener"/>
    <Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/>
    <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
    <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
    <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>

    <Service name="Catalina">
    <Connector acceptCount="100" bindOnInit="false" connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" port="8080" protocol="HTTP/1.1" redirectPort="8443" relaxedPathChars="[]|" relaxedQueryChars="[]|{}^\`&quot;&lt;&gt;" useBodyEncodingForURI="true"/>
        <!--
         ==============================================================================================================
         DEFAULT - Direct connector with no proxy for unproxied access to Jira.

         If using a http/https proxy, comment out this connector.
         ==============================================================================================================
        -->

        <!-- Relaxing chars because of JRASERVER-67974 -->
        

        <!--
         ==============================================================================================================
         HTTP - Proxying Jira via Apache or Nginx over HTTP

         If you're proxying traffic to Jira over HTTP, uncomment the below connector and comment out the others.
         Ensure the proxyName and proxyPort are updated with the appropriate information if necessary as per the docs.

         See the following for more information:

            Apache - https://confluence.atlassian.com/x/4xQLM
            nginx  - https://confluence.atlassian.com/x/DAFmGQ
         ==============================================================================================================
        -->

        <!--
        <Connector port="8080" relaxedPathChars="[]|" relaxedQueryChars="[]|{}^&#x5c;&#x60;&quot;&lt;&gt;"
                   maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false"
                   maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443"
                   acceptCount="100" disableUploadTimeout="true" bindOnInit="false" scheme="http"
                   proxyName="<subdomain>.<domain>.com" proxyPort="80"/>

        -->
        <!--
         ==============================================================================================================
         HTTPS - Proxying Jira via Apache or Nginx over HTTPS

         If you're proxying traffic to Jira over HTTPS, uncomment the below connector and comment out the others.
         Ensure the proxyName and proxyPort are updated with the appropriate information if necessary as per the docs.

         See the following for more information:

            Apache - https://confluence.atlassian.com/x/PTT3MQ
            nginx  - https://confluence.atlassian.com/x/DAFmGQ
         ==============================================================================================================
        -->

        <!--
        <Connector port="8080" relaxedPathChars="[]|" relaxedQueryChars="[]|{}^&#x5c;&#x60;&quot;&lt;&gt;"
                   maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false"
                   maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443"
                   acceptCount="100" disableUploadTimeout="true" bindOnInit="false" secure="true" scheme="https"
                   proxyName="<subdomain>.<domain>.com" proxyPort="443"/>
        -->

        <!--
         ==============================================================================================================
         AJP - Proxying Jira via Apache over HTTP or HTTPS

         If you're proxying traffic to Jira using the AJP protocol, uncomment the following connector line
         See the following for more information:

            Apache - https://confluence.atlassian.com/x/QiJ9MQ
         ==============================================================================================================
        -->

        <!--
        <Connector port="8009" URIEncoding="UTF-8" enableLookups="false" protocol="AJP/1.3"/>
        -->

        <Engine defaultHost="localhost" name="Catalina">
            <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">

                <Context docBase="${catalina.home}/atlassian-jira" path="" reloadable="false" useHttpOnly="true">
                    <Resource auth="Container" factory="org.objectweb.jotm.UserTransactionFactory" jotm.timeout="60" name="UserTransaction" type="javax.transaction.UserTransaction"/>
                    <Manager pathname=""/>
                    <JarScanner scanManifest="false"/>
                    <Valve className="org.apache.catalina.valves.StuckThreadDetectionValve" threshold="120"/>
                </Context>
            </Host>
                    <Valve className="org.apache.catalina.valves.AccessLogValve" pattern="%a %{jira.request.id}r %{jira.request.username}r %t &quot;%m %U%q %H&quot; %s %b %D &quot;%{Referer}i&quot; &quot;%{User-Agent}i&quot; &quot;%{jira.request.assession.id}r&quot;"/>
 </Engine>
        <Connector relaxedPathChars="[]|" relaxedQueryChars="[]|{}^&#x5c;&#x60;&quot;&lt;&gt;" SSLEnabled="true" acceptCount="100" clientAuth="false" connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false" keyAlias="jira" keystoreFile="/opt/atlassian/jira/jira.jks" keystorePass="2102#Commerce#Drive" keystoreType="JKS" maxHttpHeaderSize="8192" maxSpareThreads="75" maxThreads="150" minSpareThreads="25" port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" secure="true" sslProtocol="TLS" useBodyEncodingForURI="true"/></Service>
</Server>

Mar 14, 2019

Tesla Factory Tours Requirements

Posting this to help other owners book a Tesla factory tour.

From Tesla:

Thank you for contacting Tesla Factory Tours!  We can’t wait to show you our ground breaking facility and how we make our revolutionary vehicles.  Due to the overwhelming amount of tour requests we receive, our team will respond to you within the next 48 business hours.  Our schedule fills up 2 to 4 weeks in advance so unfortunately, last minute requests cannot be accommodated.

If you are a Tesla owner, please provide us with your reservation number or VIN for us to reference your account.

Thank you and we look forward to your visit.

Tesla Tours

  • We host factory tours for Tesla owners Monday-Friday promptly at 10am, 11am, 3pm, and 4pm, excluding major holidays
  • Tours last approximately 60 minutes
  • All minors must be accompanied by an adult
  • No toddlers or infants (0 – 36 months old) permitted on the tour
  • We allocate 4 seats per owner group, and the registered Tesla owner must be present with their guests for the tour
  • We are flexible with larger immediate families; it is our policy to not split up families or leave some members behind
  • We cannot reserve tours more than three months in advance
  • We suggest booking at least 2-4 weeks in advance to ensure you get a seat on a tour
  • Tesla owners may book one tour per calendar year
Tour Guidelines:
  • Required dress code: closed-toe shoes, long pants, and a shirt with sleeves (short sleeves are ok)
  • Government issued ID is required for all guests 18+ upon check-in
  • Tours start promptly on time, and last approximately one hour
  • We are unable to accommodate late arrivals
  • The registered Tesla owner must be present with guests
  • No photo or video allowed inside the factory
  • All minors must be accompanied by an adult
  • No toddlers or infants (0 – 36 months old) permitted on the tour
  • Your tour experience is subject to change depending on factory developments and its production schedule.
  • This includes but is not limited to: tour route, tour duration and activity within the factory
 

Nov 28, 2018

How to: Installing Pi-hole on the Raspberry Pi w/CLI and SSH



This tutorial will build a Pi-hole server running on a Raspberry Pi 3. Pi-hole enables network-wide adblocking. Pi-hole is your own personal DNS Server and will not only protect your network from ads, but also from malicious websites, all the while improving page load performance. You will be able to access the Pi-hole via a web interface, and also manage the Raspberry Pi unit via SSH.

Hardware Required:

  • Raspberry Pi 3
  • 4GB+ microSD card
  • Ethernet
  • Monitor connected via HDMI
  • Keyboard

Step 1: Getting the Raspberry Pi up and running


Download RASPBIAN STRETCH LITE  https://www.raspberrypi.org/downloads/raspbian/

Unzip the image

Download Etcher https://github.com/balena-io/etcher/releases/download/v1.4.8/balenaEtcher-Setup-1.4.8-x64.exe

Flash the image to the microSD card (use a 4GB card or larger)

Connect keyboard and monitor and power to Raspberry Pi

Boot up

https://www.raspberrypi.org/documentation/linux/usage/users.md
Log in using

pi
passwd

Change password using: passwd

ifconfig
Write down the MAC address

If possible, assign the Raspberry Pi a static IP from within your router/firewall

Reset the Raspberry Pi so that the device gets assigned the new IP address from the router/firewall

ifconfig
confirm the IP is correct

Step 2: Installing Pi-hole

https://github.com/pi-hole/pi-hole/#one-step-automated-install

From Raspberry Pi's CLI, enter the following commands:
wget -O basic-install.sh 
https://install.pi-hole.net
sudo bash basic-install.sh

This will bring up the GUI to install Pi-hole. Use all of the default recommended settings.

Write down the password that is generated. This will be used to log into the web admin interface.


Step 3: Enabling SSH


https://www.raspberrypi.org/documentation/remote-access/ssh/

From Raspberry Pi's CLI:

Enter sudo raspi-config in a terminal window
Select Interfacing Options
Navigate to and select SSH
Choose Yes
Select Ok
Choose Finish
Alternatively, use systemctl to start the service

sudo systemctl enable ssh
sudo systemctl start ssh

Step 4: Configuring Pi-hole from web admin interface


Go to another computer/device connected to the same network

Open a browser

Visit the IP address of the Pi Hole device
Begin configuring Pi-hole.

Step 5: Set up Router's DNS settings to point to Pi-hole

Log into your Router
Change the DNS to point to the IP address of Pi-hole

Reboot all client machines to update their DNS server


Please consider making a donation to Pi-hole to support the development: https://www.patreon.com/pihole



Nov 7, 2018

Fixed for Windows: WebM for Adobe Premiere not showing in Format Presets

Issue: After installing WebM from fnordware, WebM is not displayed in the Format and Presets drop down menu in Windows Adobe Premiere.

System: Windows 8.1 64 bit, Dual Partition with C: drive and D: drive, Adobe Premiere installed in D: drive.

Download and install:
http://www.fnordware.com/WebM/

WebM_Premiere_v1.1.0.msi

Fix: The installer will place the WebM plugin in the following C: drive folder (which is why Adobe Premiere cannot see it because its in the wrong folder):

C:\Program Files\Adobe\Common\Plug-ins\7.0\MediaCore\WebM.prm

Now copy the WebM.prm file to the following folders:

C:\Program Files\Adobe\Common\Plug-ins\CS6
D:\Program Files\Adobe\Adobe Media Encoder CS6\Plug-ins\Common
D:\Program Files\Adobe\Adobe Premiere Pro CS6\Plug-ins\Common

Exporting WebM

  1. If you have Adobe Premiere open, close it.
  2. Go to the Format drop down and now WebM will be selectable
  3. Choose your preset 
  4. Export

Feb 12, 2018

DIY: Rocket launcher for paper/water rockets




After watching the SpaceX launch with my kids, I was inspired to build a rocket launcher to continue their excitement for the sciences. The rocket launcher can launch paper rockets and water bottle rockets.

The rocket launcher is powered by a bike pump and activated via a flip switch. I modified the design from https://www.youtube.com/watch?v=eNFfK5uo6D0 by integrating the base into the pressure chamber and using a bike tube Schrader valve. The rocket launcher is built from PVC pipe with 1 1/2" main chamber and 3/4" legs and launch tube. The valve is a 24V sprinkler valve powered by 2 9V batteries connected in series and actuated via a flip switch. The system can be pumped up to 140 PSI, and the rockets can be built from card stock and tape.


Build complete

Tools used:

Vise
Wire stripper
Wire crimper
PVC pipe cutter
Drill
Drill bits
Scissors

Materials:

PVC primer
PVC glue
Wire
Flip Switch
2 9V batteries
2 9V battery connectors
Teflon tape
Electrical spade connectors (use whichever wire connectors you're comfortable with)
1 coffee can to mount the switch
1 used bike tube for the Schrader valve
3 | 3/4" pipe end caps (the photo shows 2 3/4 inner diameter end caps which was wrong)
5' | 3/4" PVC pipe
3 | 3/4" x 1 1/2" T PVC adapter
1 1/2" T PVC3/4" T adapter
2 | 1" x 3/4" threaded PVC pipe adapter (this was used for a 1" threaded sprinkler valve)
24V 1" sprinkler valve
3/4" washer




Cut out the bike tubing with scissors around the Schrader valve (or purchase a Schrader valve if you don't have a used tube). Ensure you leave enough rubber material to make a good seal within the 3/4" end cap. Insert the end cap into a vice. Drill out the 3/4" end cap with a drill bit slightly larger than the Schrader valve.



Insert the Schrader valve, then insert the washer. For all PVC connections, prime (purple can) each mating surface. Then add glue (clear can) to each mating surface and immediately press fit. Cut a 6" length of 3/4" PVC pipe using the PVC pipe cutter, and then glue into the 3/4" x 1 1/2" PVC adapter. Glue the 3/4" x 1 1/2" PVC adapter to the 1 1/2" T PVC.



Glue the end cap onto the 3/4" pipe.



The inserted washer keeps the valve in place when inserting the bike pump,



Use PVC pipe cutter to cut the sections to length and glue. Next, we'll glue the remaining 2 of the 3/4" x 1 1/2" PVC adapter to the 1 1/2" T fitting. (The one going vertical and the one extending to the rear of the base) To make the base, cut 2 pieces of 4" section of 3/4" pipe and glue to the 3/4" x 1 1/2" PVC adapter going vertical and to the rear. Connect and glue the 3/4" T adapter and glue 3/4" pipe to each side. Glue the 3/4" caps at the end of the 3/4" T. Add teflon tape to the threads of the 1" x 3/4" threaded PVC pipe adapter. This is the adapter that connects the 3/4" PVC to the 1" Sprinkler Valve. This will keep the system sealed.



Connect the batteries in series. Insert the connector leads to the top of the batteries and press down on the connector. A momentary switch would function better since you wouldn't have to turn the system on and off every time with the flip switch--the flip switch feels legit though.



Wire connectors crimped to the ends of the wire using a wire electrical wire crimp tool.



The battery leads are pressed underneath the connectors, so no need for soldering. All electrical connections are now connected via the wiring diagram. Spade and corresponding female connectors were used.



Paper rocket built from rolled up card stock, tape, and a McDonalds french fry holder. Roll up paper on some scrap 3/4" PVC. Tape the entire length of the rocket. Seal the top of the paper with tape. The air will launch the rocket, so the top of the rocket needs to be sealed. Tape a nose cone, and tape the fins. Insert paper rocket on top of the 3/4" launch tube.



10...9...8...7...6...5...4...3...2...1...Blast off!

Sep 5, 2016

FIXED: Windows update standalone "the update is not applicable"

I was running into an Windows 8.1 error. The error was related to a Windows update that I had previously installed. I proceeded to uninstall the Windows update (that was previously installed) and then tried to redownload the update directly from Microsoft.

When I tried to to install the downloaded update, I received the error message: Windows update standalone "the update is not applicable"

Turns out the problem was due to the wrong architecture. I should have downloaded the 64 bit update instead of the 32 bit update.

Solution: Download the right update for the architecture on your operating system. If you have a 64 bit system, make sure you download the 64 bit updates. If you have a 32 bit system, make sure you download the 32 bit updates.

To check what architecture you have:
Go to control panel
System
System Type: 64 or 32 will be displayed

Sep 3, 2016

PARTIAL FIXED: USB 3.0 External SSD not showing up in Disk Management XHCI

Symptom: Connecting an external USB 3.0 drive, in Windows, does not display in Disk Management. The only thing you see is the device is displayed in connected USB devices.

This happened to me with an Asus Zenbook UX series laptop. Attempts to connect a Samsung T3 drive failed. The drive would not show up in Disk Management, nor in the BIOS. Disabling XHCI in the BIOS allowed the drive to show in Windows 8.1, but this would revert the drive to USB 2.0 which is not what we want.

Re-enabling XHCI in the BIOS allowed for USB 3.0, but again, the Samsung T3 drive was still not displaying.

Solution: The Windows XHCI driver needs to be updated. Go to Device Manager, USB Controllers, then right click the Intel USB 3 XHCI device and select Update Driver Software.

NOTE: Not all External USB 3.0 drives will be compatible with the Windows driver and same goes with the Intel driver. The Samsung T3 works fine with the Windows driver, but another external drive randomly disconnects after copying files.

The driver will update with a Microsoft XHCI driver, and you should be able to see your drive in My Computer as well as Disk Management.