HN's guidelines recommend to assume the best.
7,811 karma · joined August 11, 2007
Organizer of the Startup Conference http://thestartupconference.com
HN's guidelines recommend to assume the best.
Not sure how to protect against replay, with only 200 gates...
What I don't know (I can't try the 'free' Copilot without providing a credit card), is how well it understands unusual constraints and separate pieces of C++ classes that make the real programs we write.
For instance, a simple test would be: "write a fibonacci function but skip the number 5". Does it do the right thing?
Another challenge would be a C++ class with several fields. That's what our real programs look like: composite data objects, mixing several different algorithms together to implement complex behavior.
Maybe my data structure has a hash table of items, as well as a direct link to the largest item. When I say: "write the function to insert a new item in the list, and remember to update the largest item if it is larger than the current one", would Copilot do the right thing? Each step is easy in itself (adding an element to a hash, comparing an item to another one).
Does that make more sense?
I think it's much simpler: being number one in fab technology is mostly driven by volume: whoever has the most volume wins. During the PC era, Intel had the most volume, so they also had the best fabs. It's a winner-take-all, self-reinforcing ecosystem.
But in the last 10 years, mobile has had the highest volume. That's what allows TSMC to have the best fabs, and Intel is struggling. That's all there is to it. Nothing to do with services or software.
In other words, with Powerpoint, you are presenting to a passive audience. With Hypercard, you were handing the control of the presentation to the attendee, and they could drive the presentation wherever they wanted.
As a rule of thumb, there's about 15-20% of the entire company stock that is allocated to employees. If you are negotiating for employee #1-3, there's room. If you are employee #50, you are looking at a decimal point.
Always ask for the current valuation.
> Given that anything else would involve a massive pay cut
That's one solution right there: talk to your partner obviously, but it looks like you could quit the job that you hate, and could still maintain your lifestyle using your partner's income. Then find something to do that you actually enjoy. I hope your partner would be happier when you're happier.
It's usually done for early employees who join before multiple rounds of funding occur.
It doesn't sound like SWE is the right career for you. There are tons of opportunities for people who are tech-savvy but not hardcore developers. It's a lot more likely that one of those jobs will make you a lot happier and fulfilled.
Maybe you're good at communicating or have domain expertise. You can work in tech sales, product management, tech marketing, etc.
I think we agree the engineers want their employer to fund open source. It's up to us to establish a new normal: if your company relies on open source technologies, you are expected to give back 0.1% of your revenue to open source projects. That's it.
Obviously, the challenge is to go from today's situation, where 0 companies give 0.1% of their revenue to open source foundations, to 1. Maybe an open source startup will be the first. Then a second. Then maybe the Google engineers can pressure Google to join this program. And maybe, just maybe, in 10 years, it's become expected, and most tech companies do it.
(a) 0.1% is an example, chosen to be low enough that it doesn't impact the financial results of the company, but large enough that it dwarfs all current donations to open source.
(b) if you are worried about the complexity of donating to multiple open source projects, you can imagine that a company could donate its share in one chunk to some open source foundation, which then redistributes among individual open source projects.
So in the end, the answer doesn't provide any specific answer regarding SystemVerilog and Chisel. All I found is one mention of negotiating parameters, which Verilog doesn't do. I would have loved to hear a lot more about examples of what Chisel makes more convenient than SystemVerilog.
That movement started with Computer Architecture: A Quantitative Approach, which is from late 80s/early 90s?
The age where "search" is meant to return pages will eventually end. I know it's early, but you can think of GPT-3 as the next generation of search engines. You consume the entire "Internet knowledge", and you answer questions, by merging information from multiple sources. Not just returning one existing page. That's sort of what GPT-3 does, you just don't think of it as a search engine yet.
Google felt "magic" in 2000. A search-oriented GPT-3 will feel "magic" soon.
I'm a great driver. I make a mistake maybe once a year (and I apologize for it by waving my hand). Whereas every day on my commute to work, I see a bad driver doing something dangerous. Guess what, I drive by more than 365 cars on my commute, so my stats are actually no better than everyone else. But it feels like it.
Debugging is not limited to EE/CS courses of course. The sound on the TV doesn't work? But you still get a picture? So the HDMI cable is carrying the video correctly. Sound goes through the same cable, so it's not a cable issue. Do you hear sound if you switch to another input? Then the speaker is working fine. And so on. Divide and conquer.
Debugging (figuring out problems) relies on a handful of basic principles:
- having some understanding of how the system works
- looking for differences. A works, B doesn't. What are the differences between A and B?
- tracing issues through components (the data we care about makes it to the database, but the UI doesn't show it)
That's about it. Definitely teachable.
Here's a radical idea (read to the end before you object). The inspiration is a blend of how open source projects recruit developers, and how the 20% Google side-projects used to work.
I work for company A, I'm starting to get slightly bored or interested in doing something else. Without quitting my job, I contribute a few days of code to company B, whose project I find interesting. As I contribute more to company B, I eventually quit company A and join company B full-time.
Benefits of this approach: no interviews. Know what you are getting into. Try different things and what works for you. How can we make this work: legal framework. California, if you are listening, pass a safe-harbor law that prevents companies from exclusive work arrangements, so I can always do a side-gig with company B even if they are competitors. Have company B compensate me, so we don't end up in a situation where company B is abusing job seekers by getting free work done. Maybe a law could say that I'm safe as long as my work for company B while employed by company A doesn't exceed 5% of my salary or so (so I worked for company B for a few days or weeks, not months). Would that work?