Ask HN: What is the thing you've built that you regret the most?
Given the very interesting comments on the "Ask HN: What is the most impactful thing you've built?", I was wondering about something similar: Things you regret based on ethical implications, bad technical decisions you made convinced you were right but regret/cringe about later, failures on miscalculations on budgets that provoked a bad outcome in the company etc whatever.
Thanks in advance.
538 comments
[ 3.5 ms ] story [ 326 ms ] threadMy company built the smart helmet used to track Qatar’s army of abused workers. The claim is GPS and accelerometer where used to track if a worker stopped moving or fell due to an accident; the geo fencing was supposedly for tracking if they had enough workers in an area for the job.
The reality is the helmets where/are used as mass surveillance tech to ensure workers are continuously active and never leave their assigned areas for petty things like going to the bathroom or finding shade to prevent heat stroke.
It's kinda weird to expect people not to make mistakes such as this if nobody tells them it's wrong. And it's normal for people to tell other people they do bad stuff if they do.
Hardly, since I just agreed with what they said. I suggested what IMHO is a good way to make up for it. Nothing else.
> that you have to tell them
Sure, I have to. I think everyone should say something in cases like this.
And you have four different peers who have responded to you suggesting that you are being condescending. Take a step back and ask why - intention and tone are two different things, and if you get the latter wrong then we will misunderstand the former.
>It's kinda weird to expect people not to make mistakes such as this if nobody tells them it's wrong. And it's normal for people to tell other people they do bad stuff if they do.
Just let 'em be. You're not a hero. They admitted what they did, and why they know it's wrong. You're not doing anything other than going, "Yep, you sure did fuck up."
Good point, OK.
You're assuming that this individual hasn't already done something to atone (which goes against HN's rule to assume best intentions). That, coupled with a tone that comes off as though you know better than this person, basically round out the definition of "condescending".
Is there somehow a difference in impact depending on who does this? Maybe if you chipped in, the Qatar slave workers would be even better off. Or is this just about guilt-tripping strangers for their past? :-)
This thread is such a great opportunity for learning and curiosity and yet you choose to see it only as an opportunity for moral grandstanding, possibly scaring away other people with interesting stories to tell. Why are you on this website?
It's also not like it's common knowledge. Myself I only learned about it couple years ago, here on HN, because of some comment threads that segued into discussions about Qatar construction projects.
Point being, without knowing anything about OP, including where are they from, you can't assume they had a chance of knowing this before taking the job, or even learning about it on the job. The world is awash with news stories about everything - often you learn about a huge tragedy only when you chance on a story about it.
Here's several articles from 2017, for example.
https://www.theguardian.com/world/qatar?page=19
That's around the time I learned about it. Notably, this is couple years after the poster worked on their project.
https://www.conexpoconagg.com/news/improving-jobsite-product...
>How do workers benefit from WakeCap?
>Workers’ location and activity is identified within the boundaries of a project for the greater good of all involved within the project and to ensure every worker is safe especially when it comes to fall from height detection, ambient temperature extremes, and confined space crowd control, and more. We found that workers responded positively to the technology.
>Do you have proof that it works?
>WakeCap connected 15+ job sites with 2000+ workers per project...Predominately mega construction projects in Dubai and Saudi Arabia.
"This won't stop you feeling pain, but it will stop you caring about it.".
[1] https://qstp.org.qa/arab-techpreneur-sets-sights-transformin...
If this is real you should get in touch with investigative journalists, e.g. ProPublica.
("Get in touch with investigative journalists" probably applies to a bunch of the people posting in this thread.)
If the company that makes the helmet is based in a country with good government, maybe a reasonable regulation would be to score workers on productivity, but place limitations on the scoring somehow. E.g. the helmet stops showing the worker's location when they've spent too much time in the heat. Or the helmet estimates the fraction of the workday that the worker spent offsite, but all workers who spend 20% or less of their time offsite are given a score of 20%, so the employer can't force the worker to spend more than 80% of their time onsite. I don't think productivity scoring has to be dystopian in principle; generally speaking it seems reasonable to pay people according to how productive they are.
You could also argue for regulating the helmet out of existence, but I assume in that case it would just be built somewhere else with lax regulations. So the trick is to put in regulation that creates a humane experience for workers, but not so much that Qatar is incentivized to contract the development of a new, more draconian helmet in a different locale. I don't think this should be too hard, because creating a humane experience for workers should also help productivity to a degree.
There's also a security dimension here -- you don't want abusive employers to be able to circumvent these limitations. So you could make it so the helmet only runs code which has been signed with the company's private key, or have a lot of the functionality server-side.
"drunk driving may kill a lot of people, but it also helps a lot of people get to work on time, so, it;s impossible to say if its bad or not,"
Those people found another way to get paid.
Although I couldn't ever blame you for shutting it down. I'd probably do the same and try to forget about it for many years.
Critically (compared to cash) it allows remote transactions. Cash requires presence which limits the customer base geographically, and carries enormous personal risk. (you're already transacting with a criminal, do you want to be alone with him as well?)
The killer app for crypto is illegal activities. (which may in some cases be moral, but nevertheless are illegal.)
As a side note, the volatility in the crypto value, caused mostly my legal speculators being exploited by scammers, hurts the utility of crypto in all contexts, including illegal ones.
Instead they covered LA Live and surrounding area with them and then just sold that data to… well I’m not sure who since I left shortly after they did that.
The justification was “but we put it in the TOS and Privacy Policy”.
Well, at least Android 12 has granular Bluetooth permissions.
While the majority of tickets at LA Live are sold by one company currently, there are others, so it's impossible to know which specific company you're talking about.
On a completely unrelated note, there was a big thing surrounding privacy concerns with AXS' app a couple years ago.[0][1]
Clearly those claims were overblown. Surely AXS would never blanket an area with Bluetooth Low Energy (BLE) beacons and invade users' privacy like that. I refuse to believe AXS would make an app virtually mandatory and then violate users' privacy using physical Bluetooth beacons. Say it ain't so.
Oh, almost forgot: fuck AXS.
[0] https://us.forums.blizzard.com/en/wow/t/axs-spyware-claim-de...
[1] https://us.forums.blizzard.com/en/overwatch/t/axs-isnt-spywa...
Oh I forgot to mention that Apple rejected the iPhone version of the app at first because we didn't make it clear enough that we were tracking their locations like this. Our head of product at the time just called someone up at Apple and it got approved with no changes. It all stunk.
Think about dual-use. You may never really know quite how your creations pan out. Not quite in the league of Mikhail Kalashnikov, but it piqued my now intense interest in tech ethics.
EDIT: damnit seems like everybody here is in the same boat. So mine was a gesture detection for medical robotics control that was repurposed for look-and-lock air combat (fire and forget a2a missile. An important caveat is I'm not even a "pacifist" and went in eye's wide open with a defence firm. I just wish they'd told me more up front that this was "generic tech" I was developing.
I'm intrigued by how missiles work. I bought this [0] book to learn about them but I've forgotten math.
[0] https://www.amazon.co.uk/Tactical-Strategic-Missile-Guidance...
As I remember it the point was basically: there are a lot of valid applications for this concept, but ultimately only one that a defense contractor is really going to care about. If that's who you're making it for they will use it to kill people eventually, even if that's not the plan right now. But also that probably is the plan right now, don't be naive.
- https://calebhearth.com/dont-get-distracted
- https://www.youtube.com/watch?v=cz7r_gZhYyA
Then I started reading customer support emails, took a few phone calls from disgruntled customers, and it turns out the company was just cycling cash. Would charge 100 orders and float the cash as it trickled out refunds.
I ended up leaving, and the company sold for a couple million a year later. I was left with a bad taste for e-commerce that has only recently went away.
The whole product was positioned for process optimisation but I know for a fact that it was used to monitor and eventually reduce headcount at multiple customers. I still feel gross just thinking about it but the company is supposedly making good money off of it given that they just announced a new version.
You can optimise for many other things such as on-time delivery in production processes or duplicate/late/early payments of invoices just to name some straightforward examples. In the former case you're optimising the process with the goal of increasing customer satisfaction and in the latter you're optimising many things such as cash flow and working-capital while balancing early payment discounts and late payment penalties.
I got deep into gathering all the data and ML analysis, to the point I started brushing with digital forensics. I got spooked and abandoned it when I've realized I can never release such tool without it being abused for surveillance ;(
I had a friend Josh who worked at Los Alamos National Labs, who wrote a script that automatically filled out his timesheet with plausible looking working hours and tasks, an emailed it in at the right time every month.
One month his boss was chatting with his assistant about how happy he was with how promptly and efficiently Josh always sent in his time sheets, saying what a good worker he was, and that he just received his timesheet on time that day.
The assistant explained to the boss that Josh was actually away on vacation that week.
So when Josh finally got back from vacation, his boss summoned him into his office for an awkward sit down talk.
And insisted that Josh set him up with the same system to automatically fill out and send in his time sheet, too!
The first changes I made to the poc was making the ability to identify which employees did what and when so hard that if they asked us to do it, it would either not be possible or cost so much that it wouldn’t be feasible.
If any software needed a memory leak it's this.
The lesson I learned is to make it easier to abort large projects. Even if it delayed me by 6 months, I should have found a rentable workshop.
Although to be fair, I have no idea what something like that would have cost since I've never seen heartwood this dark before.
Also, I made frames for a warre hive. Those are extremely expensive if you can find them.
I'm a lot more paranoid about privacy these days.
1. Almost all software can be abused or co-opted for surveillance purposes.
2. Some software comes already designed for surveillance purposes up front.
2a. This includes plenty of well-known mass appeal software; importantly, the customer-facing marketing copy and the investor pitch can present a completely different value proposition.
3. Software doesn't become used for surveillance or abuse by accident; there are actual human beings who make a decision to use it in this fashion, or commission it for this purpose.
3a. The "misguided programmers harming people by trying to solve social problems with technology" meme is dumb for many reasons, but it's also distracting (possibly purposefully so) from the fact that it's not software, or people who coded up the software, that are the primary culprits. The coders that were too naive or too self-interested to refuse work or blow the whistle may have some responsibility, but we should start talking about the people who made the decisions to commission or repurpose technology for bad purposes.
If the piece of software you created is unbiased and unopinionated, it can be used for evil purposes. If you make the software deliberatedly against that, you have to (a) take measures without the company knowing (b) have the manpower to do it alone while still reaching development goals (c) those measures can be undone by another developer that cares less that you.
After all, software big enough is collective by nature. It's also unfair to us to think that we're responsible for any misuse as if we were mechanical engineers creating weapons for war
You can quit. Literally, there is something you can do. If your boss asks you to write or adapt something to surveil, then you can quit.
There may be consequences to quitting, perhaps disproportionately felt between you and the company, perhaps consequences that you won't enjoy as much as your current job stability and paycheck, but the choice is always there.
This is why unions are so important, even in a field like software engineering. If you quit on your own, the company may not care. But using the threat of strikes, workers can demand better conditions for themselves and more ethical directions for their company.
Why that is the case is another interesting question.
It's entirely possible that in the post-IBM microcomputer, pre-Google AdWords span, they were correct.
However, it's pretty obvious that current era, power has slid back from labor towards extremely-large corporations.
Sadly history repeats so we'll probably just have another "cultural revolution" and "great leap forward" in the 21st century.
In Marxist terms, lumpenproletariat is a close approximation, but a weird accident of history.
That depends on your baseline, of course. Or to answer your other question:
> Why would you expect anybody getting that kind of money to identify with the lower classes?
I don’t expect it, though I do have deep solidarity myself. Because, to return to the middle of your response:
> If you're making 100k+/year, you're well into bourgeois territory, and FAANG benefits are practically near-instant-owner-class.
I can speak to six figures, and I’m in no way into bourgeois territory. I’m approximately as comfortable as middle class boomers, ie I can make financial decisions to benefit my aging family with some hope I’ll still be comfortable myself. I don’t own anything in the sense meant by “bourgeois” in this context. I may yet, in the sense of a retirement plan. That’s a middle class aspiration. Which, having grown up poor and then broke and then getting by… I recognize very much is still working class.
There certainly is a larger segment of the tech work force than the general population which has reason to believe it can cross the bridge from gentry to ownership… but it’s still a minority of us and it’s mostly scraps. I don’t expect most of my colleagues to be comrades, but I certainly don’t agree with their class analysis which you have expressed so clearly.
If you mean software engineers when saying "tech workers" because unions make it harder to fire people. There's not much that makes a software engineer's job harder than a bad engineer who isn't getting fired and is destroying the quality of the product and the code and creating work for everyone else to fix, all the time.
Unions also result in gaining seniority by time spent in a job instead of competency, and that's also a miserable experience, when someone incompetent is dictating the engineering work. In software engineering you want people who are technically proficient and capable of mentoring to assume leadership positions and positions of increased responsibility, not people who've been there the longest.
I am not actually so much resistant to unions, as I do not see what benefit I’ll get from them. What exactly in my life would have changed for better if I had been a part of a union? Just one thing, can you name?
If you have ever gone up against HR over anything ever, a union would have benefited you.
On call? They paid me $500 a week to have a cellular phone officially, but at the same time unofficially everyone was strictly forbidden to call it. It was an internal political move by the engineering department (see our commitment to this new product? we even put Mike on call), turned into an additional benefit to best engineers.
> If you have ever gone up against HR over anything ever, a union would have benefited you.
My wife (who is one of the best teachers in California, documented) was fired exactly because of the union rules. The principal wanted to keep her so much, that the district turned his desire into a political tool: oh you want to keep L? she is a good teacher? sign this paper (some financial cover up) and we will give you the money to keep L. The union did not care is she a good teacher, or not. Less seniority? Go away (but we keep your $1000 union fees).
They won't, but its a delusion that favours capital over labour.
My favorite counter-example is a collective action of about a thousand medical workers in SF Hospital demanding from Facebook an increase in censorship (and the censorship is impossible without surveillance).
Why do you think a union will support your ethical choices? And if it would not - you’d have to quit the company and the union, loosing not only your salary, but also union fees.
A union gives you more choices than "surveil or resign".
And if the union fails you because it says "no, you have to surveil" then you can still resign.
Why shouldn't workers in a factory have a say over how their labour is used by those who appropriate it?
Baffled by how obvious solutions appear to have fallen off the radar.
As you say, collective bargaining is usually going to be more effective than individual.
It may be more effective in terms of salary and working conditions (though I doubt that in software engineering I would have been able to get better pay through collective).
But in terms of ethics?
Individually, it’s almost impossible to make me support surveillance and censorship. But a big collective is much more vulnerable to manipulation. Comes 9/11 and you’ll get “collective” support for Patriot act, comes 6/1 and you’ll get “collective” support for censorship.
If you had a union, or even a professional association whose code of ethics had teeth, you could refuse without having to quit. It's incredible to me that in 2022, most programmers are still anti-union.
> To stop the surveillance, [they] would have to get their equipment suppliers to make changes; they would have to change their own back-office systems; they would have to reformulate customer contracts so they would not rely on the data being available in case of disputes; and so on.
> [It] would cost [them] more money to stop the surveillance of their customers than to continue doing it.
> That is quite literally what "surveillance too cheap to meter" means.
which is why it's less of a technical problem and more of a social problem
people need to realize that with how the technology is today we can't afford to rely on marked self regulation for a lot of things especially wrt. privacy protection it just fundamentally does not work
(Or in other words, such usage of employee surveillance should be just plain out forbidden by law not just to be used but to be deployed)
Of course, there have always been these kind of people, but in the old days they were easily identified groups of disabled and elderly people, who, most importantly, understood also themselves that they need help.
The bleak future I see that increasing amount of normal people with normal intelligence are just going to be financially destroyed, all while they themselves believe that they are fully qualified and justified to decide whether their money is "invested" in the next cryptard scheme, sent to a nigerian prince to get millions, or put in a crappy health insurance covering accidents once in a blue moon, instead of those damn government elite experts taking their money and actually providing health care and pension. And after they are destroyed, they become even more hostile against the "elite experts" who just seem to be laughing at their faces "told you so".
(To be extremely clear here: I believe intelligence is a highly multi-dimensional thing. And yu can be intelligent only in very limited dimensions. so practically all of us - me very much included - are morons in most of the dimensions. So I am not pointing here to any specific group, but all of us are vulnerable in some dimension. I may be able to above average avoiding certain kind of scams, but I am for sure vulnerable - even laughable stupid looking afterwards - for face-to-face friendly scams. Which, luckily to me, are typically not expensive.)
Unfortunately I have no good solution anywhere in sight. The best idea I have so far is to mock online the idiots who think Ayn Rand was a genius. I have to admit, though, that even that is likely to be useless even in the best case, so most of the time I try to just bite my lip.
By law, like by some Patriot act?
https://en.m.wikipedia.org/wiki/Dual-use_technology
I tend to believe it, "will be."
All tech will eventually be used to try to gain an advantage in war and surveillance. I don't think there's a way to prevent it.
My apartment building has lights in the hallways that are only on when needed, but they just use a basic infrared sensor.
* Minimize installation cost. They just wanted to plug into a light socket, not run network cabling.
* Push data logs to a central server. They didn't want to send a tech physically to each lightbulb to get data for e.g. energy usage certifications.
plus other obvious requirements.
All of that made it really easy to just stick a beacon tag inside employee badges and measure the RSSI from the mesh lightbulbs (since they already tracked that to discover who their physical neighbors were). Instant employee monitoring.
"All of that made it really easy to just stick a beacon tag inside employee badges and measure the RSSI from the mesh lightbulbs (since they already tracked that to discover who their physical neighbors were)."
If it's any consolation to the original engineer it feels like a non-trivial thing to add
Using it for location of employees was the new part.
After that initial success, one of the intermediary contractors came up with the surveillance idea (among others) to try and find reasons for <hotel chain> to roll the system out to more facilities.
PIRs are cheap and last basically the lifetime of the hotel. I would need to see some actual data to believe this whole project didn't actually cost more than installing a bunch of PIR lamps.
(I know I’m jumping right to where the slippery slope ends.)
There’s a good quote that goes something like “the law treats all men equally: the rich man and the poor man are punished the same for stealing bread to feed their family.”
Personally, I prefer less on the books and proper enforcement, but many people like a lot on the books and just as many loopholes.
Even without intending to, everyone would go from a ticket or two per decade to dozens of tickets on every commute.
"But the law is still the same!?!"
Of course it is, but changing from poorly scalable human-required surveillance to always-on, fully-scaled electronic surveillance, changes it from completely reasonable to massively oppressive.
If everyone's productivity is fine, and people take unauthorized breaks, no one will notice, all is cool. If one or two people are noticeably unproductive, the manager will likely investigate and fix the unauthorized breaks, which is also fine.
But with constant electronic surveillance, it's no longer about meaningful productivity differences, it is about oppression.
A reasonable manager would accept the occasional smoke break, but do something about hour long naps.
Often a manager will not have any say over these things. "The metrics speak for themselves!"
Regardless, I don't think we should design systems with the assumption that the people in charge of them will be compassionate and reasonable. There are a lot of petty, corrupt (in the moral sense, not financial) people out there in positions of power over others.
It would always be entirely unworkable at anything resembling the current fine structure, with fines in the $100s for a single infraction. These are based on the assumption that people are rarely caught.
I could see a surveillance-based system working, something on the lines of a congestion toll. Maybe $0.02/mi/mph over the limit, so going 10mph over the limit for 20 miles would be a $4.00 charge. We'd also have to eliminate the bogus insurance surcharges which falsely equate speeding with unsafe driving (barring neighborhoods & construction zones, they can signify either an unsafe driver or a highly skilled driver).
In France, messing with the people's ability to drive affordably led directly to the Yellow Vest riots.
i have never worked in an office environment where people didn’t routinely unwind for a couple minutes. the way we’re treated in an office setting vs those outside an office is in a lot of ways disturbing. a couple years ago my friends dad lost his job of 25 years because he was caught sneaking around a corner, out of eyesight of his foreman, to eat a candy bar. he had been warned about these “unauthorized” snack breaks in the past.
this idea is entirely foreign to any of us who sit at a computer coding or doing whatever desk job that sometimes we don’t stop to think of how ludicrous some workers are treated—my entire post college career, if i wanted to eat a candy bar, i just ate it.
were a decision to come down in just about any office full of engineers which said “unless authorized, you cannot drink or eat anything. if any unauthorized stoppage of typing occurs, there will be consequences.” people would be justifiably outraged.
but they’d be “catching” “unauthorized” non-typers.
the idea that someone somewhere decided to put trackers on human beings is wild.
did you forget about cellphones?
That everyone has accepted that owning a phone means you can be tracked with accuracy most the time, both digitally and physically, is pretty wild.
Your profile indicates that you've commented on HN on a weekday.
Don't worry - this behavior has already been reported to the authorities.
If both pilots left the cockpit mid-flight in order to chill with the stewardesses, I would be fine with them being barred from working as pilots ever again.
I couldn't care less if a receptionist catches a quick smoking break during a slow hour.
And your best solution to this is building automated lighting systems that omit functionality? That's your grand plan?
Reminds me of people that complain about seats being removed from buses to make more room for passengers because homeless people sleep on them.
When you're trying to solve things via tertiary order effects you should consider if that's the real issue at hand .
For location tracking they specifically called out things like equipment carts, but it was implied that it could track other bluetooth devices.
There's probably more illegally unpaid overtime than there's unauthorized (boss doesn't like) breaks. The data can likely prove that, too.
that's the rule I've always followed.
I am sick and tired of how often extremely pertinent information has to be neutered in this way. And I am utterly disgusted at how the legal system is used to protect scummy corporations like this unnamed hotel chain.
I wish we had strong laws that prevented employers from even thinking about threatening employees for talking about their work. Or collective bargaining to make sure employers don't have the leverage to impose such one-sided contracts.
it was technically well made tho, everything integrated into a single executable file that had an web interface:/
Project management consisted of the founder telling us what to implement. One day he told me to build something that would help us track the (many) exceptions in the app.
I went on to build a terrible alternative to SaaS bug trackers, which already existed at that time, but no one knew about/had the skills to find out.
Then I found out about nbdime, which did nearly everything I wanted. I ended up just making a simple Python script to make using nbdime more convenient, and soon I'm planning to make a vs code extension to make it 1-click.
Now that's all fine and good as such. I had no qualms about working on that stuff. But then somebody introduced the idea of capturing frequent screen-grabs (essentially video, albeit at a fairly low frame rate) of the user's desktop as they used the system. We worked out a way to do some weird windows network driver shenanigans to make sure the recording started when an outgoing connection was made to certain destinations, and then streamed the video to a server where it was stored.
The nominal purpose for this was advertised as "training" with a side-dish of "compliance enforcement", and probably in some highly regulated industries people will (and do?) accept this sort of thing. But it never sat well with me, and I felt a bit queasy about working on that aspect of the product.
It dawned on me 10-20 hours into the gig that these customers were professional spammers, and that I was helping them avoid being blacklisted.
I scrapped everything I’d made and eventually paid back my fee.
* Respectable email marketing = you have a pre-existing relationship (e.g. account on their website); spam = they found your address somewhere
* Respectable email marketing = there's an unsubscribe link that works; spam = no unsubscribe link or it doesn't work
(Could very well be that the people you're working with were actually spammers)
And if you at least have a checkbox for consent for marketing emails during signup, it should be unchecked by default. I'm so tired of this crap.
Let’s see...
1. They purchased lists of emails that they could send to.
2. They made landing pages that lied about the advertised product (e.g. an iPhone version that doesn’t exist yet).
3. There were unsubscribe links, but guess what clicking it did? Increase the open rate.
4. When they hired people and trained them to set up new VPS’es, they asked that they use their own credit cards and reimbursed them through salary.
5. They discussed purchasing fake credit cards.
6. They bribed employees at large email distribution services online tens of thousands of dollars to avoid getting flagged.
I took some time to pay them back because I was broke, and as a result, they put my phone number in their spam lists. I mean, content marketing lists.
Could very well be that the people I was working with were actually spammers.
But the agency I was working for was so busy, and we were cranking out code at such a rate, that after a while I stopped thinking about exactly who the clients were. We did a lot of work for religious and political organisations, gambling industry lobbying groups etc. "Charities" in the loosest sense.
Before long it became clear that I'd used my talents to help organisations whose values were directly against mine (I'm a strong supporter of LGBT rights for example, on which the Catholic church has a poor record.)
The main things I learned as a junior dev were:
* Non-profit clients aren't necessarily more ethical than business clients, it's naive to assume this is the case
* Be careful when taking on a high volume of client projects. It's hard to track exactly what their values are, and you might accidentally end up enriching an organisation which hates your guts
* Track your personal values carefully and regularly check if you're living up to them at work
In VB.
VB ..... 3
It didn't care (much) about well-formed documents.
You could mix it with snippets of RTF. We did. I used it to parse report templates out of hybrid RTF/XML files.
Not really morally evil though.
I usually don’t let myself get caught in such a scenario, this one slid by and I regret it.
Except for that one time I built something pretty good and he didn’t want to pay me for it. Big regret. Shouldn’t have finished that job.