Husband of one, father of five (all girls!) confessional Lutheran pastor in the WELS. Blessed to be an associate pastor at a congregation in Two Rivers, WI.
6 stories
·
5 followers

As Cindi read

1 Comment
today's second reading from Treasury in our morning prayers, it occurred to me that maybe I've misunderstood it. The scribe drawn to Jesus by the controversy over the resurrection with the Sadducees asks Him about the Great Commandment. Jesus answers with the twin commandments. And the scribe approves: "You are right, Teacher. You have truly said HE is one, there is no other besides HIM. And to love HIM with all the understanding and with all the strength, and to love one's neighbor as one's self is much more than all burnt offerings and sacrifices."

Jesus responds to this with: "You are not far from the kingdom of God."

The distance, though, is in the pronoun. For the kingdom of God was closer than the scribe imagined. It was there in the flesh standing before him. Oh, if only the scribe had had the eyes to see. NOT "HE is one" but YOU are one. Not "there is no other besides Him" but "there is no other besides YOU." Not "to love HIM with all the understanding..." but "to love YOU with all the understanding!"

And to drive to this point, Jesus asks the next question: the Christ, whose Son is he? David calls Him 'Lord' so how is He his son?

When we come to Jesus, we stand before the God who became our neighbor, who came into the flesh because we COULD not love Him with all our heart, mind, and strength. Nor our neighbor as ourself. He came into our flesh to accomplish this. God becomes man in order that there might be a perfect and complete human righteousness - which is just the exact same thing as saying a human life in which there was nothing but love. And the gift of that love to us to be our very own, that gift IS the gift of the kingdom.

Yes, the kingdom of God was nearer to the fellow than he expected. For the King of the kingdom was standing right before Him, and would soon take up His throne upon a cross.
Read the whole story
pastorwalters
4261 days ago
reply
Beautiful little post.
Two Rivers, WI
danatnr
4261 days ago
Yeah that was cool.
Share this story
Delete

Three Months to Scale NewsBlur

48 Comments and 83 Shares

At 4:16pm last Wednesday I got a short and to-the-point email from Nilay Patel at The Verge with only a link that started with the host “googlereader.blogspot.com”. The sudden spike in NewsBlur’s visitors immediately confirmed — Google was shutting down Reader.

Late night at the office

I had been preparing for a black swan event like this for the last four years since I began NewsBlur. With the deprecation of their social features a year ago I knew it was only a matter of time before Google stopped supporting Reader entirely. I did not expect it to come this soon.

As the Storify history of the Reader-o-calypse, NewsBlur suffered a number of hurdles with the onslaught of new subscribers.

A few of my challenges and solutions

I was able to handle the 1,500 users who were using the service everyday, but when 50,000 users hit an uncachable and resource intensive backend, unless you’ve done your homework and load tested the living crap out of your entire stack, there’s going to be trouble brewing. Here’s just a few of the immediate challenges I faced over the past four days:

  • My hosting provider, Reliable Hosting Services, was neither reliable, able to host my increasing demands, or a service I could count rely on. I switched to Digital Ocean and immediately got to writing new Fabric scripts so I could deploy a new app/task server by issuing a single command and having it serve requests automatically within 10 minutes of bootstrapping.
  • It didn’t take long to max out my Amazon Simple Email Service (SES) account’s quota of 10,000 emails a day. So a few hours into the melee I switched to Mailgun, which unfortunately resulted in emailing myself 250,000 error reports. If you tried to email me and couldn’t get through, it’s because 50,000 emails about lost database connections made their way ahead of you in line.
  • Eventually, I was just plain blacklisted on SES for sending too many emails.
  • Fortunately, when the PayPal fraud department called because of an unprecedented spike in payments, I was prepared.
  • HAProxy would Having HAProxy serve errors (site is down, maintenance, timeouts, etc) with a 200 OK status code instead of the proper 500 Exception status code because of a ridiculous undocumented requirement to include HTTP Headers at the top of the error template. When your webapp uses status codes to determine errors, you get extremely strange behavior when it loads utter crap into your DOM.
  • The inevitable file descriptor limits on Linux means that for every database connection you make, you use up one of the 1,024 file descriptors that are allocated to your process by default. Changing these limits is not only non-trivial, but they don’t tend to stick. This is responsible for bringing down Mongo, PostgreSQL, and the real-time Node servers, all at different times of the night.
  • The support queue is enormous and I’ve had to spend big chunks of my 16 hour days reassuring paying customers that eventually Stripe will forgive me and my unresponsive servers and will send the payment notification that is responsible for automatically upgrading their accounts to premium.

The sad extent of my St. Patrick’s Day

As a one-man-shop it has been humbling to receive the benefit of the doubt from many who have withheld their judgment despite the admittedly slow loadtimes and downtime NewsBlur experienced. Having the support of the amazing NewsBlur community is more than a guy could ask for. The tweets of encouragement, voting NewsBlur up on replacereader.com (If you haven’t yet, please tweet a vote for “#newsblur to #replacereader”), and the many positive comments and blog posts from people who have tried NewsBlur is great.

It has also been a dream come true to receive accolades from the many who are trying NewsBlur for the first time and loving it. Since the announcement, NewsBlur has welcomed 5,000 new premium subscribers and 60,000 new users (from 50,000 users originally).

NewsBlur users are intelligent, kind, and good looking!

The next three months

Over the next three months I’ll be working on:

For those of you who are still trying to decide where to go now that you’re a Reader refugee let me tell you a few of the unique things NewsBlur has to offer:

  1. Radical transparency. NewsBlur is totally open source and will remain that way.
  2. It still feels like RSS, just with a few more bells and whistles. NewsBlur provides actual list of posts, as opposed to the more curated magazine format of some of the other popular replacements. This clean interface makes it easy to see the stories you want. One innovation however is the four different view options you have. NewsBlur can show you the original site, feed, text or story view.
  3. It has training. NewsBlur hides stories you don’t want to read based on tags, keywords, authors, etc. It also highlights stories you want to read, based on the same criteria. This allows you to find the stories you care about, not just the stories that the hive Hive cares about. And best of all, NewsBlur will show you why stories are either highlighted or hidden by showing the criteria in green or red.
  4. NewsBlur has rebuilt the social community that Google had stripped out of Reader. Users can share stories through their Blurblog and discover new content by following friends’ Blurblogs. The People Have Spoken is the blurblog of popular stories.
  5. Because NewsBlur is entirely open-source, if you don’t want to pay you can host your own server. Instructions are on GitHub, where you can also find the source code for the NewsBlur iPhone + iPad app and Android app.
  6. Most importantly, NewsBlur is not entirely a free app. The immediate benefits of revenue have been very clear over the past few days. Not only are NewsBlur’s interests are aligned with its users, but as more users join NewsBlur, it makes more revenue that can be used to directly support the new users. Not convinced that paid is better than free? Read Pinboard’s Maciej Ceglowski’s essay Don’t Be a Free User.

Shiloh during better times. Your premium subscription goes to both server costs and feeding her

With NewsBlur’s native iOS app and Android app, you can read your news and share it with your friends anywhere. And with the coming improvements over the next three months, you bet NewsBlur will be the #1 choice for Google Reader refugees. survivors.

Join NewsBlur for $24/year and discover what RSS should have been.

Read the whole story
pastorwalters
4265 days ago
reply
Interesting story of NewsBlur's rapid growth after Google's Reader shut down announcement.
Two Rivers, WI
danatnr
4266 days ago
reply
Fascinating story of NewsBlur programmer whose demand increased tenfold when Google Reader announced closing.
Ohio
popular
4266 days ago
reply
Share this story
Delete
43 public comments
ksw
4254 days ago
reply
Excellent write-up. I'm growing more confident about my decision to use NewsBlur in place of Reader.
Manhattan
shanel
4253 days ago
This is what brought me here.
datavortex
4256 days ago
reply
Great tale from the DevOps battlefield
Stockbridge, GA
parisferra
4260 days ago
reply
Excellent stuff. I go straight for premium membership. Good products deserve support.
heliostatic
4261 days ago
reply
Best news reader around, and the best team building it. Plus, you always know what features are coming next if you check the various branches on github.
Williamstown, MA
sigvei
4262 days ago
reply
_Slik_ snakker du med kundene dine. Enmannsforetaket NewsBlur tjuedoblet brukermassen over natta.
Oslo
maistrack
4264 days ago
reply
Simply awesome!!
denubis
4264 days ago
reply
Well done newsblur. Been using it for a year and I've quite happily resubscribed at double my previous fee (by choice.)
keri
4265 days ago
reply
might not be for everyone, but it's for me
chapel thrill, nc
htakeshi
4265 days ago
reply
Google Rederがサービス停止を突然、発表。試行錯誤しながら、私も環境移行をしています。
その後の展開は、ビジネスモデルのケーススタディとしても、考えさせられることが多いです。
andycwb
4265 days ago
reply
Excellent opportunity. Just signed up for the super-premium extra dog food option.
gienahghurab
4265 days ago
reply
Actually just testing my blurblog... *'.'*
BLueSS
4265 days ago
reply
I love NewsBlur, and this was a nice read.
KieraKujisawa
4265 days ago
reply
Nice summary of what happened
Fredericksburg, VA 22408 USA
smadin
4265 days ago
reply
Some interesting detail on @NewsBlur's Readerpocalypse.
Boston
RainofTerra
4265 days ago
reply
Post Mortem on Readerpocalypse glitches from Newsblur which I switched to from Google Reader a while back. Great service.
San Francisco
robferrer
4265 days ago
reply
Really interesting story of a sudden spike in demand for @newsblur
Leamington Spa, UK
to7
4265 days ago
reply
Newsblur news:
indra
4265 days ago
reply
fun times :)
Canberra
lpmpessoal2
4265 days ago
reply
Como a vida está a mudar ao NewsBlur com o fim do Google Reader. História interessante. Na primeira pessoa.
TheRomit
4265 days ago
reply
I hope that doesn't mean those API end points requested by the W8 developer are going to take a back seat :-(
santa clara, CA
superiphi
4266 days ago
reply
love the transparency at #newsblur :)
Idle, Bradford, United Kingdom
CliffS
4266 days ago
reply
Thanks for the update Samuel! This is why I prefer to support smaller operations--my input actually counts for something.
Wahiawa, Hawaii
trepidity
4266 days ago
reply
Excellent story
adamgurri
4266 days ago
reply
Notes from the front
New York, NY
mithrandir
4266 days ago
reply
I'm super excited to see NewsBlur take off like this. Congrats!
sredfern
4266 days ago
reply
Congrats Sam! (awesome name btw)
Sydney Australia
nickoneill
4266 days ago
reply
5 days and @samuelclay already has time to write blog posts, amazing.
san francisco
smilerz
4266 days ago
reply
Kinda wished I had found NewsBlur before becoming a Reader refugee. Great work and hang in there - all of the hard work will pay off!
Chicago or thereabouts
fredw
4266 days ago
reply
Great read on scaling exploding web apps. Been there, done that.
Portland, OR
pberry
4266 days ago
reply
Love the run down and appreciate the time it took to update us.
Chico, CA
samuel
4266 days ago
Ok, I'm going to admit it right now. My girlfriend wrote a good chunk of the post as a template, which I then rewrote with specifics. Seriously, she's the absolute best.
jbloom
4266 days ago
Hire your girlfriend to do PR. She is awesome! :D
jbloom
4266 days ago
reply
Love this detailed account of NewsBlur after the Google Reader closing announcement. NewsBlur rocks!
Columbus, Ohio
jbloom
4266 days ago
Going to get my dad a premium account.
DracoLlasa
4266 days ago
reply
been very impressed with the service and the ramp up. only took a few days and things are running pretty smooth. Glad i made the move here
mgeraci
4266 days ago
reply
Congrats, Sam, and keep up the amazing work!
Duluth, MN
tedder
4266 days ago
reply
all hail Samuel Clay! Great work. I reached out in case I could help in devops, but I didn't know the extent of your personal inbox disaster.
Uranus
samuel
4266 days ago
Don't know if you noticed, but I accidentally sent myself 250,000 error emails, so yeah, my inbox is currently jammed.
tedder
4266 days ago
yes- that's why I said "personal inbox disaster" :) spam cannons are always fun.
jzsimon
4266 days ago
reply
Great story!
blueminder
4266 days ago
reply
"Paypal’s fraud department just called, asked me what’s going on. Asked the rep from Omaha if she’s heard of Reader, and then a big Ohhh."
San Francisco, CA
pyrona
4262 days ago
Heeeey, when you share something you should always comment something so we can reply to you! Newsblur has a, uh, "feature" that makes it so others can't comment on your shares unless you do first. (I'm only telling you this here, because it's the most recent thing you shared that you commented on ^_^)
blueminder
4262 days ago
Ah, I didn't know that's how it works on this end of the RSS world. http://sighroll.com/wp-content/uploads/2012/10/themoreyouknow.jpg
SuzeVich
4262 days ago
BTW: You TOTALLY got me with Shiloh ... I would have paid even if you hadn't stopped the free subscriptions. ;D
iross
4266 days ago
reply
Holy crap. Am I reading that right? NewBlur went from 1,500 users to 60,000+?

Any chance those shirts make a comeback? I'd buy some NB swag.
Madison, Wi
CliffS
4266 days ago
I think it's 50k to 110k.
kyleniemeyer
4266 days ago
reply
Hey, I'm in this post! Perhaps not my most flattering picture...
Corvallis, OR
kyleniemeyer
4266 days ago
Also, I think that NewsBlur has pretty much recovered from the Great Reader Exodus.
samuel
4266 days ago
Nope, not even close to recovered. While the servers are stable, the load times are now 9X where they should be. I have charted some remedies, but they're going to take time. And I still have yet to go 24 hours without a server meltdown.
kyleniemeyer
4266 days ago
Yeah, I did notice the outage this morning. At least, things seemed better today than they had all last week.
jbloom
4266 days ago
Samuel, at least I am able to use my iPad now. And I am glad to see from all of this that you know your stuff with databases and such. You know WAY more than I do! :D
satadru
4266 days ago
reply
Excellent work.
New York, NY
BiG_E_DuB
4266 days ago
reply
This guy is awesome. Premium is basically confirmed for me...might do it Monday
Charlotte, NC, USA
samuel
4266 days ago
reply
Here it is, my last five days in blog form. Biggest lesson learned: take more photos!
Cambridge, Massachusetts
gazuga
4266 days ago
Epic post from a prescient fellow. It's plain you've been mulling over the question of free users, with good cause. For my counterpoint to Maciej Ceglowski, see "Transitioning back to freemium" in the ideas section of the support forums.
gazuga
4266 days ago
Loving my t-shirt, by the way!
ChrisHamby
4266 days ago
Thanks for all your hard work! I didn't send in a photo of my tshirt because it's a few sizes too big... but that's the last thing I'd want you to worry about now!
sashae
4266 days ago
thanks for working so hard to keep all of us poor news junkies happy... you've built a really great thing!
InKunKa
4266 days ago
I'm thrilled with Newsblur, and happy to be a new paying member. I wish I had known about it before :)
mocker
4266 days ago
Keep up with the transparency of what's going on with any site issues. As someone who already went premium, I appreciate it.
sredfern
4266 days ago
Your dog may gain some weight with all those premium subscribers...
trekkie
4266 days ago
Wore my shirt all day but forgot to take a picture.
4266 days ago
You won me over, I completely ditched google reader and deleted all of the data over there. I need some confirmation on if the price will go back to $12 and when exactly it will do this, I understand why you did it but I was there when it changed and that obviously made me do a double take. I NEED the features of the premium account so please let me know if I should wait or if the price will never go back down.
mfitzhugh
4266 days ago
You're doing a great job, Samuel. When I checked out Newsblur last week, your dedication to building a great service was evident from the get-go. It made signing up for premium an easy choice. Keep up the good work, and don't worry about breaking a few things along the way.
PunkRockWarlord
4266 days ago
I joined a few days ago and have been very impressed. I'd been wanting an RSS client that would sync between my laptop and iOS devices (and wasn't tied to Google), and NewsBlur delivers on all fronts. Thanks for putting in all the work, Samuel!
PaulPritchard
4265 days ago
Speaking as a Reader refugee, I have been very impressed with NewsBlur so far - so much so that I am starting to wish that Google had shut down Reader sooner. In many ways, NewsBlur strikes me as being everything that Reader could have been.
kworr
4265 days ago
Maybe you need some help? I have some skills on nginx/freebsd/pgsql and making sites go stable on the high load (not just extremely high, like 2kk request per day).
raorn
4265 days ago
You did a great job, Samuel! dev.newsblur.com is something I always wanted. Already fell in love with "intelligent training" feature.
sylvaingaffie
4265 days ago
Man, you are AWESOME !! I still wonder how I would react in your case. I probably would have sank into madess :o).
stavrosg
4265 days ago
I live in Europe, so I woke up one morning with NewsBlur already in meltdown mode, and found about Reader a while later, so I just decided to sit out the mayhem and return to my feeds a couple of days later. You handled the situation as best as you could, congratulations and be assured that my premium subscription will be renewed once it ends. I am also glad that I quit Reader away ahead of the announcement of its shutdown and found this service.
nebkor
4265 days ago
As someone said on HackerNews, your first hire should be a good sysadmin; making changes to ulimits is easy and easy to make stick :)
cmn
4264 days ago
Here's 24$, love it!
Alpha_Cluster
4266 days ago
reply
Interesting post about the the aftermath of the Google Reader announcement on the awesome NewsBlur service!
DaftDoki
4266 days ago
reply
What one person has built is impressive. Success disasters are always better to deal with than normal disasters.
Seattle
ocrammarco
4265 days ago
Agreed, as a developer I have nothing but admiration and sympathy.
katiegirl
4265 days ago
This is exactly why I have given this guy my $24. He seems pretty up and up.

"no" "pressing" service

1 Comment


Obviously the best part of this is the way it just ends. Also the fake start date. Thanks Mordy.
Read the whole story
pastorwalters
4268 days ago
reply
Love this site.
Two Rivers, WI
Share this story
Delete

When we are plunged into disasters

1 Share

Luther’s consolation when things are tough, especially in the church:

When we are plunged into disasters and troubles and covered by darkness, things on account of which we cannot be sure that we are the church or pleasing to God, let us learn to take hold of the Word and let sink and fall what falls, and let us not be moved by the fall and defection of others. But let us reflect that we are in a dark place, with the lamp of the Word shining before us. “For he who believes and is baptized will be saved” ( Mark 16:16). For that light is the only one which the sun and human reason do not see; but it shines in the heart. Besides this Word we should know nothing and see nothing. For if this Word alone is shining, there is no danger, and the hour will come when we shall come forth and say with joy: “I have seen the Lord face to face, and my soul has been saved.”

AE 6

Read the whole story
pastorwalters
4270 days ago
reply
Two Rivers, WI
Share this story
Delete

Ash Wednesday 2013

1 Comment

confess

Repent!

Man, yesterday was great. I went out early to that supermarket that bakes fresh 7 days-a-week and picked up Pączki for the family for breakfast. Friends introduced us to this Polish Tuesday-before-Ash Wednesday tradition and we have enjoyed Pączki Day for over 30 years. In a similar vein German Americans have traditionally celebrated with a traditional doughnut donut called Faschnacht. If you background leans a little more to being English, yesterday would have been Pancake Day.

Whatever the cultural variation, the day had a purpose, eating rich foods on the Tuesday-before-Ash Wednesday Tuesday was a way to empty the pantry of lard, sugar, fat, and butter, which were traditionally fasted from during Lent.

And then an let’s not forget those who celebrate Fat Tuesday with a party or carnival—for two weeks St. Louis French quarter, Soulard, has been host to the second largest Mardi Gras in the country—and Mardi Gras is simply French for ‘Fat Tuesday.’ Just about wherever Lent is celebrated, Fat Tuesday traditions have grown up.

Like many traditions, while the ‘fun’ and ‘traditional’ aspects endure and are celebrated far and wide, the reason for the tradition is largely forgotten or set aside as no longer relevant. Why would Christian households commit the day before Ash Wednesday to emptying the pantry of butter, fat, and sugar? The answer is not in the donuts or the pancakes, or the rich Mardi Gras foods—as much as we like them. With the pantry cleaned out, the Christian family is prepared for the traditional fasting that is associated with Lent.

A few of the liturgical traditions still remember or use the old term Shrove Tuesday. ‘Shrove’ means to have been shriven before Lent, an old English way of saying to [be prepared] to obtain absolution for one’s sins by way of Confession. Here then is the other traditional aspect of Lent: that is confession so that one may obtain absolution for sin. Lent prepares us to approach the Cross on Good Friday, approach shriven, approach having contemplated our sins, not just to have made a list of them, but to have pondered anew the great need we have for a Savior from our sin; to contemplate the gravity of our sin—sin so deep, so dark, that it required nothing less than that the Son of God would die that we could be reconciled to God.

Ash Wednesday is set aside yearly as a day of repentance, a day to contemplate your sins and to be sorry for your sins. Not matter your Christian tradition, it is not too late to be shriven—and it doesn’t require you to go to IHOP or Drive-In Donuts. Repent! Hold up your life, your thoughts, your pet sins before the mirror of God’s Ten Commandments and see how far we are from His holy will.

But to recognize sin is not enough, to make a list of all our sins, even if we could, is not enough. Repentance, true repentance, requires that you turn away from your sin. To turn away from excess during Lent just to pick it up again in spades after Easter is no true Lenten discipline. In the same way, to confess your sin, but not turn aside from it, to not change your life, your actions, your sinful behavior, but to return to them—that is not true repentance. Empty ‘sorrys’ come so easily off our lips. Like many who celebrate Fat Tuesday with no intention of being shriven, we throw ‘sorrys’ around with no understanding or intention to do anything really different. Your “I’m sorry,” no matter how heartfelt, is insufficient if it is not joined with the change needed to not commit that sin again.

God despaired of our sin. Yet, instead of acting in righteous judgment against us, He sent His Son to die for our sin, so that we might live with Him forever. The weight of your sin–my sin, the heavy yoke of it, crushed the Lord on the cross, so that we would not have to be crushed into the grave forever. He drank to the dregs the bitter cup of God’s wrath against our sin, so that in true faith we receive the sweet cup of blessing in Christ.

While we turn our attention to confessing our sin on this Ash Wednesday, all the more let us turn our lives to lives of repentance-lives where we continually hold ourselves accountable to God and to each other, lives where we sorrow over sin AND seek the God-given strength to turn from our sins. This is the work the Holy Spirit does in us, the daily drowning of the old sinful man and the bringing forth of the New Man—this is the daily remembrance of our Baptism that strengthens us.

Confession has two parts, first, to confess our sins, and second to receive absolution. Absolution, the sweet word of God that announces that your sins are forgiven. Absolution, the sweet Gospel that on account of Christ, God sets aside the punishment of your sin.

It’s Ash Wednesday. Repent! Then hear the Word of forgiveness with the assurance that your sins are truly forgiven by God in heaven.

Amen.

Almighty and everlasting God, You despise nothing You have made and forgive the sins of all who are penitent. Create in us new and contrite hearts that lamenting our sins and acknowledging our wretchedness we may receive from You full pardon and forgiveness; through Jesus Christ, Your Son, our Lord, who lives and reigns with You and the Holy Spirit, one God, now and forever. (L22)

Previous Post on Ash Wednesday


Read the whole story
pastorwalters
4297 days ago
reply
Nice post on Ash Wednesday and repentance in general.
Two Rivers, WI
Share this story
Delete

How Keys Work Explained In One Perfect Animated GIF

8 Comments and 18 Shares
Click here to read How Keys Work Explained In One Perfect Animated GIF
Ever wondered how a key opens a lock? Wonder no more. If this is not one of the best animated GIFs I've ever seen, I don't know what is. First, because it taught me something new. And then, because it's so satisfying to see it work. Aaaaaah. Oh yes. [soupThanks Karl!] More »


Read the whole story
pastorwalters
4320 days ago
reply
Very cool!
Two Rivers, WI
popular
4320 days ago
reply
Share this story
Delete
6 public comments
copyninja
4315 days ago
reply
Nice one
India
mintype
4319 days ago
reply
Ever wonder how a key system works?
adamgurri
4320 days ago
reply
This is brilliant.

Older technology is so much more elegant.
New York, NY
Door
4320 days ago
I knew this because of dumb Nancy Drew games, ADAM.
adamgurri
4320 days ago
lol
gazuga
4319 days ago
ADAM.
grammargirl
4320 days ago
reply
Whoa.
Brooklyn, NY
Courtney
4320 days ago
reply
hypnotizing
Portland, OR
4320 days ago
whoa
ryanbrazell
4321 days ago
reply
Quite possibly the best animated GIF I have ever seen.
Richmond, VA
gazuga
4320 days ago
A recent link dive into the mechanics and history of keys didn't help me grok what they actually do. Nows I gets it.
DMack
4320 days ago
The BEST, ryanbrazell? The water-skiing squirrel is rolling over in his grave
gabrielgeraldo
4320 days ago
how can this work from the other side of the lock?