< Back to the archive

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

Issue #111 - April 18, 2021

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

Top comment by PragmaticPulp

As a hiring manager, the things that stand out to me in your post:

- You said you quit a job at EA, quit a job at IBM, dropped out of college your freshman year. You may have valid reasons for leaving each of these, but you have to see this from the manager's perspective: You had 3 different great opportunities that all came to a dead end at the beginning of your career. You need an alternate narrative.

- You talk about applying to Google, Facebook, Airbnb, Palantir, and other companies known to be very competitive, yet the only real job experience you list in your post is low level customer support. Nothing wrong with aiming high, but you need to also be applying to jobs that are a logical next step in your career. It's extraordinarily difficult to jump from customer support to FAANG engineer, so have a backup plan.

- You spoofed e-mails to manipulate executives into meetings. This kind of thing sounds clever in movies or from anecdotes in the 90s or 2000s, but in this era everyone is on high alert for phishing attacks and security breaches. Read the room, and don't commit computer fraud during your application process. Big companies have systems in place to catch these things and you'll get blocked in short order.

- No mention of your network. Do you have any contacts or friends or acquaintances anywhere in the industry? Even people you knew briefly from school? People who you worked with in the past who moved up? Reach out and ask if they have any advice for your job search. Going forward, make a point to stay on good terms with the people around you. You can help each other as your careers progress.

Top comment by Robotbeat

1) Fiducials. This makes it so incredibly easy to map the physical world to the digital world, and vice versa. I guess it’s not under the radar, but it just feels like such a superpower. Sub pixel accurate 6dof tracking & unique identification for anything you want. It’s like a cheat code for computer vision as it makes the whole problem trivial. I half expect fiducials on all public streets within 10 years. On every Consumer product. All over the place, and some of them maybe invisible.

2) Custom silicon. Open source tools & decentralization of fab tech (by countries not wanting to be subject to international trade problems... as well as Moore’s Law slowing) are gonna make this like making a PCB.

3) Electric airplanes. With wings. “Drones” as VTVL electric helicopters have been big for a decade, but there are physical limitations to that approach. if you want to see the future, look at drone delivery in Rwanda by Zipline. But also, I think we’ll see passenger electric flight start small and from underserved regional airports sooner than you think, doing routes and speeds comparable to High Speed Rail (and with comparable efficiency) but much more granular and without massive infrastructure.

4) Small tunnels by The Boring Company and probably competitor companies with similar ideas. When you can build tunnels for one or two orders of magnitude cheaper than today, cheaper than an urban surface lane, then why NOT put it underground? And they’ll be for pedestrians, bikes, and small subways like the London Underground uses. Gets lot of hate from the Twitter Urbanist crowd, but what TBC has done for tunneling cost (on the order of $10 million per mile) is insanely important for how we think about infrastructure in the US.

5) Reusable launch technology. The world still doesn’t grok this. They will. It (long term) enables access to orbit comparable to really long distance airfare or air freight.

6) Geoengineering. I’m not happy about it, but it’s insanely cheap so... it’ll probably happen.

Top comment by work_for_x

I work for Twilio and forwarded it internally. If you are 6 years with the company, you probably have an AE assigned to your company or have been in touch with any other human being along the way?

UPDATE: Your account should be active now.

Top comment by recursivedoubts

This is my experience, and your mileage may vary:

Multiple times in my coding career I have felt stalled and/or like I was regressing.

Early on, I worked on a programming language, gosu (https://gosu-lang.github.io/) which ended up not really going anywhere. Once the work on it was done, I returned to more mundane web programming for a while (over half a decade.)

A long while after that, and unexpectedly, I turned a jQuery function I was noodling on into intercooler.js (https://intercoolerjs.org/). After a year of that I returned to mundane web programming for quite a while (over half a decade.)

Unexpectedly, a year ago, the country shut down. I was at home and decided to see if I could remove the jQuery dependency in intercooler.js, and so created htmx (https://htmx.org/).

When creating htmx and removing some attribute/functionality that was in intercooler.js, I realized that a small programming language would be the ideal replacement, so I created hyperscript (https://hyperscript.org/) I had not expected to work on a programming language again, but now I am.

So my career has been some very exciting technical projects punctuating long stretches of pretty basic, boring web development, where the most exciting thing is me wondering if I can figure out what the deuce is wrong with my CSS.

My takeaway, at least in my career, is that patience is a virtue, and the interesting stuff tends to come up at irregular intervals and in unexpected moments and ways.

Top comment by ajaimk

2 months off for paying annual pricing is a very good deal for someone who plans to use you product on the long term. I personally have a few items I pay for annually because I don't see myself stopping from using it AND there is no obvious replacement.

I would NOT recommend changing the 2 months off; you'll annoy your most loyal customers.

Top comment by pwillia7

Lots of good advice in the thread -- I'll take a different angle on it. There is and should be a difference in the way you communicate with your family and friends and coworkers, however, I think basically all people draw that line too absolutely and try to create a 'professional' persona they use at work.

The most effective you are in conversation is how you speak to your friends and family. Consciously breaking down that line and trying to bring the genuineness, empathy and effectiveness of your normal communication style into work.

I've always done OK here but I found HUGE gains once I stopped trying to act like some movie version of a 'good professional communicator' and just started being myself. All the other people working are just people too.

https://www.amazon.com/Weekend-Language-Presenting-Stories-P...

Top comment by cperciva

Public open source code bounties run into a market-for-lemons issue: The people who have the strongest incentive to pursue those bounties are the people who don't have a reputation for making high quality contributions. This can be mitigated slightly via code review, but at a certain point you spend more time and money fixing code than it would have cost to write it in the first place.

The only way I've seen this work is with a pool of users contributing money and then an "internal" developer -- someone well-established in the project who is trusted to write good code -- stepping up and saying "ok, for that much money I can turn away other gigs to work on this". The catch is that you need to decide which developers are trusted to do the work, and you can run into political difficulties.

Top comment by atarikraken

I've used every popular browser (chrome/edge/old edge/firefox/opera/brave/chromium/vivaldi) on Windows. Chrome works most smooth of the time without any funny issues.

Supposedly people said Edge is Chromium based, and is better, less memory usage, etc. I tried it, it just feels more clunky, takes longer to open, pages take longer to load. I also dislike the interface, chrome's interface seems more natural to me. And of course doesn't have the same extensions.

Firefox feels faster than chrome for certain sites, but I find it has issues with other sites. Might be because sites design for Chrome these days. Also Firefox like the original Netscape has random freezes and bugs. A lot less, but I find chrome just works most of the time with less problems.

An example site I can think of, off the top of my head, youtube works way smoother in chrome than firefox. I'm not a huge youtube fan but lately I've been trying to view content that happens to be only available on youtube. Opera has even worse youtube support.

I can't remember why I stopped using Chromium but I think it was a lack of extension support. I recalled it lacked something Chrome had that was important to me. If it's important to you, I can use it again so I can remind myself what it was.

For the record I do use Firefox as my backup browser, and I would say it's better than Chrome at some things (it loads certain sites faster, and has better extension support), and better privacy options, but overall Chrome works better for every site.

Top comment by pooryorick

Tcl. As with other shells, the scripting model is based on commands and substitutions, but in Tcl substitution is more sane because a substitution is never reparsed and reinterpreted. Tcl was designed to provide a uniform scripting environment that could be extended into any problem domain. In this sense, is specifically intended as a generalization of the concept of a shell beyond interactive use by a logged-in user and into programmatic control of any set of subsystems. Tcl's syntax is more simple and more regular than other shells, and its semantics are designed to make it easy to create a DSL to manage the task at hand. Values are immutable in Tcl so it has the mathematical purity that is attractive in a functional language, but is much easier to get started with. Because every value is a string, there is a fexibility in Tcl that can not be found in other languages. Stringiness is interesting, fun, and productive.

Top comment by linkdd

Over the years, here is the tools that answered all of my needs.

Backend:

  - Apollo Server (GraphQL, Javascript/Typescript)
  - Hasura (GraphQL frontend to PostgreSQL, translating GraphQL queries directly to SQL)
  - Erlang/Elixir for distributed applications
Frontend:

  - VueJS + VueX + ApolloClient
  - Bulma (CSS framework, https://bulma.io )
Dev environment:

  - Docker + docker-compose (a single command to spin up the full stack)
  - Makefile (so easy to write, automate any "long" commands)
  - KinD (Kubernetes in Docker, https://kind.sigs.k8s.io/ )
  - Lens (a Kubernetes IDE, https://k8slens.dev/ )
(Pre)Production environment:

  - Managed Kubernetes or k0s ( https://k0sproject.io )
Deployment:

  - Github + PR based workflow
  - CI pipeline as a multi-stage Dockerfile + Github Actions
  - CD with ansible + helm + Github Actions