< Back to the archive

Like what you see? Subscribe here and get it every week in your inbox!

Issue #20 - July 21, 2019

Here are the top threads of the week, happy reading!

Top comment by andrewcarter

I have a problem cutting people off- I get way to excited about what I want to say and jump in. I really appreciate when people call me out and don't take it personally. I also try to work on it and try to help steer the conversation to other people who have been cut off when I see it happen. So IMO don't be afraid to politely just let someone know! If you don't feel comfortable during the meeting, maybe speak with them afterwards, doesn't need to be a big deal, just let em know. If you don't feel comfortable being a little confrontational, speaking with manager types or even just before a meeting indirectly bringing up that everyone should focus on it can help too.

I know sometimes people cut off others very purposefully or in malicious ways, but it sounds like maybe where you're working that's just how it is- so everyone kind of has to play the game to be heard. In that case, try and change the game! A little bit of discomfort now can lead to yourself and probably others being happier down the road.

Top comment by untog

I think there's a process everyone has to go through in life of working out what truly makes them happy.

When you're in your early 20s everyone has similar goals - you're going to be a goddamn giant success, no matter what your field is. As the years go on you realise that's not going to happen and you have to re-evaluate. It's not always easy.

For me personally, I know I do good work. I know my coworkers can rely on me to deliver. Maybe I could be out there giving more conference talks and raising my profile, but I've learned to accept that isn't my forte, and that's ok. As engineers most of us are extremely lucky that even with very little public recognition we still earn the kind of money most people can only dream of.

When I'm at work, I do the best I can do. Then I get out of the door at a good time, go home to my family and have a blast with them. I'm happy, though my 21 year old self might recoil in horror to see it.

Top comment by crawdog

Very much so. For retail/catalog search SOLR dominates. There's a lot more customization available for relevancy/ranking OOB than Elastic. Drawbacks are managing indexing - SOLR cloud is much harder to manage.

For commodity search workloads (general retrieval/faceting) Elastic does a fine job. It scales well and there is good documentation and support.

Lucene is the core engine behind both of these solutions.

For fun, lets look at the large Enterprise acquisitions over the years:

* Verity - bought by Autonomy

* Fast - bought by Microsoft (Also known as the Enron of Norway...)

* Autonomy - bought by HP (Look at the backstory on this deal!)

* Endeca - bought by Oracle

* Vivisimo - bought by Oracle

* Google - GSA (now Google Cloud Search, hosted solution)

Next, follow the path of online acquisitions:

* IndexTank - bought by LinkedIn

* Swiftype - bought by Elastic

There's a number of interesting independent players still. Coveo plays in the Enterprise space, but it's a hard market. Algolia is doing great in the commodity online search space and seems to be growing well.

This is an area I think is open to more competition. Especially with AI/ML technologies available around Document Understanding - the Enterprise market is open for a good on-prem upstart to really take off.

Ping me offline if you have additional questions - spent almost 20 years in the space and ran a search company of my own.

Top comment by Retroity

It is the worst redesign I've ever seen on a major website like this for a number of reasons. It's needlessly heavy on resources, it's slow, it's difficult to navigate, it's filled to the brim with ads, it's uninspired and takes away all of the charm of the old design in favor of making Reddit look like a more generic social media, it doesn't work with the wayback machine, and that's just scratching the surface.

It's such a awful design. I've explicitly opted out of the new design on my account, and I use old.reddit.com whenever I'm not signed in.

Top comment by news_hacker

- We need to apply the same principles of consumption that we do to food to information. Consume responsibly. Be aware of the sourcing. Don't binge. Know what's junk and what's nourishing. Give back to positive sources to nourish and grow them (sustainability).

- Income inequality is huge. Slavery still exists but in a misdirected, slight-of-hand way. Work or the system will abandon you and it's "your fault".

- Learn the macro-game that you are a part of and the micro-game that you are a part of. You can only ever play/influence the micro-game so focus on that, but the macro-game can give useful context.

- Look where the sun doesn't shine. When everyone's looking one way, see what they're missing.

- Virtues are important. Virtues conflict. Meekness is a virtue, but don't make it your only one.

- Wealth has three portions: financials, relationships, and intelligence. Nurture all three.

- It's difficult to break out of the middle-class. It's even harder to break out of the middle-class mentality.

- There are many loopholes to fast-track you to your goals. Live your life by the orthodox narratives, and you may miss out on something fortuitous that crosses your path.

Top comment by Scooty

The other day I was stopped on the sidewalk by someone who told me they worked for a large environmental non profit that helps save endangered species. He asked if I would subscribe to help. I offered to make a donation and was told they I can't do a one time donation and they "really need subscribers". He even told me I could just cancel after the first payment.

Taking advantage of someone being forgetful is sleazy.

Top comment by anderspitman

My rule of thumb when considering adding a dependency these days is to start by trying to implement the functionality myself. But I don't let myself spend too much time on it (maybe an hour or two. maybe a day). More often than not I'll get bogged down pretty quickly and realize the problem is more complicated than I assumed. This approach gives me:

1. Greater appreciation for the dependency

2. Better chance of modifying the dependency when it breaks or doesn't work the way I want, because I'm at least somewhat familiar with the types of tradeoffs you have to make to implement such a thing.

3. A chance that the problem turns out to be simple enough to not require a dependency and the prototype works just fine forever.

4. Get to learn something new.

Obviously there are exceptions. I wouldn't try to implement a relational database just because I need one. But in these situations I try to take a step back and ask if I even need a full DB. Would flat files work fine for the task at hand?

Top comment by spiderfarmer

I only learn when I have a project in mind that I want to do. No matter if it’s work on or around my house, creating an app or designing something like a logo or interior. Then I just start. Walk into a wall. Stop. Look for learning material or inspiration. Start over.

Reiterate. Learn more. Reiterate.

I’m not easily frustrated by failure, starting over or general lack of progress. If I have an interesting goal I just keep going. It might not be the most efficient way, but it’s how I learn best.

Top comment by icedchai

Do you really want to invest in early stage, high risk ventures that have a low probability of return? Open a Vanguard or Fidelity account. Buy index funds. Invest regularly. In 10 - 15 years you'll have a small fortune.

Top comment by jointpdf

First of all, good on you for going back to school—that’s not always an easy thing to do. What subject are you considering studying?

Khan Academy is definitely the best one-stop-shop for this purpose, as someone mentioned. The key is to consistently do lots of practice problems over time. KA is adaptive+gamified, and helps select problems in your “zone of proximal development” (not too easy, not too hard).

Depending on what you want to get a degree in, you can focus on particular areas and gloss over others. If CS, then discrete mathematics and logic are the most important (plus stats/probability/linear algebra for machine learning and AI). If engineering, then trigonometry/calculus/physics is more important.

Learning also requires motivation, which for me personally requires seeing the big picture of why the math theory matters and how it was developed. Read the NYTimes series by Steven Strogatz. I also like “Mathematics for the Nonmathematician” for an overview of HS-level math that weaves in historical context (e.g. how Renaissance art or agriculture and mathematics are intertwined). Watch some YouTube videos on mathy subjects (like Numberphile or 3Blue1Brown or any of the zillions of channels along these lines). I try to do this as a “learning by osmosis” sort of activity that I fit in to my daily routine, e.g. when folding laundry or commuting.

Learning is also a social activity, so maybe enroll in a community college course or find a local study group. I find it’s especially important to have someone to discuss things with when learning math. I also recommend finding good public spaces to work in—libraries and coffee shops are timeless math spaces.

Along those lines—as you’re learning/reading/practicing new concepts, imagine explaining them to someone else (Feynman method).

Do lots of problems by hand on pen and paper, there is research and eons of practical experience that shows that doing math is a kinesthetic experience (that is, there’s literally “muscle memory” for math). Draw pictures and graphs on paper. Keep all this scratchwork and doodles and stuff in a notebook.

Learn to process the “I have no idea what’s going on” thoughts and feelings you get when you’re faced with something new and challenging, or seem to continually forget things you’ve just (re)learned. That’s par for the course, you just have to “feel the burn” and keep going. Cheesy but extremely true.