HN user

greenyouse

258 karma

ed@edbabcock.com

Posts19
Comments141
View on HN
news.ycombinator.com 2y ago

Ask HN: Does Anyone Use Prompt Books for Developing with GitHub Copilot?

greenyouse
1pts0
www.cia.gov 3y ago

A Tradecraft Primer (2009)

greenyouse
64pts45
www.codesimplicity.com 3y ago

Code Simplicity: The Fundamentals of Software

greenyouse
25pts2
news.ycombinator.com 3y ago

Ask HN: What are your favorite resources for modernizing legacy systems?

greenyouse
2pts1
www.pbs.org 5y ago

Coded Bias [video]

greenyouse
2pts0
www.newyorker.com 6y ago

Trump, Twitter, Facebook, and the Future of Online Speech

greenyouse
2pts0
staffeng.com 6y ago

StaffEng: Ritu Vincent, Staff Engineer at Dropbox

greenyouse
1pts0
github.com 6y ago

Eclipse Che v7 Open-Source Cloud IDE

greenyouse
2pts0
news.ycombinator.com 6y ago

Ask HN: (2019) What are state of the art tools for front end Web developers?

greenyouse
1pts0
www.w3.org 7y ago

New W3C Web Payment Security Interest Group

greenyouse
4pts0
embeddednodejs.com 7y ago

Node.js for Embedded Systems

greenyouse
17pts26
www.w3.org 7y ago

W3C Roadmap of Web Applications on Mobile

greenyouse
2pts0
www.youtube.com 7y ago

Lo-Dash and JavaScript Performance Optimizations [video]

greenyouse
2pts0
www.polymer-project.org 8y ago

Polymer 3.0 Using NPM and ES6 Modules

greenyouse
1pts0
www.w3.org 9y ago

W3C Responds to UNESCO Concerns about Encrypted Media Extensions

greenyouse
1pts0
www.ietf.org 9y ago

RFC 1135: The Helminthiasis of the Internet (1989)

greenyouse
19pts4
medium.com 9y ago

Design Resources from HH Design

greenyouse
3pts0
www.youtube.com 9y ago

Trane: a language for automating data science [video]

greenyouse
2pts1
www.pbs.org 9y ago

Gold Nanoshell Cancer Therapy (2005)

greenyouse
2pts2

That approach sounds similar to the Idris programming language with Type Driven Development. It starts by planning out the program structure with types and function signatures. Then the function implementation (aka holes) can be filled in after the function signatures and types are set.

I feel like this is a great approach for LLM assisted programming because things like types, function signatures, pre/post conditions, etc. give more clarity and guidance to the LLM. The more constraints that the LLM has to operate under, the less likely it is to get off track and be inconsistent.

I've taken a shot at doing some little projects for fun with this style of programming in TypeScript and it works pretty well. The programs are written in layers with the domain design, types, schema, and function contracts being figured out first (optionally with some LLM help). Then the function implementations can be figured out towards the end.

It might be fun to try Effect-TS for ADTs + contracts + compile time type validation. It seems like that locks down a lot of the details so it might be good for LLMs. It's fun to play around with different techniques and see what works!

It feel silly to say that AI is curing cancer. Normally a phrase like that would sinal the apex of the hype cycle but I guess it actually has some meat in this situation. Using AI more like statistical inference to screen for medical conditions or predict treatment could be helpful. I remember Jeremy Howard from fast.ai did that with deep learning to detect things in medical images. Seems like a good thing for CERN to do as long as it works.

Here's a fun project that you could try. Use TTS to transcribe books but make the transcriptions feel more realistic. Give each character in the book a unique voice. Leading characters should have voices based on their personalities. Use quote extraction and character attributtion to tie characters to lines. Try to do convey the human qualities with EmotionML, SSML, or some kind of semantic analysis.

The best would be a TTS system at the level of OpenAI's but with voice selection like GCP TTS so you can get quality and a range of voices.

Copyright would probably spike any monetization effort but you could try. It would be nice to have an open source tool for this though! :)

That would depend on the culture of your team and larger workplace. Healthy teams should be checking in frequently to talk about ideas, reviewing big things, scoping upcoming work, etc. If there's time reserved for deeply technical but loosely structured discussion like that, then everybody takes turns being that person. In that env someone could "specialize" in it and help inspire others to do great work.

It's the team that creates that kind of opportunity for feedback though. If the team has dysfunctions like rejecting deeper discussion or not working beyond jira tickets or checking out at meetings, etc. then it's not going to work. Someone that's good at that kind of supporting discussion will feel push back when fostering those discussions so it will fall off over time.

The teams that do the best work and are the most fun to be on can host those types of discussions though, even remotely. It's worth experiencing if you haven't!

Check out the Upwind section of this PG essay (and the rest of the essay). http://www.paulgraham.com/hs.html

What do you want to do with coding? What's going to give you the most leverage in the long term?

That course is going to dump you into the deep end for modern web dev. You'll probably struggle with it because it's taking on a bunch of things all at once. Some of the technology is also temporary. Will MongoDB or GraphQL still exist in 30 years? Will HTML, CSS, and JS exist in 30 years? Focus first on fundamentals that will give you a leg up.

I know professional frontend devs that still struggle with HTML because they went straight into React without learning semantic HTML first. If you can master the basics early on, then learning React and other frontend frameworks later becomes way easier.

Start with building web pages rather than web apps. You can do apps later but there's a lot more stuff going on. It's like trying to ride a unicycle while juggling flaming torches and balancing a spoon on your nose. Maybe you could sort of figure it out but it's better to split up the tasks and handle each in turn. That course is for people that already know the basics and want to try balancing on a new unicycle.

If you want ways to practice frontend, try building copycats of websites. Read the DOM, look stuff up, make lists of HTML elements or JS built-ins and memorize them. Play games to learn CSS flexbox or grid. Do whatever as long as you like it and it's teaching you the way.

There's lots of other stuff like frontend challenge sites that are good too. You'll always be "challenged" going forward for professional projects. Some might be really easy tasks, others will be hard. Get used to being resourceful and learning how to figure things out. It's an infinite game.

This style of learning isn't unique to frontend. If you wanted to be a backend dev, learning Spring Boot before design patterns, networking, etc. would probably be a bad idea. It's better to start as a beginner and embrace learning the basics. Go slow and master things step by step. Eventually it pays off.

You could also zoom out and abstract things to help with programming languages. Popular languages are pretty similar. Familiarize yourself with basic control flow syntax in one language and chances are it carries over into others. The same goes for "paradigms" like imperative, OO, and functional programming (others exist but they're more niche). Learning a paradigm is like rebuilding the thought process for your brain. If you learn different paradigms, then your thinking gets more flexible and you can approach problems differently. You might like the "aha" moments you get when things finally connect too!

Polymer powered a few other things at Google too. Look at the DOM for YouTube, that dev team started with Polymer for Web Components and talked about how they built an internal library of custom HTML for the site. Doing that shared library approach seemed like a good way to scale out development across teams. It seems like it's still alive and well over there. (also used at ING, Comcast, Vercel, and others)

I still have hope that frontend will eventually turn back to web components now that HTML templates, Custom Elements, Shadow DOM, and ES Modules are fully adopted. One of the problems is that this stack is foreign even to professional web devs that hail from React land. It's weird because it's native browser tech adopted by the W3C and painstakingly built into the browsers. Maybe it picks up after someone rewrites the react-dom internals to support web components and adds a new tooling layer over it?

It's not bad tech and web components are built into the platform of the web now so they're not really going anywhere...

Ah, this missed the mark since the domain is all political/state related. I saw the mental liquidity story from today and it reminded me of an old book they published about how to think. That one has better theory based talk. This article has too many references to conflicts so it's kind of distracting from the interesting stuff.

psychology of intelligence analysis book link: https://www.cia.gov/static/9a5f1162fd0932c29bfed1c030edf4ae/...

previous discussion: https://news.ycombinator.com/item?id=14852250

Pair with ChatGPT 4 to set up the project design.

I try to give as much context as possible. Stating goals and risks of the project. The more info you give it, the better it does at helping you. Around 500 words for an initial prompt gets good results.

Break down the project into parts and take on the most risky/uncertain part first.

As you work through the design, continue to refine the ChatGPT conversation by giving it more info. Keeping around 200 words is good. New articles can be summarized to get it up to speed on post 2021 info. Blog posts can also be chunked out and passed through to give it more info about the problem.

When the plan seems good enough, code through the steps to create the solution. Keeping things realistic and making some slow but steady progress is better than hammering it all out in a day. Discipline over passion.

I used it for a recent project and it completely exceeded my expectations. Not trying to hook onto the current AI bandwagon, it just brought me to solutions I would have never gotten to on my own.

Hey would she want a laptop for free? I have a 2007 macbook with lubuntu that works great. I used to use it for trips and it's a total workhorse.

The computer architecture is funky so it makes installing some distros a pain in the butt.

It was something like a 64-bit EFI bootloader for a 32-bit OS. The combo just doesn't work without compiling your own kernel. It's pretty uncommon. No biggie for someone that does C++ or embedded systems though.

Anyway, I'll shoot you an email with some pics and you can let me know what you think.

Part of it probably comes down to company culture. Working at a place full of people that are engaged and fixing/reporting/debating things is healthy. It's a good environment for people to learn and grow so you can move ahead in your career long-term. Being stuck somewhere where everyone is coasting is demoralizing. You'll most likely plateau in skill since you won't take on hard problems and need to constantly learn new things. You can learn stuff outside of work but it's also nice to have a life and not feel like you're working the mines.

Work is supposed to be fun too. Some people get a rush from working on hard problems. There's at least some joy when you debug a heisenbug for a day or two and finally solve it or take on an impossible project and succeed. Having a team that you gel with where everyone is high flow state makes you look forward to doing work things too.

When you look at it economically as a 8 hours in $$$ out, you're looking at the short-term and discounting your long-term personal growth. If you aren't growing in your job, leave and find a place where you can build your skills and work on things that you find enjoyable.

There are probably some software jobs that would be fun to do. Why not go for a fun job doing something you love if you're currently stuck?

- getting used to designing abstractions before coding

- laying out how I'm going to program before starting

- using TDD for most bug fixes and refactoring efforts

- learning how to steal the best parts of code from other people

- code reading everyday via PRs (my mental VM is pretty close to a real VM)

- learning algorithms and data structures (at least the basics, I'm no competitive programming pro)

- learning how to do code archaeology with git blame

Honestly, hire a personal trainer to help you stay on track. Keep with it for at least 6 months. I started this back in December and it has been great!

Left to my own devices I would have done one or two sessions and then quit. Now I do two strength sessions per week and long walks one or two days per week. It's not a lot but I can feel the change. I might stick with it for 12 months but it costs a decent amount.

My trainer drives out to where I live and we do exercises using body weight and basic equipment (dumbbells and boxes). It also helps since I can make note of the exercises and copy the routine once I kick into my own training. They can give you lots of useful tips for how to build muscle and stick with it too!

I was treating it more like a course in how to stay in shape for the rest of my life. I'll probably do strength training and walks from here on out until I die of old age. (early 30s btw)

This is a great idea! With everything on the internet trending towards instant gratification, it's counter intuitive for some of the most rewarding things to be slow. Building new relationships with people in your community takes time but it can be one of the nicest things when it goes well. Strengthening friendships usually feels worth it too.

Yeah, the world goes through cycles of sucking. It's not all one problem. It's just a bunch of problems piling on at the same time over the last few years. Most of it boils down to economics.

You can still be yourself and make the world a better place for others. Just because some people have problems doesn't mean you have to emulate their bad behavior. The golden rule still applies and lots of people are still looking out for each other. If you run into problems, get involved with your community to try to solve them.

Instead of focusing on all of the external problems around you, focus on how you're processing them. It's okay to get therapy if it seems like overload. It's also okay to just not do anything for a weekend so you can de-stress and relax.

Try tuning out from all of the noise for a little bit. There's probably some internet/news withdrawal at first but after you stop worrying about everything, it's easier to see what's directly affecting you.

Prioritize fun stuff like finding a good book and making some tea. Go hang out with friends and have an adventure. Be unproductive for a while. Do weird things. Take an art class or find a community group. Life is happier when you're in a positive community and having fun. Most people are still good.

There are some market inefficiencies that have been documented but they seem rare. The post earnings announcement drift (PEAD)[0] is a thing that exists but shouldn't if markets were totally efficient. That gets used for gains pretty consistently but not 100% of the time. Euan Sinclair had a book where he mentioned a return of 9-27% when traded on annually.[1]

Some of the big players have moves like that which work well given the right market conditions. My guess is that they have many, many patterns like that to trade on or models which are right more often than not. I don't know anything though since I'm a 101 retail investor... Positional options trading and volatility stuff makes my brain hurt :(

Have you seen strategies like that before? It's really interesting to dig into but seems to require a lot of knowledge to know how to trade on.

[0] https://en.wikipedia.org/wiki/Post%E2%80%93earnings-announce...

[1] Positional Options Trading: An Advanced Guide, pg. 90

Since we're all speculating, I would guess that ocean acidification could be at play here. The arctic regions are carbon sinks so they experience acidification earlier than other parts of the ocean. When the CO2 is absorbed into the ocean it causes the pH level to decrease, making the waters more acidic. This inhibits CaCO3 (calcium carbonate) formation found in many ocean species like crabs.

If there's a rapid die off of this magnitude there aren't many other problems which would match this level of impact. It could be something else environmental like the water temperature but it doesn't seem like an anthropogenic problem. Similar problems have happened already for other species like oysters.[0]

I was an intern with NOAA in a fisheries lab studying ocean acidification back in college in 2011. There was a large die off in oyster farms the year before which wiped out a good size of their production. The issue then was that the farms were cycling the water in directly from the ocean into the tanks without adjusting the pH. As the pH in the ocean water dropped, it killed off all of the oysters in the farms all at once. They had to do a quick about face to treat the water to regain the catch.

Ocean acidification seemed like a problem that would get worse and worse over time. The estimate back then was that it would take roughly 50 years for the CO2 in the air to equilibrate with the CO2 in the ocean. Since we won't stop emitting any time soon it's going to get a lot more acidic.

I'm a decade behind on the status but back then it seemed like there were a lot of unknowns around the problem too. I'm not sure if more has come to light on the impacts it might have for ecology or the biochemistry of different species. It was a complex problem so predicting the outcome seemed extremely difficult. Hopefully more is known but if not surprises like this would likely crop up. For shellfish, once it goes under a certain pH threshold for a species the young will be unable to form shells which can cause them to die en mass in a short time period.

It doesn't seem like a problem that we can engineer our way out of. The best we can do is probably to monitor and perform science experiments to see some of it coming. Then try to mitigate the damage.

It seems like NOAA would have been able to call out the calcification problem for the snow crab in advance though since there have been issues with other crab species.[1] They probably would have detected the pH change in the waters too so this might not be the cause. Either way it's an interesting subject to learn about.

[0] https://blogs.oregonstate.edu/breakingwaves/2011/06/28/ocean... [1] https://research.noaa.gov/article/ArtMID/587/ArticleID/2581/...

NOAA's ocean acidification program https://oceanacidification.noaa.gov/Home.aspx

This was a good 2011 report from the IPCC if you're interested. https://www.ipcc.ch/publication/ipcc-workshop-on-ocean-acidi...

The resulting idea is excellent but it's technically hard. I've put all the resources of my company and myself into getting it made.

I'm with you and want you to crush it! Playing devil's advocate for a minute, there might be some issues with the current state of things.

Parts that will make it hard to get in (and could put the company health at risk):

- the company is default dead right now with no revenue stream[0]

- employees were hired so the burn rate already started with no product

- currently locked into doing a big launch

- the majority of the focus is on software development

- it's harder to do significant product changes since you already have a team of employees coding the technical solution

- there are no customers on board yet

Sorry if any of those parts are off base from the actual details. From what you posted it sounded like there was positive user feedback but no customers/revenue.

Before focusing on a development team you also need to know that your product is something users love. Don't get emotionally invested in creating the "right" thing off the bat. Learn how to talk to different users frequently and set up development cycles to know that you're building something people need. It's better to not be attached emotionally and learn how to iterate quickly then to start a big development push early on.

The more you invest into building an initial idea, the more locked in you are on that solution. If you have any way to prototype a $500k solution manually or with a cheap automation that doesn't scale, do that first. Your goal is to know that you're solving the right problems.

An early launch should be able to solve something to prove viability but be easy to build. The faster the future product build times are, the more chances you have to iterate and measure your solutions with UX research. Getting user feedback early and often helps de-risk your product build cycles. With only one big launch, it puts most of the risk into things going well with the initial product build. It will also miss out on early growth opportunities that you can have with customers. They won't be able to give input as the parts are built and they'll have less connection to the early product if they weren't part of shaping it.

Actions also speak louder than words. Many people are nice when talking to you because people like to help each other. Get people to pay for your product. Any promise without money is worthless.

For a pre-seed stage bootstrap your best investors are your customers. They'll give you money without taking equity and help you prove out the product market fit. That gives you leverage later when talking to investors because you'll have a nice picture of how the company has been solving real problems, acquiring new customers, growing revenue, etc. Any prospective investors should be worried about missing the chance to grow with you.

I think these line up with problems 1, 2, and 3 from the startup lessons essay.[1]

Having prior experience with a bootstrapped company is great and they'll probably be neutral or positive on re-applying. They'll also like that you've talked extensively with users before building the product. I don't know much about launching SAAS businesses so that initial build hurdle could just be part of the process. My bad if that was overly critical. Building something in front of users can be extra nice though.

YC put out the online startup school for free.[2] If you're only looking for advice, that may be more bang for the buck. It's a different story if you want to take funding and use YC as an on-ramp for that.

Either way, it sounds exciting. Sorry if this post sounded all negative. I was trying to give advice from where I think YC would be coming from. Things can go well without those call outs. I'm just a random internet person. I hope it ends up being successful!

[0] http://www.paulgraham.com/aord.html

[1] http://www.paulgraham.com/startuplessons.html

[2] https://www.startupschool.org

It's a tough environment for investing right now. If you leave it idle in the bank it loses 8.3% per year.

The big index funds like S&P 500 haven't done well because most sectors have been down. In that case you would have lost ~13.3% since the start of the year and half the inflation rate so around 17.45%. You could expect to lose about that much if the current rate continues and inflation stays up. (Hopefully they get better)

Most ETFs have done similar to the index funds.

Normally bonds would do well when the stock market goes down. It's gotten tougher since bonds now need to have a yield higher than inflation. You could try checking out some of the government bond options that are inflation protected like I bonds or treasury inflation protected securities. They take a while to mature though.

If you wanted to try a more active approach, mimicking Berkshire Hathaway's holdings and riding their coattails works. They have a value investing approach which fairs better during down markets. They've also shifted into oil pretty heavily which has been great this year. It's not totally passive since it requires setting up and updating every couple of quarters. It pays a bit better than the fully passive options though.

If you have the long view of investing over decades then a little 10% blip is nothing since things come back over time. Like others have said, the bogglehead approach is pretty solid.

One other thing to watch for is expense ratios on actively managed funds. They tend to chew through your earnings over the long-term.

I can't answer the part about what sets off a crash. AFAIK, it seems to vary slightly for each crash. They all share similar valuation problems though. If a company is worth $10 but it's trading for $50 then there's a risk that it will drift back to its intrinsic value in a bear market (aka mean reversion). When the most heavily traded companies are all overvalued then you see a situation where a large market can crash.

As investment firms realize that the investment isn't going through normal volatility, they'll sell off the shares and focus on other types of returns. The same goes for individuals but most will probably move after larger firms. A heavy sell off of a stock can cause the share price to drop. To some extent it probably happens in waves as negative events keep unfolding. That helps set the downward trajectory over the long-term.

Unfolding macroeconomic conditions like raising the federal interest rate will also have an effect like it does now in the current crash. That raises the interest rate for bank loans so consumer and commercial lending slows down. That typically ripples out with knock-on effects for the broader economy. There are other factors at play like inflation and supply chain logistics that have their own knock-on effects too.

There are trends in how to invest during a crash and bear market. Try looking for companies that are trading close to their intrinsic value that also offer a dividend. It's helpful to partition the companies by industry. Some industries are going to be fairly safe like healthcare, utilities, and defensive consumer products (e.g. toilet paper producers). Those companies are going to have steady business whether the market crashes or not.

On the other side of the coin, there are okay sectors and bad sectors. You can check the general valuations across the sector and what's going on across companies. For example, energy companies are hot right now because of oil demand. That's okay because it doesn't track the crash of the larger market. It's heavily dependent on oil value though, good luck predicting what happens to the price of oil over a year out.

A bad investment is something overvalued with bad future prospects. If you know people will be capital constrained and limiting big purchases, then cyclical industries like real estate might not be as good to invest in.

It might be helpful to think about companies in terms of size and market valuation too. A growth stock usually has higher price to book because it's invested in R&D for future growth. They may not be making that money right now but the price is higher because they should at some point if everything works. That hurts when mean regression happens and the market price snaps back to book value. Value companies make money now and have lower price to book. When they go through a bear market they'll be largely unaffected by mean regression and have an easier time getting consistent returns. They usually pay dividends which helps over time too.

I'm not sure if there's any consistent trend with how market cap size works in a crash or bear market. Check out some quarterly or annual economic outlook reports from major investment firms. They'll do the best at analyzing the current risk based on market cap if there is a trend.

Those bear market investment strategies should be put behind the caveat that long-term investing is a better way to go. The market ups and downs smooth out over time so trading based on fundamental analysis of a company usually works out much better than speculating on the current trends. With a long-term mindset you can be less stressed about news since you'll get less caught up with the short-term market conditions. Stay the course and all that.

You could rip digital books into audio format and listen to them on walks. I did that during the last couple years of quarantine and found it nicer than reading physical books. It works for soft reading but dense, technical subjects were still easier to cover by hand.

The basic idea is: [digital book format] => text => espeak => wav file

Otherwise normal audiobooks are decent too but voice actor skill varies.

I don't really know anything but I like investing and tracked this for a few years. Here's a best shot explanation from someone that's also not an economist.

For the current 2022 problems let's zoom in on what happened over the last three years. In 2020 there was a collapse in the US economy from covid. The fed jumped in and saved the day by expanding their balance sheet and dumping billions per day into the American economy.

With QE the fed sets the federal interest rate to 0% and increases the money circulating in the economy. The fed buys up long-term securities from banks with zero interest and pays those banks tasty capital in exchange. Most of that new money gets lent out from the bank to consumers and businesses but ~10% is retained for capital reserves (in case the loan goes bad).

A side effect of QE is that it can heat up the economy a little too much which causes inflation. The reason behind inflation is that more money is being created so the value of the currency weakens. In theory the fed would time the QE just right so it could help correct a market crash but end it before inflation gets too bad.

When things got hot in 2020, they got super hot! There was the covid stimulus and a bunch of complex things that caused that. The fed kept QE in place to help boost business and lower unemployment. They had certain goals in mind for what "good enough" looked like and wanted to keep QE until we got there.

Another potential danger of QE is that it can create "easy money" for businesses since consumers are spending more and commercial loans are cheaper. In a perfect world businesses would use this increased revenue to improve their business fundamentals, like investing into R&D, improving employee wages, creating new products, etc. In reality, a lot of companies used the revenue for stock buybacks instead.

When a stock buyback happens it decreases the number of available shares and gives a payout to shareholders. The payout from the buyback usually comes in the form of an increase to the stock price or dividend. That's a sweet deal for anyone that happens to own the stock already. The decision for that comes from people at the top of the company who usually happen to own an outsized number of shares. Wahoo, party! When that stock buyback happens in a market that's already hot, stocks are more likely to become overvalued.

Another factor in stock destabilization was the speculation that took over during the strong market. Bull markets usually favor growth stocks because they can deliver higher returns than core and value stocks. Growth companies remove extra expenses like dividends to focus on reinvestment so they can keep growing. When things are going well their stock price can shoot up like a rocket.

That hotness tends to attract speculators that want to make money fast. They often buy shares of the stock without trying to understand what the intrinsic value might be. This can introduce volatility into the stock price as people buy and sell high amounts based on minor events or company rumors. Over time the speculation can cause a stock's price to diverge strongly from its intrinsic value. For example, when a certain car rental company triples in value in a single day because they came into contact with a popular electric car maker. Crazy sauce.

My best guess for why the market turned at the start of this year is that firms were moving back to more realistic valuations with the federal interest rate going back up in March. That interest rate hike causes the economy to cool down. With the speculation being high some firms may have been playing it safe. The US equities were highly overvalued though.[0]

This isn't guaranteed to be totally spot on but it's probably kind of close for the major issues.

The classic books by Benjamin Graham are a solid place to start for learning about stock investments. Bonds, commodities, derivatives, etc. are all different beasts that have their own complexities. Just learning about stocks and bonds might be a better foundation. If you really want to learn more after that then go wild.

A more advanced technique for analyzing stocks would be fundamental analysis which requires knowledge of corporate finance and accounting. At that point you might as well just become an analyst at a financial firm though...

btw this PBS Frontline documentary is pretty cool for explaining some of the recent QE problems https://www.pbs.org/wgbh/frontline/film/the-power-of-the-fed...

[0] Search for "(cape)" in this 2022 Vanguard outlook. They weren't alone in this overvaluation conclusion. https://corporate.vanguard.com/content/dam/corp/research/pdf...

There are some fascinating practices which have all but ensured racial segregation in some major US cities.

In Minneapolis there was some good reporting on how racial covenants split communities and our city's culture.[0]

There was a link to racial covenants in the article that shows how prominent they still are even in more left leaning districts like the bay area.[1]

I had no idea that this was a thing until a few months ago. It boggles the mind that there's no legislation for removing this nation wide.

[0] https://www.tptoriginals.org/learn-about-minneapolis-history... [1] https://www.sfchronicle.com/bayarea/article/Reversing-redlin...

Here are a couple for sure:

  - https://rachelbythebay.com/w/2020/02/08/miss/
  - https://rachelbythebay.com/w/2019/10/13/firewall/
maybe these too:
  - https://rachelbythebay.com/w/2020/08/17/potato/
  - https://rachelbythebay.com/w/2019/11/10/scale/

idk, here are some ideas for on call must haves based on other talk about on call things:

  - normal rotation has 5-8 people
  - on call lasts for one week
  - some institutional trigger (like an SLO) exists for changing team priorities when pages happen too often
  - the culture around on call is empowering, not heroic/dysfunctional
  - people can still carry on with normal life while on call (just keep your laptop in a backpack and don't get drunk)
At least some practices could help make it suck a bit less too:
  - option for next day off after picking up a page (no questions asked)
  - frequent pages (more than a couple per quarter) trigger discussions about how to improve code quality or fix bug hot spots
  - during on call shift you can get a break from normal sprint work (do rewarding things that add value for the team)
  - there's no fear about being on call since problems are rare and everyone knows how the software systems work
  - if you're stuck while debugging on call there are more senior people you can page too to get help
  - work on app monitoring/debugging a little bit of the year to make debugging and triage easier when things do come up
  - ops team catches the page before your team to provide context and repro
  - reverting or deploying fixes isn't stressful because the deployment is stable and fully automated
Do those seem reasonable? It doesn't seem like a radical idea that the team that wrote the bug has to get pulled into the call to help fix the problem. The anecdotes from this thread make it seem like a healthy on call is very much the exception not the norm though.

If you were working on a production system that had a failure, you'd probably want to dig into the why behind the failure and take some steps to keep it from happening in the future. Why not apply the same to your own failures and treat them as an opportunity to improve yourself? I like the idea of tracking my own personal performance to help mitigate future problems.

There is probably only going to be a retro for the incident if it was something really bad. Even then it's not going to focus on you, it'll be more about cross team efforts and higher level issues.

Having a personal tracker may help you understand your own weak spots, common sources of problems, and trends in your work. For each incident look at things like why it happened, what could have been done to avoid it, and the context that the mistake was made in (e.g. we had three issues going at the time and were under a product deadline for X which was due in the next two weeks).

To measure performance you could classify the mistake type and plot it over time. It could be something general like the preventable/complex/innovative buckets stated in the article with technical details like: missed the bug during PR review, misunderstood the system architecture, missed handling an edge case, etc. Having the issues clearly stated for yourself should help you not make a similar mistake going forward. If you have a trend in the data you can focus your personal development on areas where you're weak. Keeping a reference of issues that have happened should help with understanding the problem history a year later too. That could be good for planning future work since you'll know where some of the hard spots might be.

Agreed, this setup is super nice for personal work! Adding a raspberry pi as a jump box with wake on lan saves some money on electricity too. I've been using that with a big desktop computer instead of a server and it pretty much works for remote development while out of the house.