Email a Dumpster Fire
hey.science
hey.science
We'd been slowly migrating from Angular 1.X to React (internally: the Angularpocalypse) for a few years and we'd finally migrated over our last few pages. The result was about 100k lines of JS and Rails code that could be safely deleted in a single PR. It had been such a long slog, though, that we felt the team deserved some catharsis.
We took a team-offsite day to gather on a nearby beach and burn the deleted code. In the interest of not wasting that much paper, we burnt a complete list of the deleted files in super-tiny font on a couple pages. We also each grabbed our least-favorite areas of the codebase to print out, including several dramatic readings. My selection was a section of code from about 4 years prior with a comment like //TODO: replace this asap.
I highly recommend it to anyone facing a long, clearly-delineated migration. Gift your old, shameful code to the flame.
At least that's what I tend to see in the field.
I did my best to clean up the code so it was at least somewhat maintainable, but there were sections (the most important ones, of course) that I just wouldn't touch because it was impossible to tell what they did -- oh yeah, I forgot to mention the global variables, didn't I?
So happy that app is dead and buried.
On the bright side, using it to learn refactoring and migration techniques.
Whut? That seems a complete non sequitur, am I missing something, or are you replying to the wrong thread?
The chain of associations here was a bit longer than usual: Image Meme > Song Title > Prominent Death > Political Figure > Recent Dramatization > Actor in Role
That's about as complex as your average bilingual pun!
- 2008 to 2012: Jquery
- 2012 to 2014: Backbone
- 2014 to 2016: Angular
- 2016 to present: React
And although there are serious contenders, React still seems like it has a solid lead over all others. If it lasts another couple years, it's been the dominant tool for longer than most.
* Based entirely on "what I was hearing the most about at that time," not on any rigorous methodology. There was still plenty of Jquery code being written last year and there are large, mature codebases out there in Backbone and Angular.
When it comes to large long-historied Angular codebases, I prefer the term "metastasized" over "mature," though now that we're in the 2020s we can almost use "legacy."
That was really a thing I thought, I posted it too and people were like "hmm yes good point."
I know I've been wrong before and since but for whatever reason that one stuck with me as a humbling moment, I had it all backwards.
I’m looking at you -> { blah && }
Talk to a sendmail v8 admin who had to hand edit sendmail.cf rewrite rules.
For examples, here's a comparison implementing the same functionality using React hooks and Svelte: https://github.com/joshnuss/react-hooks-in-svelte
Now, there are ways to handle all this with less code in React as well (for example, MobX), but the current de facto defaults with hooks and Redux create so. much. boilerplate. for. every. little. thing.
I think it's safe to say React wins on ecosystem but loses on verbosity w.r.t Svelte.
Backbone was the first time there was framing at all. So long ago & so not that long ago!
I remember having similar complains in the smaller rails world about a decade ago: every 6-12 months there'd be a new community-favorite gem to accomplish X, where X is any number of common needs: file upload, auth, json serialization, background jobs, etc etc. It was damn frustrating. I had the early-rails equivalent of js framework fatigue! But after a while it quieted down. I wouldn't call it stagnancy and ossification - I'd call it maturity and stabilization. :)
Circa 2005 doing client work during summers off of uni in this newfangled “Ruby on Rails” (v0.8.x). I was new to all of it. Coming from Flash/Flex/AS and jumping both feet into Ruby, Rails, JS via Script.aculo.us! Great times!
:shudder:
(I did make a bunch of money with that one project that went live for about 8 days before the company we did it for sold out and the new owners shut it down immediately. _So_ glad I was never on the hook for production support on that...)
I hope React is better for you and you don't need to burn again in 5 years! Luckily hooks and non-hooks code works together nicely enough.
See https://www.channelnewsasia.com/news/cnainsider/how-china-fr... for one write-up.
> Teetering on the brink of collapse, the collective enterprise had gone through three managing directors in 1984 when Mr Zhang, a 35-year-old city manager, was appointed as the fourth.
> No one expected much of him, since a revolving door of directors had failed to stop the rot. He put it thus:
> People didn’t have faith in the factory.
> But he grabbed the national headlines a year later, upon discovering from a check on the inventory that a fifth of the fridges were faulty.
> Each fridge was worth two years of a worker’s pay, but Mr Zhang ordered the workers to destroy those 76 fridges – with a sledgehammer.
The CEO joined in the smashing as well for extra symbolism.
> (The young manager) made it China’s version of the American appliance giant (General Electric)
Wow
If I did get emotional it'd only be due to some sort of bikeshedding (style complaints) that I would have forgotten about by the next morning anyways.
Pretty cool.
Did anyone beat the printer to death with a baseball bat?
Their app had some Norse name (something like Ragnarok or Valhalla etc) so the put it on an RC boat and torched it on a lake :-)
I found it very in keeping with the theme.
it certainly re-energized the creative side of me to think up some similar live stream rube goldberg device so i like where their head is at
Anyway, this is basically the epitome of 2020 development work for me. I wrote a whole bunch of well-tested code ahead of an event last weekend. At the last moment, a director changed the layout of the event in about the only way I hadn't foreseen. All my careful tests passing didn't make my code work during the event, which led to a bunch of manual correction the code was meant to avoid. I imagine the Hey team feels a little similar when tests work great and then the humidity ramps up.
Both are working now, though, so all's well that ends well :)
Is this really how this carbon offset thing works?
You release a bunch of greenhouse gases - but it's "OK" because you pay money to some organization that might eventually plant some trees (or use your money to buy/rent fossil-fuel-burning machinery to orchestrate the planting of trees)?
Seems like guilt-avoidance to me.
I had no idea this was really what everyone was talking about with carbon offsets.
> You pay some other organization some amount of money,
contradicts this:
> and now you get a free pass
and you aren't allowed
> to do whatever you want.
You pay for a specific amount of carbon offsetting, so you don't get to claim carbon neutrality if you exceed the amount you offset.
Of course given that this is all voluntary someone could lie, but that would be asshole behavior, and if you did it at scale (i.e. if a corporation lied about it), you would be discredited - in reputation and potentially be facing civil lawsuits.
Are we all buying into 21st Century Snake Oil here?
And battery recycling technology is always improving. By the time the current Model 3s are retired, the vast majority of Lithium batteries will be recycled into new cars:
> By 2025, it is estimated that about three-quarters of spent electric batteries will be reused and then recycled to harvest raw materials.
https://www.instituteforenergyresearch.org/renewable/the-aft...
1. the aggregate amount of sin in the world caused suffering
2. indulgences actually reduced the aggregate amount of sin in the world
then the indulgence system would make perfect sense. I agree there are problems with offsets and many of them aren't credible, but this indulgences metaphor has never made sense to me.
The airshed is, of course, indifferent to our financial games...
Now, if it actually works to change your behaviour so that you don't emit as much carbon because you can profit on the difference, well, hey! That's a good thing! But I don't think most industries can just stop on a dime and pivot like that.... it may provide incentives in the long term, or it just might end up with all the costs passed back to the consumer, who may or may not actually have a choice where to spend their money. This is basically the worst case scenario, where it just ends up being a financial game and doesn't improve anything. I hear that the solution in this case is just to ramp it up higher so that it eventually forces people to demand change; but they might just demand a change to the tax if no other options are forthcoming.
There's also the matter of catabolic processes, i.e. where something that emits less carbon is only financially feasible because of subsidies / taxes / etc. and in reality does not make economic sense to do. Any energy-generating technology that is not actually profitable without this is arguably taking in more energy than it produces, in the form of the externalities needed to enable it (i.e. fossil fuels that go into the building and maintenance of green energy projects).
https://ptbs.typepad.com/penn_teller_bullshit/ep_606_being_g...
It's basically this millennium's version of the Catholic Church's indulgences.
> There is evidence for global warming, though there's considerable reason to believe this is simply part of a natural cycle. There is some evidence that humans may contribute at least a bit to the change (though many sources suggest that human pollution is insignificant compared with forest fires, volcanos, etc.).
This is underhanded, weasel-word denialism. "Many sources suggest" my ass... Let's not give any credibility to this kind of bullshit.
The show pretends to be just about calling out "bullshit", but sprinkles in a lot of politics and opinions.
Great magicians, but dishonest skeptics.
Glass too.
In that episode, they mainly point to paper and plastic recyclables as being net societal losses in 2003 when the episode was filmed. They only talk about metal and glass briefly, because it's pretty apparent that it is efficient to recycle metal and glass.
For what it's worth I don't actually think you are being dishonest, just hyperbolic.
It's about cleaning up after yourself. Clearly in the case of this machine, whose carbon impact is tiny compared to nearly every other combustion based machinery we use, the intent is symbolic.
> ...that might eventually plant some trees (or use your money to buy/rent fossil-fuel-burning machinery to orchestrate the planting of trees)?
For a reputable carbon offset, those carbon costs are accounted for in the offset, so even with them, it's a net-negative carbon transaction.
> Seems like guilt-avoidance to me.
That's besides the point. If it offsets the carbon produced, then it works, and it doesn't matter what the psychological motivation is.
But I agree that there is a problem with offsets: In a saner world we'd be imposing carbon taxes instead of this, but this is where we are today, with CO2 mitigation effectively taking the form of "donations".
Donating money to some organization that claims they will plant trees to offset some amount of greenhouse gas emissions is a lot like trusting the American Red Cross to build houses and schools after a disaster. You're hoping they do what they promise (and instead of doing that, the American Red Cross billed majority of the donations as "Administrative Fees"[1]).
So, in reality you may or may not be "cleaning up after yourself". Actually, you're not cleaning up after yourself... you're outsourcing that job (and don't actually care if it gets done) so you can feel free to release more greenhouse gases.
[1] https://www.npr.org/2015/06/03/411524156/in-search-of-the-re...
FTFY. The Red Cross is a reputable organisation that does wonderful work across the developing world. The American Red Cross is the corrupt one.
For disaster relief you'll have to find another reputable charity.
Eg:
https://www.redcross.org.au/news-and-media/news/australian-b...
https://reliefweb.int/report/viet-nam/thai-red-cross-society...
If you could show that Cool Effect is BS and there was an alternative that really does offset the emissions, I'd bet these folks would be all for switching.
In my saner world, we wouldn’t have people knowingly create greenhouse gases for a PR stunt (whose only beneficiary is a corporation called Hey).
In this case, I don't think the dumpster fire produces more than a few kW of heat. If it was done inside an office space, it probably wouldn't be powerful enough to heat to room to a comfortable temperature. The server infrastructure required to stream the video most likely produces more CO2 than the fire itself, and I don't usually see an ad on web net saying "we bought carbon offsets to compensate for the greenhouse gases that video produced".
Here there is a visible fire, so people think "OMG, the planet", not realizing that their computer may be connected to a much larger fire in a coal plant.
You mean I can just take a book from a bookstore, depriving others of the chance to read it, and it's somehow "OK" because I paid money to some organization that might eventually use it to print another copy?
Stealing books from a bookshop - ILLEGAL.
Pumping CO2 into the air and contributing to the global ecosystem's destruction - LEGAL.
If you pit climate responsibility against people living their lives, climate responsibility will lose, full stop. In the short term, human beings are the way they are, and you won't be able to change human nature before the climate is destroyed.
People offsetting their consumption is way, way better than people saying "If you just want me to suffer, fuck it. I'm going to embrace being an asshole and do what I want."
For example, I'm going to throw some logs on the fireplace over Christmas. I can either find a way to offset my emissions elsewhere, or just say fuck it, those environmentalists are assholes so screw them. It's probably better for both of us if I donate, because not having a fire is off the table.
You could also, you know, not burn firewood? There’s a reason no home built in the last 20 years in many states do not have wood-burning fireplaces.
You're making things worse.
So, from one fellow environmentalist to another, keep it to yourself, for the good of the planet.
> You could also, you know, not burn firewood?
You apparently missed where he literally said:
> > because not having a fire is off the table.
I guess it’s every man’s right to burn a barrel of diesel in their yard “for the traditional effect” or whatever, though, and that’s why 2020 will be looked back at with fond memories before you know it.
So if carbon offsets don’t work well (which I think there is also significant skepticism about), then the net effect here is negative. On balance, it’s probably positive but I don’t think you can make a blanket assertion that skepticism here is counterproductive — it seems quite warranted.
Wikipedia article on rebound effect: https://en.wikipedia.org/wiki/Rebound_effect_(conservation)
Isn't that what 99% of people, companies and governments are doing anyway? Doing things that look or sound green, while (voluntarily or not) ignoring the actual damage we're doing.
For example, my country banned plastic bags on the supermarket and everyone rejoiced, but no one has any intention to talk seriously about environmental problems. It's all a bunch of empty slogans and feel-good discourse.
a) Offsets don't do what they claim to do, as in the earth in the universe where you give the offset has the same carbon problem as the one in the universe where you don't make the offset, or
b) Offsets are bad even if they do work. There's something morally repugnant about them even if logically they are moral.
From your wording and most of the responses I assume you hold a, but the tone and comparisons to indulgences, etc. make me think you actually (also?) hold b?
I personally hold the contrary opinion to b, but I'm not sure about a) so I'm always a little skeptical of the companies claiming to use carbon offsets. But the problem is definitely one of technology (measuring and holding people accountable to the offsetting) rather than an inherent philosophical contradiction in the concept of offsets.
Offsets are a promise to get rid of carbon for a price. There is a strong incentive to cheat and make the promise, collect the money, then do less than you promised to do. No matter what accountability mechanisms you create, eventually someone will fail to be completely honest, and will deliver cheap offsets as a result. The result is good prices. Eventually the failures of the market to actually deliver on their promise will become a scandal, but those scandals take a long time to materialize so we won't hear about it for a long time.
Which means it might or might not work, and we probably won't hear much about it if it doesn't.
Making this less hypothetical, go read https://features.propublica.org/brazil-carbon-offsets/inconv... for some investigative reporting on how often carbon offsets aren't actually doing what is promised.
The result? In the two large scale programs that have evaluations, the results were that 85% of efforts undertaken under the Clean Development Mechanism were likely ineffective, and 75% of those under Joint Implementation likewise were.
And yet, despite documentation of how ineffective those programs are, do you hear a lot of public scandals about ineffective carbon offsets?
Between perverse incentives and the history of failure, I do not expect future programs to do better. Nor do I expect to hear much about the failures that I think are going on.
Additionally, the 3x funding suggests they are aware that an offset project has some inherent inefficiency.
For clarity: I think they probably do work and there’s value there, but I think there are good reasons to be skeptical and evaluate carefully.
But I dug up the direct link for the stream: https://video.ibm.com/embed/23996224
In this case, we're a paying customer of the provider, not the product.
If you are interested in how I made it: [link redacted]
Still waiting on my email to show up though. Apparently it's awaiting review.
not connected to the internet, but same general idea
Patiently waiting to see my attachment meet its maker...
I did just get an email letting me know you will send a video of my submission though, that's nice!
nice!
But we're working on speeding up the whole contraption overall.
For reference, here's what I sent: ╰། ◉ ◯ ◉ །╯ "help they trapped my soul in this piece of paper!"
Kinda fun to watch them try and figure it out. I wonder if machine revisions/hacks will happen live on stream as well.
I preferred to have this project be a little crappy on purpose. Most marketing projects are so shiny and perfect. This one is literally a dumpster outside. Warts and all.
I made the ramp steeper this morning and it seems to help.
we'll run it as long as it's fun
This is the kind of automation I can get behind.
The decision was made to not horizontally scale out the dumpster operations to match expected queue uptake. ;)
Like, 2020 may indeed be a dumpster fire, but at least we can be confident that this particular installation is going to be a relatively safe, controlled dumpster fire.
It would have been awesome if windows were movable, too.
But it does make me wonder if people test their stuff with firefox and privacy protections ON. I think(?) it's the default now.
Either way, funny as hell. Well done!
Also funny that for every piece of paper someone has to walk up and help them get into the dumpster.
Is there an easy way to calculate the climate impact of a software project? I’d love to do this for my next project.
Just in case not obvious this is a marketing campaign by Hey.com (I was 90% sure) and they've got my email now :)
This is proven by sending an email from one Gmail account to another. It is all but instant. I swear once the email arrived before the Enter key had debounced! SMTP can't move things quite that fast.
When we were about to launch a new version of our product (this is a physical piece of equipment), we took one of each model to an open car park lot, gave each of us a hammer. Each of us took our turn to smash it the bits with our hammer.
Had a quiet drink afterwards with the team.
Edit: I do appreciate the dude's commitment to burning our messages though!
and when it's not wet it oxidizes from the heat. we're trying a few different coatings.
https://www.youtube.com/playlist?list=OLAK5uy_nqWGydjKlLOvGr...
Edit: Hm, seems to be some chillhop playlist. "Stan Forebee & Kyle McEvoy - Kensington" now.
Edit: should clarify, was making a joke.
I just know that everyone that creates another email client without addressing the elefant in the room, that is privacy, just adds oil to the dumpster fire.
The thought there was to reduce toner usage, but printing the same thing reduces issues due to wind flipping the sheets over. +1
One could have a lot of fun with ASCII art or even some good ol' fashioned figlet.
figlet -f banner 'foo' | sed 'y/# //'
(should work with `tr '# ' ''` too, but I only have the busybox version which only works with ASCII)EDIT: and I forgot what a pain Unicode can be on HN as well. Unbutchered here: https://pastebin.com/jVSUwVCS
Yeah that's what I meant. If this was made for maximum throughput, the bottleneck would've been the conveyor belt stopping to show the printed page to the camera above.