< Back to the archive

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

Issue #44 - January 5, 2020

If you are looking for work, check out this month's Who is hiring?, Who wants to be hired? and Freelancer? Seeking Freelancer? threads.

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

Top comment by air7

Here are mine:

1. Still no level 4/5 autonomous cars anywhere in sight. The promise of being "just around the corner" fizzles down and people just forget the hype.

2. Same with AI. The panacea hype dies down. No AGI at all. No major job losses due to AI automation.

3. Facebook (the SN) still exists but ages along with it's current user base. i.e it's the "old people's" SN. Facebook (the company) is still going strong, with either Instagram or one of it's acquisitions being the current "hip" SN.

4. Google still dominates search and email but losses value and "glory" compared to today.

5. Majority of people still don't care about privacy.

6. But a small yet growing culture of "offliners" becomes mainstream. Being offline is the new "Yoga" and allows bragging rights.

7. Increase in adoption of non-scientific beliefs such as astrology/anti-vaxx/religion/flat-earth as a counterbalance to the increased complexity of everyday life.

8. Web development matures and a "standard" stack is accepted, all in JS.

9. Global carbon emissions are not reduced, mostly because of lack of initiative by China and 3rd world countries.

10. Still no hoverboards.

Top comment by csallen

Ben Tossell of Makerpad. He made about $200k in the past year from a site that teaches others how to build interactive sites and apps without writing code.

Lynne Tye of Key Values. She made about $400k in 2019 from a site that connects software engineers with companies that that share their intangible values, e.g. diverse team, good for parents, fast or slow-paced, etc.

Robert James Gabriel of Helperbird. He struggled a lot with dyslexia growing up, and even had a teacher tell him he should give up and drop out of school. Luckily another teacher encouraged him to learn to code, and he's been quite prolific since. Helperbird is a browser extension that helps others with learning disabilities browse the web easier. Robert recently brought on a co-founder, but he'd grown the app to a "comfortable five figures a month" in revenue.

Plenty more on https://www.IndieHackers.com sharing their stories via interviews and on the podcast, and also posting about hitting revenue goals and other milestones here: https://www.indiehackers.com/milestones

Top comment by oneplane

Online content is often low-quality, highly commercial in nature and very ephemeral. Books, the real kind, when they are good can stay with you for a very long time.

A well-written story, be it fiction or non-fiction can have a long lastig impact and even an emotional connection that I have personally never experienced with anything 'online'.

If you don't read books, you are missing out. Even only 1 or 2 books a year is a world of difference, even if those books aren't the best ones out there. This (as posted before) also has to do with the time investment and realtime one-to-one (you and the book) time.

If you are having a hard time getting started, or keep reading a book to the finish, start with something light and perhaps... generic. Like a Dan Brown book. (and I know opinions vary wildly) Even a smaller book that might be more targeted as a children's book such as Neil Gaiman's 'Ocean at the end of the lane' are perfectly fine to get something going. Not everything will engage you, but making it easier for yourself to get started and enjoy some reading time is all it takes to enrich yourself. (which is perhaps not the best wording... but I'm no writer)

Top comment by codingslave

Honestly, skip all of the courses. Pick a problem to solve, start googling for common models that are used to solve the problem, then go on github, find code that solves that problem or a similar one. Download the code and start working with it, change it, experiment. All of the theory and such is mostly worthless, its too much to learn from scratch and you will probably use very little of it. There is so much ml code on github to learn from, its really the best way. When you encounter a concept you need to understand, google the concept and learn the background info. This will give you a highly applied and intuitive understanding of solving ml problems, but you will have large gaps. Which is fine, unless you are going in for job interviews.

Also bear in mind that courses like fast.ai (as you see plastered on here), aggresively market themselves by answering questions all over the internet. Its a form of SEO.

EDIT (Adding this here to explain my point better):

My opinion is that the theory starts to make sense after you know how to use the models and have seen different models produce different results.

Very few people can read about bias variance trade off and in the course of using a model, understand how to take that concept and directly apply it to the problem they are solving. In retrospect, they can look back and understand the outcomes. Also, most theory is useless in the application of ML, and only useful in the active research of new machine learning methods and paradigms. Courses make the mistake of mixing in that useless information.

The same thing is true of the million different optimizers for neural networks. Why different ones work better in different cases is something you would learn when trying to squeeze out performance on a neural network. Who here is intelligent enough to read a bunch about SGD and optimization theory (Adam etc), understand the implications, and then use different optimizers in different situations? No one.

I'm much better off having a mediocre NN, googling, "How to improve my VGG image model accuracy", and then finding out that I should tweak learning rates. Then I google learning rate, read a bit, try it on my model. Rinse and repeat.

Also, I will throw in my consiracy theory that most ML researchers and such push the theory/deep stats requirement as a form of gatekeeping. Modern deep learning results are extremely thin when it comes to theoretical backing.

Top comment by closed

Many comments are focusing on kanban procedures, but the most important parts of solo development for me are social milestones. For example...

* Who will I show X feature to?

* When will I show it to them?

* Can I show them a draft?

To me, the biggest risk of solo development is not how I manage a todo list, but that I'll build the wrong thing, because I waited to get feedback.

Some things that have helped me a lot...

* set up a time to show someone your progress on feature X before you feel totally ready to.

* ask someone to try and pick up and tweak some layer of your code (or pair with them)

* if you are developing a library--record hour long screencasts where you use it in a realistic way. Prioritize issues where you say, "oh, I should fix that...". Repeat but with another person driving.

I use github projects and a calendar (the calendar appointments feel more important!)

Top comment by alkank

I read The Economist. Reasons and benefits I have seen so far are:

1. It's weekly. "World this week" section is more than enough to have a summary of what has happened throughout the globe and I can get this information in less than 5 minutes. If you are interested in being more up-to-date, you can also try Economist Espresso, which is daily.

2. It's not only about world news, but also has different sections such as Technology, International, Book & Arts which gives me a wider range of topics to digest on a weekly basis.

3. This is, in my opinion, the most important bit: Because I'm digesting a wider array of topics but only spending an hour or two every week, I have observed a surprising benefit on human relationships as well:

Kick-starting a conversation with a person I don't know.

As a not-so-social person I have always struggled finding a topic to chat about with a person I have met recently. Now, first thing I do is to ask this person where he/she is from, or what their hobbies are, and all of a sudden I make a connection with an article I have recently read on the magazine and try to learn more from that person. This is a wonderful way of building a relationship as well as learning quite interesting facts about the culture or the hobbies of that person.

Top comment by emmanueloga_

For Algorithms, I know the amount of materials available online can be overwhelming, so here's an alternative: get a copy of "Algorithms, 4th Edition" [1] from Sedgewick and Wayne, and work through it cover to cover, ignoring any other resources.

This book has very little in the way of prerequisites, and it covers a lot of fundamental algorithms and a little bit of Math, but it is a lot more accessible and didactic than, say, the Cormen book. I don't think you need any other resource for studying the book (videos, forums, etc.) other than maybe the website for convenient access to the source code (and maybe some other Java reference, although you don't need deep Java knowledge to understand the code).

Note: I'm plenty biased for this resource... I don't know why, but I find the implementations so elegant an easy to follow, even though the source code is Java, a language I admit sometimes can look anything but elegant (in its production form with all those imports and redundant type signatures :-). Many algorithms are implemented using data structures introduced in previous chapters, so it makes sense to read it cover to cover.

For Computer Architecture, Nand2Tetris [2] is another resource that comes up often and for good reason. I only worked through half of this book but I really like it too and have it on my back burner to complete the second half of it: first part is about implementing a computer from the ground up (nand gates being the "atoms"); second part is about implementing a parser/compiler for a higher level language targeting the same computer.

1: https://algs4.cs.princeton.edu/

2: https://www.nand2tetris.org/

Top comment by IfOnlyYouKnew

Read https://pedestrianobservations.com and learn more about public transit than you ever wanted.

You might enjoy seeing the complexity of optimising these systems that you know so well but only superficially. There may be articles about your region, and it will point out some huge mistake with the subway interchange at that is totally obvious once you read about it. At that point you'll be sharpening some pitchfork and trying to find where that totally corrupt mayor from the 90s now lives. But on the way over to his nursing home you miss the connection at and have enough time to finish the article, which gives a reasonable-but-not-totally-satisfying reason the problem couldn't be avoided.

You turn around, and pretty soon you're back in a happy mood. Because at least you don't have to suffer some US transit system.

(Sorry, I got slightly carried away in the narrative fiction there)

Top comment by tlack

I've taken the odd approach of messaging myself in chat software.. in my case, I have "conversations" with myself in Telegram. I feel like I journal more when it's just text and unstructured, rather than, for instance, a detailed form.

It's not exactly what you are looking for, but has some good properties:

- Always easy to jump in to, since I use TG to chat with people all day long; works on all devices (I need to journal from desktop and mobile)

- Easy to forward in/out notes to/from others

- No formatting woes since it's pretty much open ended. Supports hash tags and search. Can easily find all media and links.

- Telegram already supports tons of different kinds of media files and attachments; can easily snap of a pic of what I'm doing

- Can easily export HTML archive of convo at any time for analysis in other software

With my setup you'd have trouble automatically injecting content from programs, but you could make a Telegram bot that does that work, and just have conversations with it instead of yourself. (Telegram's API is incredibly simple to get started with and doesn't even require webhooks)

Top comment by viraptor

People jumped to recommending things before asking:

What's the volume of logs?

What's the expected usage? (debugging? audit?)

Are you using text, or structured logs? (or can you switch to structured easily?)

How far back do you want to keep the logs? How far back do you want to query them easily?

Are you in an environment with an existing simple solution? (GCP, AWS)