text:
Q: Kubernetes 1.14.2 HA Master NGINX load balancer log.go:172] http: TLS handshake error from 192.168.5.32:43148: remote error: tls: bad certificate This is driving me crazy, I am NO Kubernetes expert but I am also not a novice.
I have tried unsuccessfully for three days to get past this issue but I can't and I am at the end of my rope.
I can query the cluster from my desktop after I copied the certificates from (kube-apiserver-1:/etc/kubernetes/pki/*) to my desktop.
$ kubectl -n kube-system get nodes
NAME               STATUS   ROLES    AGE   VERSION
kube-apiserver-1   Ready    master   71m   v1.14.2

The Kubernetes cluster appears healthy when I query the kube-system pods:
$ kubectl -n kube-system get pods
NAME                                       READY   STATUS    RESTARTS   AGE
coredns-fb8b8dccf-6c85q                    1/1     Running   3          65m
coredns-fb8b8dccf-qwxlp                    1/1     Running   3          65m
kube-apiserver-kube-apiserver-1            1/1     Running   2          72m
kube-controller-manager-kube-apiserver-1   1/1     Running   2          72m
kube-flannel-ds-amd64-phntk                1/1     Running   2          62m
kube-proxy-swxrz                           1/1     Running   2          65m
kube-scheduler-kube-apiserver-1            1/1     Running   1          54m

but when I query the api kubelet:
$ kubectl -n kube-system logs kube-apiserver-kube-apiserver-1
...
I0526 04:33:51.523828       1 log.go:172] http: TLS handshake error from 192.168.5.32:43122: remote error: tls: bad certificate
I0526 04:33:51.537258       1 log.go:172] http: TLS handshake error from 192.168.5.32:43124: remote error: tls: bad certificate
I0526 04:33:51.540617       1 log.go:172] http: TLS handshake error from 192.168.5.32:43126: remote error: tls: bad certificate
I0526 04:33:52.333817       1 log.go:172] http: TLS handshake error from 192.168.5.32:43130: remote error: tls: bad certificate
I0526 04:33:52.334354       1 log.go:172] http: TLS handshake error from 192.168.5.32:43128: remote error: tls: bad certificate
I0526 04:33:52.335570       1 log.go:172] http: TLS handshake error from 192.168.5.32:43132: remote error: tls: bad certificate
I0526 04:33:52.336703       1 log.go:172] http: TLS handshake error from 192.168.5.32:43134: remote error: tls: bad certificate
I0526 04:33:52.338792       1 log.go:172] http: TLS handshake error from 192.168.5.32:43136: remote error: tls: bad certificate
I0526 04:33:52.391557       1 log.go:172] http: TLS handshake error from 192.168.5.32:43138: remote error: tls: bad certificate
I0526 04:33:52.396566       1 log.go:172] http: TLS handshake error from 192.168.5.32:43140: remote error: tls: bad certificate
I0526 04:33:52.519666       1 log.go:172] http: TLS handshake error from 192.168.5.32:43142: remote error: tls: bad certificate
I0526 04:33:52.524702       1 log.go:172] http: TLS handshake error from 192.168.5.32:43144: remote error: tls: bad certificate
I0526 04:33:52.537127       1 log.go:172] http: TLS handshake error from 192.168.5.32:43146: remote error: tls: bad certificate
I0526 04:33:52.550177       1 log.go:172] http: TLS handshake error from 192.168.5.32:43150: remote error: tls: bad certificate
I0526 04:33:52.550613       1 log.go:172] http: TLS handshake error from 192.168.5.32:43148: remote error: tls: bad certificate

On the NGINX load balancer (IP: 192.168.5.32) I have configured the TCP passthrough option as specified in the Kubernetes documentation:
upstream kubernetes-api-cluster {
   server 192.168.5.19:6443;
   server 192.168.5.29:6443;
}
server {
   listen 6443;
   ssl_certificate /etc/nginx/ssl/kube-apiserver.pem;
   ssl_certificate_key /etc/nginx/ssl/private/kube-apiserver.key;
   ssl_prefer_server_ciphers on;
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
   proxy_pass kubernetes-api-cluster;
}

I can query the API server directly from the NGINX LB (IP: 192.168.5.32):
$ curl -v https://192.168.5.29:6443
* Rebuilt URL to: https://192.168.5.29:6443/
*   Trying 192.168.5.29...
* TCP_NODELAY set
* Connected to 192.168.5.29 (192.168.5.29) port 6443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Request CERT (13):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Certificate (11):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=kube-apiserver
*  start date: May 26 03:39:36 2019 GMT
*  expire date: May 25 03:39:36 2020 GMT
*  subjectAltName: host "192.168.5.29" matched cert's IP address!
*  issuer: CN=kubernetes
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x55840f1d9900)
> GET / HTTP/2
> Host: 192.168.5.29:6443
> User-Agent: curl/7.58.0
> Accept: */*

I can also query the api using the DNS entry to the api as specified in the documents:
curl -v https://kube-apiserver.mydomain.com:6443
* Rebuilt URL to: https://kube-apiserver.mydomain.com:6443/
*   Trying 10.50.1.50...
* TCP_NODELAY set
* Connected to kube-apiserver.mydomain.com (10.50.1.50) port 6443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Request CERT (13):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Certificate (11):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=kube-apiserver
*  start date: May 26 03:39:36 2019 GMT
*  expire date: May 25 03:39:36 2020 GMT
*  subjectAltName: host "kube-apiserver.mydomain.com" matched cert's "kube-apiserver.mydomain.com"
*  issuer: CN=kubernetes
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x564287cbd900)
> GET / HTTP/2
> Host: kube-apiserver.mydomain.com:6443
> User-Agent: curl/7.58.0
> Accept: */*

I can query the api server using curl as well on the API server:
curl -v https://kube-apiserver.mydomain.com:6443
* Rebuilt URL to: https://kube-apiserver.mydomain.com:6443/
*   Trying 10.50.1.50...
* TCP_NODELAY set
* Connected to kube-apiserver.epc-instore.com (10.50.1.50) port 6443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Request CERT (13):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Certificate (11):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=kube-apiserver
*  start date: May 26 03:39:36 2019 GMT
*  expire date: May 25 03:39:36 2020 GMT
*  subjectAltName: host "kube-apiserver.mydomain.com" matched cert's "kube-apiserver.mydomain.com"
*  issuer: CN=kubernetes
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x5628b9dbc900)
> GET / HTTP/2
> Host: kube-apiserver.mydomain.com:6443
> User-Agent: curl/7.58.0
> Accept: */*

The manifest on the api server contains:
cat /etc/kubernetes/manifest/kube-apiserver.yaml
...
  - command:
    - kube-apiserver
    - --advertise-address=192.168.5.29
    - --allow-privileged=true
    - --authorization-mode=Node,RBAC
    - --client-ca-file=/etc/kubernetes/pki/ca.crt
    - --enable-admission-plugins=NodeRestriction
    - --enable-bootstrap-token-auth=true
    - --etcd-servers=http://etcd-cluster.mydomain.com:2379
    - --insecure-port=0
    - --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt
    - --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key
    - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
    - --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt
    - --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key
    - --requestheader-allowed-names=front-proxy-client
    - --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt
    - --requestheader-extra-headers-prefix=X-Remote-Extra-
    - --requestheader-group-headers=X-Remote-Group
    - --requestheader-username-headers=X-Remote-User
    - --secure-port=6443
    - --service-account-key-file=/etc/kubernetes/pki/sa.pub
    - --service-cluster-ip-range=10.96.0.0/12
    - --tls-cert-file=/etc/kubernetes/pki/apiserver.crt
    - --tls-private-key-file=/etc/kubernetes/pki/apiserver.key
    image: k8s.gcr.io/kube-apiserver:v1.14.2
    imagePullPolicy: IfNotPresent
...

If you have any idea or hints on how to fix this I am all ears.  I am so frustrated with this issue, it really has gotten to me at this point.  I will continue to work on it but if anyone has a clue about this issue and can help it will be great.
Thank you.

A: Your current nginx config isn't setting up a client cert. ssl_certificate is the server cert, if you want it to present a client cert to kubernetes-api-cluster you'll have to configure nginx to forward the incoming client certificate. I've previously done this using proxy_set_header X-SSL-CERT $ssl_client_escaped_cert (documentation)
upstream kubernetes-api-cluster {
    server 192.168.5.19:6443;
    server 192.168.5.29:6443;
}

server {
    listen 6443;
    ssl_certificate /etc/nginx/ssl/kube-apiserver.pem;
    ssl_certificate_key /etc/nginx/ssl/private/kube-apiserver.key;
    ssl_prefer_server_ciphers on;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
    proxy_pass kubernetes-api-cluster;

    #forward incoming client certificate
    ssl_verify_client optional; #requests the client certificate and verifies it if the certificate is present
    proxy_set_header X-SSL-CERT $ssl_client_escaped_cert;
}

A: This is more of a troubleshooting idea to really target the source of the problem.
 If you can do:
kubectl --kubeconfig /etc/kubernetes/admin.conf get nodes

from the api server and you get a response then the problem is NOT the load balancer.  To further prove this you can copy the appropriate certificates and files to a remote workstation and do the same:
kubectl --kubeconfig [workstation location]/admin.conf get nodes

This second one obviously implies that you have direct access to the load balancer.
If this works too you have confirmation that the certificates are being passed through the TCP load balancer.
However, the error will persist as the load balancer has a check "availability" of a backend server.  This check does NOT use a certificate which produces the exception.

A: The actual root cause of the original issue was (citing the author of this post @Daniel Maldonado):

This was my mistake, I had a firewall configuration error and all
  tests indicated that it was the load balancer probing the
  kube-apiserver when in fact it was not. The issue was completely local
  to the api-server itself. If anyone gets to this point please verify
  that ALL ports are available to the API server from itself i.e.
  loopback.


Mishra Dhatu Nigam Limited (MIDHANI), a miniratna, Schedule 'B' Defence Public Sector Undertaking under the Department of Defence Production, Ministry of Defence signed Memorandum of Understanding (MoU) for the financial year 2017-18 with the Ministry. The annual MoU was signed by Secretary (Defence Production) Shri Ashok Kumar Gupta on behalf of the Ministry and Chairman and Managing Director, MIDHANI Dr. D K Likhi.
The MoU outlines targets and various performance parameters for the company. The revenue from operations as per the MoU has been targeted at ₹ 780 crore which is significant improvement over the previous years.


Many dissimilar vehicles are found with some sort of car parking assistance, but devices like Wireless parking sensors and vehicle camera kits are incredibly unsurprising. Nevertheless, firms also provide what is metaphorically referred to as just ParkAssist, which identifies a more complex driver helper with many capabilities.
Throughout this guide, we clarify what precisely parking assist is - and then, in the same manner, other named solutions, the way they function and unravel additional queries associated with vehicle automated parking.
Parking assistance is primarily observed by a substitute consideration like active assistance but represents an automatic parking aid which usually uses radar concept, video cameras and receptors. It enables the car to perform the majority of tasks by itself whenever parking in a car park or perhaps beside the street.
Although original editions of the park assist device were intended solely to help with parallel car parking, practically all present-day parking sensor kits are prepared for controlling parallel as well as bay park behaviour.
The vehicle detects it's natural environment employing the sensor device components, and as the auto parking signal continues to be traditionally used for some time now, it's considered the most standardised parking gadget that you can buy.
Detectors attached to the bumpers identify the range of obstructions through the vulnerable parts of the motor vehicle and achieve a 'hearable beep' which in turn steadily turns into even more straining sound the nearer you end up getting.
A handful of systems at the moment are put together with an electronic graphic that will display which section of the vehicle is nearest a subject, permitting a less dangerous and more meticulous manoeuvre. Car parking detectors can also be retro-fitted to a car which did not traditionally have them.
We Recommend Dolphin Car Parking Sensor Kits - Get It!
An upgrade car reverse sensor camera choice today includes a rearward facing video camera. Attached high and then directing marginally downwards, they show obstructions significantly more plainly in comparison to the rear perspective mirror. This type of camera makes use of a comprehensive angle lens system to offer an extensive field of perspective surrounding the rear of your vehicle.
These kinds of observation pictures are passed on to the vehicle driver, generally using a display attached in the dash, and frequently attribute guide marks which demonstrate 'the path of the vehicle' depending on the present-day steerage position - as well as the reverse parking camera displaying closeness to obstructions.
With the classy side of the price structure, vehicles such as the BMW attribute several video cameras sprinkled throughout the motor vehicle and may create a birds-eye experience picture. This will make it much less complicated to see whether you will press into the last in existence location, or perhaps planning to scratch all those new alloy rims.
The discretionary procedure on some vehicles allow the vehicle owner the choice of transitioning among every camera independently so that you can by way of example, just select the cam checking straight down at the kerb; therefore you will by no means go over the street kerb.
High Calibre KKmoon Car Parking Sensors - Get It!
Probably the smartest solution presently is park assist, which is as near to an utterly computerised procedure as you will currently come across - but how accurately does park assist perform? When you wish to parallel park the car or just place it inside the bay area, it is generally stimulated by depressing a particular button. The car's onboard sensor units will then commence deciphering for appropriate car parking spots.
Whenever you stop close to a possible car space, the detectors will study it and identify whether or not the location is of sensible specifications so the vehicle could be transferred. It will validate to the vehicle driver if it locates the close proximity of the parking area acceptable.
What is likely to manifest is that the vehicle park helper will reveal it's planned reverse route through an on-board multi-purpose screen. Should you be content to allow the park assist progress you on the surrounding and preferred car parking positions, you ultimately choose reverse gear - then proceed.
The automobile will start to drive on the parking position whenever you reverse closer instantly. The motorist maintains hands from the steering wheel, nevertheless keeps complete control of the clutch system, the car accelerator, as well as braking mechanism.
The assist characteristic will notify the motorist in the event the vehicle has changed direction more than enough to the car parking area - as well as being a great time to change returning to 1st gear.
It is essential to understand this kind of parking sensor kit as you may have a vehicle or wall structure straight at the rear or throughout an average bay - perhaps parallel auto parking action etc. Even though the park assistance is operating, it could be deactivated whenever you want merely by possibly overtaking the steerage - or perhaps braking to stop.
If any concern strikes the park assist system even when implemented, the communication (Park Assist Off) sign can show up on the car info screen validating that the characteristic continues deactivated. Presuming the problem is short-lived, the alert communication will vanish when the park assist is functioning.
It has grown to become widely accessible on family vehicles like the hatchback from the interests of Ford encouraging help to car purchasers. Currently, the majority of family cars and sports utility vehicles in the brand-new car marketplace can be found with park assist, even though it's hardly ever a typical characteristic.
Should you be enthusiastic about acquiring a new family car or perhaps big high-end vehicle and wish this technology built in, then you will probably need to purchase a non-obligatory bundle which includes it or maybe choose a high capacity trim within your selected car selection.
CISBO Parking Sensor Kit LED Audio Buzzer - Get It!
Brand-new vehicles are often aiming to be more secure and even more fashionable when compared to their precursors. This kind of necessity frequently demands much larger, more powerful vehicle physiques which compromises presence. Consequently, even a few of the current small vehicles can be very challenging to park without front and rear parking sensor device fitted.
Cars need to be stable in any impact since the protection standard also requires to fit the effectiveness of car physiques. This implies a lot of bodywork needs to be created from more powerful alloys instead of weak glass bringing about smaller sized windows and decreased presence.
Thankfully, there are numerous solutions suited to brand-new automobiles that can help to make factors much less complicated. Right here, we explain to you probably the most prevalent, plus some of the smartest car parking assistants available today, and anticipating in the foreseeable future.
Incorporating the video camera and car radar detector components of the technology described previously, car park assistance solutions may evaluate the dimensions of any parking location, advise the driver if it's the appropriate proportions and with the vehicle driver manipulating velocity - approach towards the position flawlessly.
Car Rover Parking Sensor BIBI Sound Radar - Get It!
It matters little should you be searching for a location on either side of the street or in a multi-level car parking area as well - because many of these models are in a position to function both similarly.
A few car producers are working with entirely electronic car parking devices, which negate the importance of the vehicle driver to stay in a vehicle. Excellent for individuals who own a small garage, you just walk out next to your home, and the car will perform to suit your needs.
In the same Park Assist way, BMW continues to be using the strategy of a vehicle that may park on their own - helping you save the problem of actually obtaining a car parking space whatsoever and might be a super experience.
Active parking assistance is just a helper and (not) the replacement for awareness of your immediate environment. You are still accountable for tight turning, car parking and getting out of any car parking location. Whenever manoeuvring with or without front and rear parking sensors or pulling out of any auto parking region, ensure that there are merely no individuals, pets or items around.
The Parking Sensor Kit FUNANASUN 2.4G Wireless - Get It!
One word of caution is if the car swings out whenever parking - accomplishing this can get you across on the opposing side of the road. This may cause an accident with another road user, but there exists the probability of a significant collision. Be aware of other motorists whenever parking, quit the car when required or even terminate the car active parking assist operation.
If inevitable, make sure you drive through obstructions including kerbs slowly and gradually - not from a sharp perspective as you might harm small wheels or tyres. Car parking assist might suggest places that are not really appropriate for parking, by way of example where any parking is restricted, while in front of pavements, gates and departures or upon unacceptable surface areas etc.
The device may prompt you on small streets or be driving as near to the car parking space as is possible. Parking spots which can be littered, overgrown or perhaps somewhat populated by truck bars may be determined inaccurately or not by any means. Snow or maybe significant rainfall can result in any parking space becoming assessed imprecisely. Take notice of the alert messages throughout the car parking technique.
LED Buzzer COCAR Car Parking Sensor - Get It!
Whenever carrying a large quantity protruding from the car, you must not implement any type of active parking assistance. Under no circumstances employ whenever wheel chains are set-up. Make sure the tyre pressures are always accurate as it has an immediate impact on the car parking attributes of the automobile.
In general, parking assist is a digitally automated helper with ultrasound utilised to gauge the street on both equal sides of the car. An appropriate parking location is suggested by the car parking mark. Active steerage involvement may help you at the time of auto parking.
Implement (Assist) for car parking spots which can be parallel towards the path of travelling, which can be on direct streets, indeed not bends which can be on a single level like the street and many others.
If there are items are somewhat over the recognition spectrum, your parking sensor kit interpretations may risk turning too early, and you might cause a crash. There exists a likelihood of an incident in the event you will find obstructions over the detection array, so give up and disconnect APA instantly.


Amsterdam is a city of bicycles. People don't just cycle everywhere, they also park their bikes everywhere. Unfortunately, bicycle theft and vandalism are a real issue. So use a guarded bike parking facility when possible. There are many of them in the centre of Amsterdam.
Amsterdam has a strict bike parking policy. Signs indicate where it's forbidden to leave your bike. Look out for signs saying Verboden fietsen te plaatsen (Forbidden to park bikes). There are also zones - e.g. around train stations - with a 'no parking outside the designated facilities' policy. The city of Amsterdam has its own sign for these zones that reads 'Geen (brom)fietsen plaatsen buiten de fietsvoorzieningen'.
Be warned: abandoned and wrongly parked bikes may be removed by the police. To retrieve your bike, you need to go to the Fietsdepot (Bicycle Depot), where you'll have to pay a small fine. For more information on where and how to collect your bike, go to the Amsterdam City Council website.
If you're bringing your own bike to Amsterdam, make sure it has good locks (preferably two) and use them at all times. Here are some top tips from the police for preventing bike theft.
Bike theft is a real issue in the centre of Amsterdam. Even if you've locked you bike properly, you might find it missing on your return. Especially if you have an expensive bike, or depend on it for your holiday, it's advisable to use one of the guarded bike parking facilities. It is not possible to book a place in advance.
Amsterdam City Council provides guarded bike parking which is free of charge for the first 24 hours. After that you pay a small fee. The Amsterdam City Council website has an interactive map with the guarded bike parking facilities in the centre of Amsterdam (in Dutch). There are also commercial guarded bike park facilities which always charge a small fee.
Amsterdam residents who don't have a safe place to leave their bike at home, often get a year ticket for a guarded bicycle park near their home. It works out cheaper than constantly replacing stolen bikes! To find a guarded bike parking facility near your home, go to the Stalling Amsterdam website (in Dutch).


If you want to buy Atmore 3 Piece Coffee Table Set By DarBy Home Co , seek out good quality wooden joinery. If your piece is stuck collectively or if perhaps nails and anchoring screws are used to keep the furniture piece with each other, it will not very last lengthy. It is best to spend more to have a Atmore 3 Piece Coffee Table Set By DarBy Home Co with some excellent hardwood joinery work with it. Actually consider the thighs and legs for any Atmore 3 Piece Coffee Table Set By DarBy Home Co you are looking for purchasing. Those legs need to have to not only assist bodyweight, they'll additionally be in contact with your flooring surfaces. When they appear like they'll do injury to your ground due to the components utilized (like aluminum), then you might like to choose a diverse type. When selecting Atmore 3 Piece Coffee Table Set By DarBy Home Co to your living room area, choose fairly neutral colors. It is possible to change the colours along with other decor of the area by altering highlights, color and also other things. As a result, it is simple to change up the design of your living room without spending a lot of money.
This sofa is praised for unique style and comfort. Its striking flare-equip sofa with chairs offers you optimum space for stretching and using your living space. So usually the contemporary sofa chaise adds to the great thing about this established. The set also includes cushion leading arms cushioned back again and chairs for maximum comfort. The sofa includes a corner-obstructed wood frame that gives the couch enough toughness. The sofa steps 89 inches broad x 62 in . in depth x 4 in . in height which makes it suitable for moderate dimension areas. You may need to do minor assembling eg from the thighs.
This established features a one left arm sofa established, two armless couch models, and one corner couch established. This provides sufficient room to accommodate your friends and relations. The fabric is 100Percent polyester for sufficient durability and comfort. The advantage of this couch set may be the mixing and matching of chairs within the space in the room for a ideal form. And also allows for fitted even in small areas. It requires just light putting together.It also functions drive cushions for optimum comfort and ease. You might want to do this established. It works nicely.
This RTA loveseat provides various kinds of upholstery depending on the material. That considerably incorporates bed linen and velvet. Advanced tones, Marzipan, Stoneware-Light tan and Rye-Dark brown improve the style of the sofa. Choose the shading and also the materials that depends on the stylistic style of your room. Not only the shading, the fabric can also mirror the difference in style. Ensure that the fabric you choose fits the concept of the space. This loveseat votes in support of combining the current design with an exemplary style. It has been increased through the arms that begin to feed the sofa. With this particular mix, you only witness improved comfort and stylish design when lighting the patches.
If the Chesterfield is the elegant man amongst sofas, the Cabriole is the grandes dame. Noted for its uncovered wooden and elegant thighs, similar to the Louis XV period, the cabriole also offers a unique outline. It had been additionally a well-liked form in the function of Fort Bragg Chairside Table producer Thomas Chippendale. Usually, the back is one continuous item without cushions and has an elegant curving line. This particular cabriole version includes jewels in the tufts for added allure. It is a couch style that can be as basic or opulent as you desire. Upholstered having a luxurious materials like purple velvet produces a significantly different style sensation than if it had been upholstered in a much more muted, textural neutral. The main aura of elegance stems from its overall shape and lithe legs meaning it'll always lend a refined atmosphere to some space.
The term this is actually the comfort and ease and complicated look. This established includes a tufted back rest and toe nail mind highlight that gives it the subtle look. Its grey colour contributes to its remarkable look. It can match up to 8 inches mattress. That on your own lets you know how comfy the established could be. Notably, it does not include a mattress. So you may need to purchase one. The trundle includes a castor to enable easy access. You may also draw the trundle that people sit on. Just to mention, it may need putting together, however its very easy to put together.
This suits you if all you need is a beautiful coach. It is designed with a flared frame and pillow leading amrests inside a awesome cobblestone gray. Now, it has tough foam soft cushions that are wrapped up in inside a polyester upholstery to bring about the specified comfort. It has a durable corner blocked body that adds to the sturdiness. Also, feet are in a fake wooden finish. It has an remarkable gray colour that suits with any decoration. Its dimensions are 89 T by 39 Deb by 40 H therefore large enough to support you together with your loved ones/friends. More importantly, it occurs fully put together. This saves you the agony of getting to put together the set.
This reclining loveseat requires the second place simply because its a super affordable, super comfy choice that may participate in most home decorations designs. Its wood body is cushioned with circles (for some spring) and-density foam (for some gentle), and padded with brownish fake leather-based which makes it an ultra-flexible furniture piece. Add it to the person cave for a cozy destination to watch the sport (and dont worry about any spillsits vinyl furniture tends to make clean-up easy) or your family room with a couple of ornamental toss cushions for the ideal spot to cozy up after a long-day. Real-life customers adore this reclining loveseat because its comfy, durable, easy to assemble one rater even noted that they was able to assemble two units in under forty-five minutes! and delivery in the vendor is easy.
This is the subsequent couch on our list. It is additional comfortable and incredibly ideal for small areas or loft living. It is padded in rayon fabric, potential customers inset control keys that provide an elegant gemstone-tufted design. It is constructed of long lasting materials and the legs are constructed with durable wooden to increase its durability. The loveseat has an espresso discolored wood thighs and no-marking feet caps. It offers an appropriate froth cushioning and polyester fabric furniture that makes it extremely magnificent. It features a longue place that gives an exceptional room for relaxing.
Carolina Mild Grey Material Sectional Couch is well known because of its stunning comfort and ease and impressive design. It has a modular design that allows for several arrangement choices to meet your requirements.The set functions soft material and pushes soft cushions to create the specified comfort. More to the point, its of a great dimension to accommodate you together with the family of buddies. Depending on the space as well as your preferred form, you are able to combine the I chairs to produce a remarkable shape. Its highly recommended for those with little areas and requires a sofa.
The word here is the comfort and complicated look. This set includes a tufted backrest and nail mind accent that provides the sophisticated look. Its grey color adds to its impressive appear. It can fit up to 8 in . mattress. That alone tells you how comfortable the established can be. Notably, it doesn't incorporate a mattress. So you may want to purchase one. The trundle features a castor to allow quick access. You may even pull the trundle for people to take a seat on. Simply to mention, it should take putting together, however its very easy to put together.


Can't access forum when on wifi.
So ever since I've joined the club forum I cannot access it on my wifi, all I get is "Forbidden you don't have permission to access this server" but I can access it when my phone is on the mobile network, is there anyway around this problem?
How are you trying to access the site ? Via the webpage or Tapatalk?
Via the webpage, also tried with Tapatalk hoping it will work but still get error message.
I've not tried it on other wifi networks, will give it a go later.
So I'm guessing the network you mainly use is not yours ?
Sorry meant to say "on the home wifi network I mainly use is the problem"


Pressalit sponsors a number of organisations, associations and institutions. Partly because we as a bigger commercial company naturally want to support initiatives in our local area. Partly because, by associating our company name with events that give people positive experiences, we say something important about our products.
Every year Pressalit receives numerous sponsor and support applications. There are many great causes that merit funding and we try to support as many as we can. Because of the large amount of applications, we obviously have to say no to many of them.
To create the best possible context for our sponsorship activities, we have chosen to prioritise certain focus areas based on how well they match Pressalit - in terms of products and company values, and where we have striven to set up long-term partnerships.
If you are looking for sponsorship for a project, an organisation, an association or other, please contact us by e-mail.


Windows Embedded 8.1 Handheld is the next generation of Microsoft's leading platform for business-centered handheld devices. Windows Embedded 8.1 mobile devices will securely improve the user experience, automate data collection and improve workforce productivity.
CT50, Windows Embedded 8.1 Handheld, (4G LTE), UMTS/HSPA+ (3G), GSM/GPRS/Edge, 1XRTT/EV-DO, 802.11 A/B/G/N/AC, 1D/2D Imager (N6600), 2.26 Ghz Quad-Core, 2GB/16GB Memory, 8 MP Camera, Bluetooth 4.0, NFC, Battery 4,060 mAh, U.S. FCC General CS. Interface Cables And Charging Cradle Sold Separately. Single Charging Dock (Part# Ct50-Hb-1) And Usb Cable For Single Dock (Part# 321-576-004). Quad Charging Dock (Part# Ct50-Cb-1).


Promotion of a new site is a quite complicated process. The main difficulty poses the time to get the domain indexed in search engines. The duration of this process is determined automatically and can last up to two or three weeks. Moreover, the new-born site does not have well-defined structure and content. It requires the correct setting, optimization, testing of its availability and much more. In case that a new site already has some material and works online for a certain period of time, its capabilities are clear.
Search engine optimization of a new site is a very time-consuming process, around four months. The reason for that is the new sites code, which shouldnt be optimized immediately just because the search engines wont let a fresh site with optimized content to be in top ten no matter how correct its articles are.
It is easier to show your site from other popular platforms in form of links and banners or publish information about it in portals, catalogues, social networks with a link to your source. These publications give value to your site as well as comments and likes.
Another way to speed up the promotion of a new site is to buy an old domain. You need to examine the history of a domain, contact the seller, purchase and put your new site to it. Appearing in the network, the site will take its place in the search results list and will be analyzed by the search engines. However, it still needs unique content (text and images), constant update, addition of new material, text changes, layout and images optimization to attract web crawlers. Only after that and gaining 20 pages in search engine it is possible to start optimization and new website promotion.
Take into account that purchasing links for a new web-project can have a negative effect on promotion. It is better to have short, but memorable domain without hyphens.
Website optimization is a difficult work. It includes writing, filling with new pages, editing, increasing value for the upcoming promotion and only after that adding necessary code changes. It is senseless to often change URL of pages in a new web-project, but better to use understandable URL, which gives value to the keywords.
It is not recommended to introduce new site in contextual advertising or use second domain for ads network. There is a risk for optimized pages of a new site to be filtered in the long run. The better and more profitable thing to do is to advertise your site via web banners on initial stage of development. All you need is to purchase place in a popular web-project and at 100-500 euro a week your site starts to be visited.
Promotion by means of links purchase is very unsafe. The more appropriate way is to exchange links with sites on the same subject or competitors from other regions.
Those are the hints for the development of a new site, though we highly recommend you to use a professional optimizer for this purpose.


#PromoDay2018 is an online writer's conference. Free registration will get you access to 10 lectures and many other resources geared towards helping authors succeed at marketing, branding, and more.
More info here. Hosted by Jo Linsdell.


Discussion in 'For Sale: Effects and Pedals' started by DirtyDuke, Aug 5, 2017.
Here are Johns descriptions of them. The Dumbloid has slight 'catch' on the dial and the switch but it works perfectly. They are just a little too close together.
Asking $200 for the Dumbloid, $160 for the cornish clone and $250 for the Openhaus.
I can get pics of mine but they look exactly like the ones on Johns website.
JBoogy, ZombiCrow and gsquare like this.


Insulin Syringes - BD Ultra-Fine II Short Needle 90ct 3/10cc 31g Short Needle 90ct U-100 INSULIN For 30 Units or Less 31-Gauge 5/16" (8mm) Needle 90 Sterile Single Use Syringes (9 packs) NDC #08290328291 All BD insulin syringes are... Engineered with optimal point geometry for maximum comfort and reliability Coated with special Micro-Bonded lubrication for a more comfortable injection Manufactured with a special surgical grade of stainless steel Subject to 100% needle point inspection to assure consistent high quality Non-toxic non-pyrogenic and DO NOT CONTAIN LATEX or natural rubber latex Please consult with your Health Care Professional before using this product. We may require the order of a Physician for this item depending on the shipto State or County. To ensure maximum safety and comfort you should never use a syringe more than once. For more details read about the risks of needle reuse.


Rent to Own is also known as Lease to Own, Lease Option, or Rental Option is a program that offers individual(s) to lease or rent a property for a predetermined period of time, while accumulating a sizable down payment to facilitate the purchase of the property.
· in the last couple of years, you have gone through a bankruptcy or consumer proposal.
If any of these situations describe your situation then you should consider and take advantage of our rent to own program.
Once I have reviewed your profile as a borrower, I will provide you with a report on the actions to be taken to improve your credit. I will also see the amount or value of the property you can afford and when you can do the purchase once you have taken the appropriate actions to improve your situation. If you agree and commit to apply my recommendations then I approach my group of investors with your profile and get a commitment from one of them to purchase the house, now the exciting part , you will be introduced to a realtor for YOU to shop of your future house . Once you have selected the house, the negotiations starts between the investor and the seller. If an agreement is reached and the inspection is satisfactory then the offer is accepted and we close on the purchase as soon as possible for you to move into your house .
The program could be for 2 or 3 or 4 years,it will depend of your profile, how much work we need to do and the time it will take to get you to qualify.
The first few years you will pay a rental fee and the savings that you use to put aside will be now be paid to the investor.These savings or extra money are called credits and will be credited BACK to YOU at the end of the program. The accumulated credits will become your down payment to be able to secure a mortgage in your name and take possession of the house, the home you have been enjoying all these years.
At the end of the program, I will review your profile again to ensure you qualify and to start getting a commitment from my lenders and get you the best rate and options on the market.
Click here to read the frequently asked questions and answers.
And provide me with your name and phone number for me to contact you to set up a time and date to discuss.


Founded in 1906 and the oldest organisation of its kind in the world, the Antiquarian Booksellers' Association is the senior trade body for dealers in antiquarian and rare books, manuscripts and allied materials in the British Isles. Members are elected to the ABA solely on the basis of proven experience, expertise and integrity. They are required to observe the highest professional and ethical standards. The display of the Association's badge pledges members to: the authenticity of all material offered for sale the expert and proper description of all such material the disclosure of all significant defects or restorations the clear, accurate and professional pricing of all material the fairness and honesty of offers to purchase. For the last forty years, the Association has run a small number of high quality book fairs. At present there are two major fairs each year. Firsts London is held at Battersea in June (7-9 June 2019), and the Chelsea Book Fair takes place in Chelsea Old Town Hall during November (2-3 November 2019). Smaller fairs are held in Edinburgh and Bristol, in concert with the PBFA. The Association also provides a Benevolent Fund for charitable use to help all UK antiquarian booksellers and their dependants, and also for educational purposes.
Firsts London, the ABA's summer fair, is the oldest and one of the most important fairs of the rare book trade, taking place in London in June, while the Chelsea Book Fair fair takes place in November.


We want to create our own FindInternships.com internship program and pay our interns $50.00 an hour. Why not? Right?
However, we need your quick response to our one question survey below so that we can decide if there is enough interest.
We need to know if YOU want to get paid $50.00 an hour for a social media internship with us?
FindInternships.com is looking to pay $50/hr for a website, social media, and app tester. Click here to read more.


text:
* Follow our Twitter account at [https://twitter.com/bigdatagenomics/](https://twitter.com/bigdatagenomics/)
* Chat with ADAM developers at [https://gitter.im/bigdatagenomics/adam](https://gitter.im/bigdatagenomics/adam)
* Join our mailing list at [http://bdgenomics.org/mail](http://bdgenomics.org/mail)
* Checkout the current build status at [https://amplab.cs.berkeley.edu/jenkins/](https://amplab.cs.berkeley.edu/jenkins/view/Big%20Data%20Genomics/)
* Download official releases at [https://github.com/bigdatagenomics/adam/releases](https://github.com/bigdatagenomics/adam/releases)
* View our software artifacts on Maven Central at [http://search.maven.org/#search%7Cga%7C1%7Corg.bdgenomics](http://search.maven.org/#search%7Cga%7C1%7Corg.bdgenomics)
* See our snapshots at [https://oss.sonatype.org/index.html#nexus-search;quick~bdgenomics](https://oss.sonatype.org/index.html#nexus-search;quick~bdgenomics)
* Look at our CHANGES file at [https://github.com/bigdatagenomics/adam/blob/master/CHANGES.md](https://github.com/bigdatagenomics/adam/blob/master/CHANGES.md)

ADAM is a genomics analysis platform with specialized file formats built using [Apache Avro](http://avro.apache.org), [Apache Spark](http://spark.incubator.apache.org/) and [Parquet](http://parquet.io/). Apache 2 licensed.

## Apache Spark

[Apache Spark](http://spark.incubator.apache.org/) allows developers to write algorithms in succinct code that can run fast locally, on an in-house cluster or on Amazon, Google or Microsoft clouds.

For example, the following code snippet will print the top 10 21-mers in `NA2114` from 1000 Genomes.

```scala
val ac = new ADAMContext(sc)
// Load alignments from disk
val reads = ac.loadAlignments(
  "/data/NA21144.chrom11.ILLUMINA.adam",
  predicate = Some(classOf[ExamplePredicate]),
  projection = Some(Projection(
    AlignmentRecordField.sequence,
    AlignmentRecordField.readMapped,
    AlignmentRecordField.mapq)))
// Generate, count and sort 21-mers
val kmers = reads.flatMap { read =>
  read.getSequence.sliding(21).map(k => (k, 1L))
}.reduceByKey((k1: Long, k2: Long) => k1 + k2)
  .map(_.swap)
  .sortByKey(ascending = false)
// Print the top 10 most common 21-mers
kmers.take(10).foreach(println)
```

Executing this Spark job will output the following:

```
(121771,TTTTTTTTTTTTTTTTTTTTT)
(44317,ACACACACACACACACACACA)
(44023,TGTGTGTGTGTGTGTGTGTGT)
(42474,CACACACACACACACACACAC)
(42095,GTGTGTGTGTGTGTGTGTGTG)
(33797,TAATCCCAGCACTTTGGGAGG)
(33081,AATCCCAGCACTTTGGGAGGC)
(32775,TGTAATCCCAGCACTTTGGGA)
(32484,CCTCCCAAAGTGCTGGGATTA)
```

You don't need to be Scala developer to use ADAM. You could also run the following ADAM CLI command for the same result:

```bash
$ adam-submit count_kmers \
       /data/NA21144.chrom11.ILLUMINA.adam \
       /data/results.txt 21
```

## Apache Parquet

[Apache Parquet](http://parquet.incubator.apache.org) is a columnar storage format available to any project in the Hadoop ecosystem, regardless of the choice of data processing framework, data model or programming language.

- Parquet compresses legacy genomic formats using standard columnar techniques (e.g. RLE, dictionary encoding). ADAM files are typically ~20% smaller than compressed BAM files.
- Parquet integrates with:
    - **Query engines**: Hive, Impala, HAWQ, IBM Big SQL, Drill, Tajo, Pig, Presto
    - **Frameworks**: Spark, MapReduce, Cascading, Crunch, Scalding, Kite
    - **Data models**: Avro, Thrift, ProtocolBuffers, POJOs
- Parquet is simply a file format which makes it easy to sync and share data using tools like `distcp`, `rsync`, etc
- Parquet provides a command-line tool, `parquet.hadoop.PrintFooter`, which reports useful compression statistics

In the counting k-mers example above, you can see there is a defined *predicate* and *projection*. The *predicate* allows rapid filtering of rows while a *projection* allows you to efficiently materialize only specific columns for analysis. For this k-mer counting example, we filter out any records that are not mapped or have a `MAPQ` less than 20 using a `predicate` and only materialize the `Sequence`, `ReadMapped` flag and `MAPQ` columns and skip over all other fields like `Reference` or `Start` position, e.g.

Sequence| ReadMapped | MAPQ | ~~Reference~~ | ~~Start~~ | ...
--------|------------|------|-----------|-------|-------
~~GGTCCAT~~ | ~~false~~ | - | ~~chrom1~~ | - | ...
TACTGAA | true | 30 | ~~chrom1~~ | ~~34232~~ | ...
~~TTGAATG~~ | ~~true~~ | ~~17~~ | ~~chrom1~~ | ~~309403~~ | ...

## Apache Avro

- Apache Avro is a data serialization system ([http://avro.apache.org](http://avro.apache.org))
- All Big Data Genomics schemas are published at [https://github.com/bigdatagenomics/bdg-formats](https://github.com/bigdatagenomics/bdg-formats)
- Having explicit schemas and self-describing data makes integrating, sharing and evolving formats easier

Our Avro schemas are directly converted into source code using Avro tools. Avro supports a number of computer languages. ADAM uses Java; you could
just as easily use this Avro IDL description as the basis for a Python project. Avro currently supports c, c++, csharp, java, javascript, php, python and ruby.

## More than k-mer counting

ADAM does much more than just k-mer counting. Running the ADAM CLI without arguments or with `--help` will display available commands, e.g.

$ adam

```
     e            888~-_              e                 e    e
    d8b           888   \            d8b               d8b  d8b
   /Y88b          888    |          /Y88b             d888bdY88b
  /  Y88b         888    |         /  Y88b           / Y88Y Y888b
 /____Y88b        888   /         /____Y88b         /   YY   Y888b
/      Y88b       888_-~         /      Y88b       /          Y888b

Choose one of the following commands:

ADAM ACTIONS
             compare : Compare two ADAM files based on read name
           findreads : Find reads that match particular individual or comparative criteria
               depth : Calculate the depth from a given ADAM file, at each variant in a VCF
         count_kmers : Counts the k-mers/q-mers from a read dataset.
           transform : Convert SAM/BAM to ADAM format and optionally perform read pre-processing transformations
          adam2fastq : Convert BAM to FASTQ files
              plugin : Executes an ADAMPlugin

CONVERSION OPERATIONS
            bam2adam : Single-node BAM to ADAM converter (Note: the 'transform' command can take SAM or BAM as input)
            vcf2adam : Convert a VCF file to the corresponding ADAM format
           anno2adam : Convert a annotation file (in VCF format) to the corresponding ADAM format
            adam2vcf : Convert an ADAM variant to the VCF ADAM format
          fasta2adam : Converts a text FASTA sequence file into an ADAMNucleotideContig Parquet file which represents assembled sequences.
           reads2ref : Convert an ADAM read-oriented file to an ADAM reference-oriented file
             mpileup : Output the samtool mpileup text from ADAM reference-oriented data
       features2adam : Convert a file with sequence features into corresponding ADAM format
          wigfix2bed : Locally convert a wigFix file to BED format

PRINT
               print : Print an ADAM formatted file
         print_genes : Load a GTF file containing gene annotations and print the corresponding gene models
            flagstat : Print statistics on reads in an ADAM file (similar to samtools flagstat)
                 viz : Generates images from sections of the genome
          print_tags : Prints the values and counts of all tags in a set of records
            listdict : Print the contents of an ADAM sequence dictionary
 summarize_genotypes : Print statistics of genotypes and variants in an ADAM file
         allelecount : Calculate Allele frequencies
           buildinfo : Display build information (use this for bug reports)
                view : View certain reads from an alignment-record file.
```

You can learn more about a command, by calling it without arguments or with `--help`, e.g.

```
$ adam transform
Argument "INPUT" is required
 INPUT                                                           : The ADAM, BAM or SAM file to apply the transforms to
 OUTPUT                                                          : Location to write the transformed data in ADAM/Parquet format
 -coalesce N                                                     : Set the number of partitions written to the ADAM output directory
 -dump_observations VAL                                          : Local path to dump BQSR observations to. Outputs CSV format.
 -h (-help, --help, -?)                                          : Print help
 -known_indels VAL                                               : VCF file including locations of known INDELs. If none is provided, default
                                                                   consensus model will be used.
 -known_snps VAL                                                 : Sites-only VCF giving location of known SNPs
 -log_odds_threshold N                                           : The log-odds threshold for accepting a realignment. Default value is 5.0.
 -mark_duplicate_reads                                           : Mark duplicate reads
 -max_consensus_number N                                         : The maximum number of consensus to try realigning a target region to. Default
                                                                   value is 30.
 -max_indel_size N                                               : The maximum length of an INDEL to realign to. Default value is 500.
 -max_target_size N                                              : The maximum length of a target region to attempt realigning. Default length is
                                                                   3000.
 -parquet_block_size N                                           : Parquet block size (default = 128mb)
 -parquet_compression_codec [UNCOMPRESSED | SNAPPY | GZIP | LZO] : Parquet compression codec
 -parquet_disable_dictionary                                     : Disable dictionary encoding
 -parquet_logging_level VAL                                      : Parquet logging level (default = severe)
 -parquet_page_size N                                            : Parquet page size (default = 1mb)
 -print_metrics                                                  : Print metrics to the log on completion
 -qualityBasedTrim                                               : Trims reads based on quality scores of prefix/suffixes across read group.
 -qualityThreshold N                                             : Phred scaled quality threshold used for trimming. If omitted, Phred 20 is used.
 -realign_indels                                                 : Locally realign indels present in reads.
 -recalibrate_base_qualities                                     : Recalibrate the base quality scores (ILLUMINA only)
 -repartition N                                                  : Set the number of partitions to map data to
 -sort_fastq_output                                              : Sets whether to sort the FASTQ output, if saving as FASTQ. False by default.
                                                                   Ignored if not saving as FASTQ.
 -sort_reads                                                     : Sort the reads by referenceId and read position
 -trimBeforeBQSR                                                 : Performs quality based trim before running BQSR. Default is to run quality based
                                                                   trim after BQSR.
 -trimFromEnd N                                                  : Trim to be applied to end of read.
 -trimFromStart N                                                : Trim to be applied to start of read.
 -trimReadGroup VAL                                              : Read group to be trimmed. If omitted, all reads are trimmed.
 -trimReads                                                      : Apply a fixed trim to the prefix and suffix of all reads/reads in a specific read
                                                                   group.
```

The ADAM transform command allows you to mark duplicates, run base quality score recalibration (BQSR) and other pre-processing steps on your data.

There are also a number of projects built on ADAM, e.g.

- [RNAdam](https://github.com/bigdatagenomics/RNAdam) provides an RNA pipeline on top of ADAM with isoform quantification and fusion transcription detection
- [Avocado](https://github.com/bigdatagenomics/avocado) is a variant caller built on top of ADAM for germline and somatic calling
- [PacMin](https://github.com/bigdatagenomics/PacMin) is an assembler for PacBio reads
- A `Mutect` port is nearly feature complete
- Read error correction
- a graphing and genome visualization library
- [BDG-Services](https://github.com/bigdatagenomics/bdg-services) is a library for accessing a running Spark cluster through web-services or a [Thrift](https://thrift.apache.org/)- interface
- [Short read assembly](http://www.github.com/fnothaft/xASSEMBLEx)
- Variant filtration (train model via `MLlib`)

redpajama_set_name: RedPajamaGithub


text:
Sandy Fairbairn spurs memories in the rust belt wonderland
What was the most awful thing about living as an adult on the same streets where you grew up? It's so easy to remember how perfect it was supposed to be. Reminders were always smacking you in the face. Good things happened—sure, I knew that. They just happened in other places. (Craig Davidson, Cataract City)
There's a banal vulgarity to the rust belt wonderland that spans much of Niagara. A meanness, if you will, that is not so much a simple narrative as one that's a stain spreading out in multiple directions. The ruins and building of what was, and the sparseness of what still 'is', define this place. When walking the streets of this city (I walk everywhere, usually), I find myself often on Geneva Street or St. Paul in the downtown, two of the main spaces of the 'Garden City' of St. Catharines. The images I'm talking about here and responding to (already with a certain acidity) are of the same areas, by Sandy Fairbairn. A graduate of OCA (long before it was OCAD), Fairbairn is from Welland – another outpost of the rust belt wonderland that is this region – and his eye has often been turned onto the architectural detritus that defines Niagara.
Earlier in 2020, I curated an exhibition of his images of Welland (Welland: Times Present Times Past) at AIH Studios in downtown Welland; some of the photographs date back to the early 1970s, whereas others were as recent as 2019. At the reception, people exchanged stories and memories of the various sites and buildings, and a similar, very personal immediacy is manifest for me, in engaging with these photographic fragments of St. Catharines.
In many ways, I offer a unique perspective on Fairbairn's 'documentary' works. I grew up here, and walked those same streets on my way to work, just off the downtown, or as a meandering teenager seeking something 'more' than what was 'here.' When I left at nineteen, I was driven by the same sentiment as that shared with me by Elizabeth Chitty (an artist, educator and activist also 'from here'). Both of us could not leave quickly enough, and yet both of us – like others, I imagine – find ourselves back here. When I returned to Niagara over five years ago, I 'chose' to interpret it as a new city, as it had, in some ways, changed greatly: but in other ways, it was as though nearly three decades hadn't passed.
In Peter Straub's fine horror novel KOKO, one character asked another "Do you really think there is a real point where then stops and now begins? Don't you know that down deep the things that happen to you never really stop happening to you?" Less pleasantly introspective, I'd also offer the reminiscences of the artist in Margaret Atwood's Cat's Eye, when revisiting a city she abandoned (or felt abandoned by) emotionally long before her literal departure: "I am the wrong person to ask. This city is filled with bad memories. I can no longer see it for what it is….The fact is that I hate this city. I've hated it so long I can hardly remember feeling any other way about it." Whether or not I hate this city depends upon the day, and vagaries of the political and developer class. But that contempt is present, turbid, below the surface.
But this dourness isn't reflected formally in Fairbairn's images (which are but a fraction of his ongoing work, shooting buildings and sites in Niagara, from Welland to St. Catharines to Pelham to Fonthill). Often captured 'straight on', with Fairbairn across the street from the 'subject', the buildings – whether in use, or in a 'new' iteration of being, or abandoned and boarded up – are thoughtful portraits. His eye is unflinching: no fluffy, extraneous 'contextualization' here. The dead on framing is almost like a mug shot or the minimalist air of the coroner's image taken of the dead, to help record, remember and identify 'reality.' But in this immediacy is also a sensitivity. I've described Fairbairn as a social historian with his lens, but I don't think he's comfortable with that term (this doubt makes me think that he deserves that accolade even more). There are thoughtful elements evoking the paintings of John Kasyn here, or even Lawren Harris' St John's Ward scenes.
The rich blue skies, the vibrant colours (whether in an image of a 'nameless' building facade, all bright yellow, or the richly textured, weathered face of another, forgotten site) and the attention to detail of Fairbairn's images hold the viewer. This is true whether or not you personally 'know' the subjects, or not. But seeing a 'mom and pop' corner store that I pass often, that another friend speaks about as a space that often allowed purchases even when she was a bit short of funds, or restaurants at the corner of Geneva and Welland Avenue that I trudged past many a day on my way to work, as a teen, or now, doing the same, give these moments a deeper resonance. There's a literal density of the tightly packed buildings that speaks to a density of history. Sometimes this is very specific. The old St. Catharines Standard (still the 'main' newspaper here) building has sat just off St. Paul, off the downtown, empty and evoking a rusty dereliction in degraded tones of its edifice. But many of the other sites that Fairbairn documents lack even worn signage, often having boarded up or 'tarped' windows, stripped not just of any illusion of prosperity but also of any hints of identity. The neglected spaces are legion, and nameless, and too many to even remember. When speaking to a friend who also grew up here and has left, only returning for brief, rare visits, she expressed an idea that (again) is echoed in Atwood's previously cited book: "Most of the time though I exult, and think I have had a narrow escape."
A side note: as I was working on this piece – which, as I indicated earlier is not my first exposure to Fairbairn's images – Brock University sold historic Rodman Hall Art Centre to a developer for 'residential use', betraying both the cultural and the larger community of St. Catharines. The city that imagines itself the 'jewel' of Niagara will now no longer have a public art gallery (and the heritage designation of the historic site may or may not be lost, to be blunt). This greedy disdain for history and community reveals how this smug arrogance of St. Catharines is just hypocrisy. In the rust belt wonderland of Niagara (and in truth, I am not so much 'Niagara based' as dividing my time between St. Catharines and Welland), the facades are often false. Welland is considered a 'slum' of Niagara, and this is as untrue as St. Catharines being the de facto 'capital' of the area. Welland is, perhaps (quoting an artist and activist in that city, James Takeo) a blank slate with possibilities, whereas St. Catharines is more so a pretense, where the mayor has, during his tenure, forgotten he serves the citizens and not developers.
Fairbairn doesn't title his images, other than date and location. As he often shoots the same sites over a period of time, this sparseness of title is often more evocative, and in some instances matches the bareness of the scenes. This offers a number of potential interactions: these aren't named as they've shifted, so often, in use, or because they're closed, and thus have 'no use', in the city, where – as we have seen with Rodman Hall and Brock University – 'development' is a mantra, that perhaps uses repetition by politicians to disguise its emptiness. But it also is a bit off putting, the lack of names: "I came to sense a sinisterness about the city, too. It wasn't anything you could pinpoint—how could a city be evil? A city was just concrete and steel and glass, feeling no pain, retaining no memories. But then houses are made of the same stuff, and people go around claiming they're haunted all the time." That's another barbed utterance from Craig Davidson, from Cataract City. It's an appropriate book to mention here – not solely for its nomination for the Scotiabank Prize in 2013, or that the author also grew up in St. Catharines – but because the title refers to Niagara Falls, and a brief descriptor of the book offers that "some places you just can't leave. The specific gravity's too strong, keeps you locked in orbit. You've got to be launched out, like a circus performer from a cannon." If that seems a bit dark, as a space to stand in which considering Fairbairn's images, it will only be 'worse' if I admit to recently watching Disappearance at Clifton Hill. This is a film about a young woman who returns home to Niagara Falls, Ontario, when she inherits from her recently deceased mother a run-down, nearly decrepit motel that her family operated, and that is an anchoring legacy (like a millstone around the neck, perhaps) in the city's Clifton Hill tourist district. This character, Abby, "becomes obsessed with reconstructing inchoate childhood memories"….
There is a fracture in Fairbairn's images, between the present and the past, what I walk by – or just walked by yesterday, and will again tomorrow – and the ideas encapsulated by these buildings, in that manner that architecture holds ideas as much as people. When I lived on the Prairies, it was often referred to as 'next year country', which is an idea that things will get better. Many of these shots by Fairbairn imply the opposite: this is last year's country, back when (to paraphrase another artist's work about the history of St. Catharines, as manifest in General Motors defining then abandoning the region) 'you could get a good job right out of high school.' Injecting an idea from Berenice Abbott, Fairbairn's "photography can only represent the present. Once photographed, the subject becomes part of the past." His quiet tableaux are equally requiem and realism, worn and weathered like forgotten grave markers, that I – and so many others – will walk past, as we have in the past few decades, perhaps unaware, perhaps unsettled, even into the 'new' year…..
More of Sandy Fairbairn's photographic practice can be seen here, in a review by James Takeo, and a feature about him, as NAC (Niagara Artists Centre) Member of the Moment can be read here. All images are copyright of the artist, and generously provided by him.
Photo by Sandy Fairbairn
Bart Gazzola is an arts writer, curator and photographer based in Niagara. He's published with New Art Examiner, Canadian Art, BlackFlash Magazine (where he was editorial chair for three years), Magenta Magazine and Galleries West, and was the art critic at Planet S in Saskatoon for nearly decade. His most recent curatorial project was Welland: Times Present Times Past (2020) at AIH Studios in Welland. He's currently assistant editor at The Sound: Niagara's Arts and Culture Magazine, where his ongoing series on Brock University and Rodman Hall Art Centre earned him a St. Catharines Arts Award nomination (2020).
bartgazzola.com | @bartgazzola
~ Posted by Bart Gazzola

redpajama_set_name: RedPajamaCommonCrawl


The Undersigned Agree . . .
[R]eliance on viral load or compliance with medical treatment as a basis to reform HIV criminal laws poses dangerous consequences for those who lack access to care. It also contradicts everyone's basic right to make health care decisions, including whether and when to get treatment, without running afoul of the criminal law.