What happens if the 2nd signal (after the 200ms delay) is never received? Would keeping the relay closed like that cause any issues?
I wonder if a more "robust" way to handle this would be a custom microcontroller on the receiving end that receives a single Zigbee signal and implements the 200ms delay internally.
It's possible it just melts the relay, possible there is logic to notice and open it, or possible just nothing happens.
There are other products I've used (https://www.amazon.com/MultiRelay-ZEN16-Sprinklers-Fireplace...) which don't have that issue because they handle the pulse logic internally, you set a z-wave option which says "pulse output 1 for 200ms" and then you call a trigger which says "pulse output 1" vs "output 1 on, wait 200ms, output 1 off"
Using that for some years on my garage door opener to make my "smart" garage door smart without paying them $20/month or whatever the stupid fee was.
Yeah, that's definitely true. I find that I'll often be excited about an idea and immediately start putting in the time to build a rough prototype. Once I realize the true scale of the effort involved I second-guess my commitment to the idea - is this really something I want to spend the next year+ working on? I think having that clear vision and enough conviction that the results will be worthwhile is very important and definitely something I struggle with.
Nice to see that they're just using EC2 + S3 instead of a whole suite of niche cloud offerings that we see these days. Maybe this is mentioned in the linked presentation (https://www.infoq.com/presentations/Pinterest/) but are they using managed databases? Or just running their own on EC2 instances as well?
Not really related to the article but something I've been wondering...
In recent years the housing market has been so competitive that escalation clauses are often written into offers. They typically include a base offer of $X and then an agreement to escalate that value by increments (maybe $1-5k at a time) up to some cap. All the offers are collected by a certain date and then an auction is run behind the scenes by the realtors involved.
What's to stop a seller from having one of their friends enter into one of these escalations? Submit a non-serious offer with a high escalation and include a minimal deposit which would be forfeited if that fake offer happens to win but otherwise hope it comes in 2nd to push everyone else's escalation up.
Very little. When I was younger growing up in Australia, auctions were very common, and it was very much the "traditional" model, everyone stands around in front of the property and puts up their hand to bid.
Regularly auctioneers would get caught taking bids from trees or vehicles to push prices up. They'd get caught when their fake bid was the highest. It became so common it was almost expected, and reforms to the process had to be introduced.
There are also a lot of shenanigans realtors could be pulling.
Example:
Few years ago, we wanted to buy a house, we made a bid for 2.6, the realtor said they would not accept anything less than 2.8 as this was their competing offer. We said no, the house sold for 2.4. I suspected the realtor might have been double dipping, or bluffing, i don't know. But what I do know is they did not present the offer to the seller.
(numbers are not exactly precise, but directionally and somewhat magnitude wise, it should be similar).
I had a similar issue. A put a full price cash offer on a place for 1.9. The seller said they had a competing offer that was higher and asked me to submit a new offer at 2.1. I declined, and said they are welcome to provide a written counter offer at 2.1. The reason they won't counter is that a new higher offer from any buyer (me) will trigger escalation clauses for other buyers offers. Dirty trick that screws over buyers, because sellers can see all offer details.
> But what I do know is they did not present the offer to the buyer.
I believe in most states a real estate agent (I despise 'Realtor(TM)') is obliged to present an offer (at least by the Realtor's Code of Conduct/Membership Agreement).
Edited to add: I'm not sure if this refers to seller agents (who cannot hold back an offer from their client), or to buyer agents, presenting that to the seller side, or both. I think at least the first.
> I believe in most states a real estate agent (I despise 'Realtor(TM)') is obliged to present an offer
Sure. But enforcement is the soul of the law.
And it's pretty tough to catch stuff like that. Most people who put in offers and don't "win" aren't sitting around monitoring how much the winning bid ended up being.
Maybe there was something else unattractive about your offer and the 2.8 fell through? Happens all the time.
When I sold a house recently I took the second highest offer, because the highest offer came from someone out of state who had never set foot in the house
Yes, the issue was increased risk of the buyer backing out. In which case I would get a few grand in earnest money and have to relist (or hope the other potential buyers haven’t found something else in the meantime and still want to go through with their offer).
The house had some warts, and the second highest bidders were locals who had toured the house and had it inspected. Closing was pretty much a lock.
1) If your bid wins then you're on the hook to buy the house. Part of the offer your make includes "earnest money" which is that deposit you're talking about (which you forfeit if you don't actually buy the house). The seller sees all the offers so presumably you putting down $500 earnest money on a $300K house would look suspicious enough to get you ignored by the buyer.
2) However, you've got a bigger issue: it's a secret auction. You put in your bid/offer, and so does everyone else, but _nobody_knows_about_anyone_else's_bid_. Heck, you don't even know how many other people are bidding. You _may_ be able to ask your realtor to nicely ask the seller's realtor for a general description of how hot the listing is (which works in the realtors' favor - the hotter the listing, the more you'll anticipate needing to bid), but beyond that you don't know about the other bids. And you for sure don't know about the specific, bogus bid that the realtor's friend put in to influence all the people that don't know about the bogus bid :)
I might be wrong (realtor's friend puts in a bogus bid so the seller's realtor can lie and say the listing is hot, after your realtor asks them about it), but I don't think this is a strategy that will work in general.
> putting down $500 earnest money on a $300K house would look suspicious enough to get you ignored by the buyer
Assuming you mean the seller here? If I were the seller I too would ignore that kind of offer but first I'd let it push all the other escalation clauses up ;)
I had an escalation clause in my offer, but I adjusted it so it said something to the effect that the clause would only be in effect for comparable offers. Then I defined comparable offers to be offers that were for the same type of loan with a minimum down payment and deposit amount. I wanted to protect against the buyers getting a higher offer that they were likely to reject on some other basis, but using that higher offer to make me pay more for the house. The downside was that I could be beat out by other legitimate buyers whose escalation clause didn't consider the quality of the offer they were beating. I cared more about not feeling like I was being swindled though. I got the house after about a $10k escalation, and the seller's agent presented the competing offer so I could verify it met the conditions of my escalation clause.
This happened to me in 2019. I went into escrow and they didn't give me the offer for about 5 days. When I finally got it, it was lower than it should have been. It rubbed me the wrong way and I bailed out of the deal.
How did you bail without losing your deposit? I would have thought if you were the highest bidder you'd either be on the hook for the full purchase or lose your deposit.
Do you see the deposit amount and all the details of the escalation from the triggering offer in that case?
Say I saw that the triggering offer had a measly deposit and I suspected it of being fake. Would I be on the hook to prove it? Technically if I rescind my offer at this point I lose my own deposit, right?
Yes but they can drag their feet in giving it to you, since they can just sign your offer immediately. However, you can just cancel your offer after with a follow up document.
I think a lot of the escalations involve more than just one other person bidding, so you'd really need to be running a good game to get three or four people involved to run up a price in something like this.
Additionally, in a competitive market, with multiple offers, people aren't doing a bare minimum deposit. More like 30 - 50K is involved based on my experience, but it varies dependending on state.... I'm currently looking in a new market, and we were told our offers should have about 10 to 30K on them between Due Dilligence and Ernest money....
Besides, it's just easier for the seller/buyer agent to have a conversation on which buyer wants it the most.
It doesn't seem unethical, just weird. The seller can just require a higher starting bid, the result would be equivalent. Of course the risk would be that no one would buy the property if the price is too high.
Yeah, this is exactly what I do as well. I'd be curious to hear more about your deployment process, specifically how you get your Docker image onto the VPS. Do you just push to a registry like DockerHub and then pull it down on the VPS?
Yes, I use GH actions to push it to a registry and then manually pull it on the VPS. I’m sure there are better ways to automate this but I’m too lazy at this point to implement them.
Does this use the battery? Not clear to me if the Kindle program is running continuously or if it just periodically starts up, refreshes the screen and then powers back down.
I've set up my own DIY version of this. It pulls a new image via a cron job and repaints the screen with it. I've not invested time looking into it but by default if the device sleeps, which it does very quickly after loosing wall power, the cron job will no longer run and the display gets stuck. You need to poke the power button to get it to wake again.
Instead of using a cronjob you can put the device into sleep and use the RTC to schedule the next wakeup (see [1]). This takes only very little power, as the device is only turned on for mere seconds and sleeps the remaining time.
I presume it does, but would only need charging once every couple of months. If it's going to be in a fixed position, e.g., on a desk, then it could just be left plugged in.
Is there something about the actual profiler that differs from existing tools like pyinstrument [1] or py-spy [2]? I know pyinstrument has various output options and I wonder if it could potentially output something readable by the Firefox Profiler tool.
It uses FEE (function entry/exit) tracing so it generates a full execution trace of all functions called during your run like “History” [1], the C/C++ tracing profiler it was based on.
You can then post-process that trivially to get low resolution aggregate information like normal statistical/sampling profilers generate.
compare to pyspy, which is out of process and reads process memory to reconstruct stack frames as a sampler, which means marginal overhead for the program, re safer to use in prod. it would be interesting to see a function entry/exit on linux via epbf attached to USDT.
They claim tracing overhead is <10%. This is very believable, and actually frankly seems kind of high. You can do a full execution trace of a C program for a similar low double digit percent overhead and Python is usually on the order of 10x slower, so naively you would assume like 1% overhead.
I assume the hooks Python makes available are probably just kind of bad for this use case and they do not have access to a proper high speed log.
Yeah, it tends to be low single digit percents, but you can get some pessimal behavior if you have enough tiny functions because the overhead of what Cpython exposes starts becoming large. Our "benchmark" where the 10% comes from is tensorflow, which is overwhelmingly tiny functions and no sustained io/individual functions.