< Back to the archive

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

Issue #41 - December 15, 2019

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

Top comment by duelingjello

- Write, sign and notarize an agreement that the code is either duplicated or transferred to you.

- Decide who gets the data: users, you, someone.

- Sanitize servers and services by trying to overwrite data with junk values before canceling.

- Cancel monthly services and free services.

- If it was good, don't let the team relationship go to waste. Talk with whoever's left / worked-with previously about doing something else.

---- Then and only then ----

- Do "consultingish" work or solve a problem you have to find a problem worth solving.

- Sell something good people want before you invest too much time/money/mental health building something too much.

- Keep it real: building "your amazing idea" without a feedback loop gathering critical data from paying/potential customers is #fail.

- Someone though will have to step-up to be the sales/buzz builder or one will need to be found (hopefully, someone you've known for some time or a friend-of-a-friend). No useless "idea guys" allowed.

- Sales/buzz person or someone will need to be the captain of the ship ultimately in-charge of everything.

- Iterate fast, executing based on feedback and sales numbers. Prefer the best one you can get into if you can. (YC, hihi.;)

- Everyone at the beginning gets equal equity vested over 3-5 years. First employees should get ~1% equity, more if it's an employee-owned co-op.

- Don't pray for funding, sales/profit cures all.

- Raise funding only if you could definitely grow faster with more money.

- Skip accelerators unless you need a network and/or are relatively inexperienced.

- When you get big enough, incorporate (California or Delaware C-corp). If it's s consultancy, LLP or LLC. https://clerky.com

Top comment by relaunched

Find a lawyer, ASAP, that specializes in employment and / or IP. This is a legal issue and you need to solve it with people that know the law. Talking, signing, admitting things, etc, only hurt you.

Depending on your country and state, as well as your employment agreement, there are a lot of impactful variables. Intuition and personal relationships are not going to help you solve this issue, especially, absent knowing the law and your position.

Top comment by throwaway13337

The user experience on mobile is hilariously bad.

1. Google search turns up a reddit result.

2. Click link to AMP page.

3. Scroll to read comments and click another link to open real reddit to view all comments.

4. Get to real reddit domain and watch a long loading screen.

5. Click away 2 notifications saying you should use mobile app.

6. To read a child comment, click again to read below. Page reloads above the parent comment causing you to search the page again to see child comment.

Absolutely ridiculous but still I do this because most Google results are SEO garbage. Google disabled conversation only search. Reddit is unfortunately still the best way to get a real person's view on a topic that most likely not an ad.

Just like with digg, we need a new reddit.

Top comment by jameshart

I suspect a lot of your issues could be solved by talking to someone before you start coding to make sure your approach is valid.

When PRs are getting outright rejected it is because you are making incorrect assumptions or decisions in your code that don’t match with what the rest of the team knows or wants.

Before you make a decision, get another perspective.

One common pattern I see in not-quite-yet-senior devs is that they don’t necessarily recognize the moments when there is more than one option, and they are making a choice. This happens all the time in programming. You are constantly making decisions and committing to particular solutions. If you are not aware of the choices you are making - you are picking the first idea that comes to mind (or the first stackoverflow answer) - there’s a really good chance you are picking wrong.

Also try to develop your instinct for the assumptions you are bringing to the table. Did you assume this code was just one-off stuff for a simple offline process? Do others on the team expect it to be reused as a library later in an online service call path? That difference of perspective will lead to vastly different expectations for how that code should be written.

So: Take more time before you start coding to talk through the approach you were thinking of taking with someone. Then, as you start coding, watch out for moments when you can make a choice and again, get some input.

Doesn’t need to be a long design session. Just a five minute pull-aside to get a consult on an approach.

This is why pairing is so effective, by the way - you get constant access to a second perspective.

Top comment by Etheryte

For context, I'm a frontend development lead who oversees a number of projects of different shape and size. My personal and very subjective opinion is it's simply hype. If you say "Datalog" to a frontend developer, they will either hear "obsolete" or just not know what you mean. If you say "GraphQL", they hear "+5 CV points". Obviously that is slightly tongue in cheek, but the marketing side of it is a very real factor.

Facebook currently holds one of the largest levers in frontend development — React. If they say the officially recommended way to do X with React is Y, you can be sure that Y will get at least moderate traction.

I'm sure they exist out in the wild, but personally I haven't seen a project where GraphQL really shines through. In my experience, HTTP2 and reasonably well designed RESTful endpoints are the right default to go with. There is the argument that building good APIs is hard, but I believe someone who has reasonable experience with a stable technology will outperform someone using a new tool for the job. If you're not familiar with it, you won't know what to look out for.

Top comment by 52-6F-62

I've worked with the United Nations Online Volunteer program before.

They basically have a "job" board for different categories of tasks that can be done remotely online including design, web site building, other tasks, etc.

It's not the easiest†, as many orgs might be overseas so working asynchronously is almost a given. Budgets for them are often next-to-none, but their service demands are usually relatively low.

I highly recommend giving them a look. There are a lot of great, small, un[der]funded organizations trying to help people in despair, impoverished children get a leg up, children in troubled homes meet new potential—all kinds—and they need the help because they can rarely afford to pay for it, but the ability to manage something like a website and blog that gives them increased exposure and ease of contact is a huge boon.

They also need online English teachers, researchers, project managers, writers, the list goes on.

https://www.onlinevolunteering.org/en

Tech options: https://www.onlinevolunteering.org/en/opportunities?f[0]=fie...

edit: To clarify, many of the technical needs are relatively simple—though there seem to be some more challenging options appearing as well. The harder part may be effective communication and understanding—though the people I've worked with have always been great and understanding and just want to deliver the most because they're doing what they do precisely because they care. They're not getting rich.

Top comment by gwern

This is a question which seems to come up regularly: https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que... https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...

I have a Twitter thread where people have made a number of suggestions ( https://twitter.com/gwern/status/1092221945427517440 ), and my own website is often mentioned - minimalist, fast, pretty, and also with a number of interesting & unusual features: https://www.gwern.net/About#design

Top comment by whb07

"Domain Modeling Made Functional" by Scott Wlaschin*

Talk about a great book from cover to cover! Functional language evangelists are always ranting about types and their usefulness but fail to concretely convey how and why they can help. In this book Scott uses F#, but it applies to the broader range functional languages with a strong type system like Haskell, OCaml, Scala etc.

The main thread of the book is building an ecommerce shop of and he begins at the base foundation what the "business" needs and how it can be modeled using the type system to carefully detail and build on the idea of making "illegal states unrepresentable".

Highly recommended as it shows that the author has spent quite a bit of thought on conveying the useful ideas and being concise in explaining them. If you're new to the world of functional programming it does a great job of explaining the concepts and how to use them. For the experts, it specifically helps you be aware of better modeling around types.

* https://pragprog.com/book/swdddf/domain-modeling-made-functi...

Top comment by proxybop

I learned to code from some indie version of basic on the internet called Liberty BASIC when I was 13. I used it for years because the people on the forums were so nice and basically held my hand through learning a lot of basic computer science and exposed me to the history of computing via recreated qbasic programs and games, etc.

I’m super grateful for little things like that. All those older people that were welcoming to me on those forums have a special place in my heart, and I’ve been thinking about them fondly while I build a compiler—something I wouldn’t have been able to do without them answering all my questions when I got stuck.