< Back to the archive

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

Issue #9 - May 5, 2019

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 alexobenauer

Here's the recommendation I give to students when they ask me this question (it's a common one!):

You come up with a brilliant idea, you obsess over it, you Google some info, and on your screen lies your idea, being done by someone else, for the last two years. You’re all too familiar with that sinking feeling in your stomach that follows. You abandon the idea almost immediately after all that excitement and ideation.

First (as already mentioned), existing solutions prove your idea — their existence proves that you’re trying to solve a real problem that people might pay to have solved. And it proves that you’re heading in a direction that makes sense to others, too.

Second, and this is the biggie: The moment you see someone else’s solution, you mar and limit your ideas. It suddenly becomes a lot more difficult to think outside the box because before, you were exploring totally new territory. Your mind was pioneering in a frontier that had no paths. But now, you’ve seen someone else’s path. It becomes much harder to see any other potential paths. It becomes much harder to be freely creative.

Next time you come up with that great idea, don’t Google it for a week. Let your mind fester on the idea, allow it to grow like many branches from a trunk. Jot down all of the tangentially related but equally exciting ideas that inevitably follow. Allow your mind to take the idea far into new places. No, you won’t build 90% of them, but give yourself the time to enjoy exploring the idea totally.

When I do this, once I do Google for existing solutions, I usually find that all the other things I came up with in the ensuing week are far better than what’s already out there. I have more innovative ideas for where it could go next; I have a unique value proposition that the other folks haven’t figured out yet. But had I searched for them first, I never would have come up with those better ideas at all.

Finally, I’ll say this: if you see your idea has already been done and you no longer care about it, then it probably wasn’t something you were passionate enough about in the first place; it was just a neat idea to you.

Top comment by Haul4ss

I'm convinced that almost nobody is good at the whole cycle of creating/maintaining something.

Some people are great at coming up with new ideas but quickly bore with the implementation. Some people can relentlessly improve on an existing thing but can't come up with the initial idea. Some people are great stewards of an established program but don't thrive in the chaos of rapid iteration.

I think instead of trying to mold yourself into something you're not naturally good at, you should try to figure out what you are naturally good at and build a team around it to support you.

I'm speaking in broad strokes of course, but reading your post, I think you are just not going to be a sole proprietor. You need a team member who can catch your early enthusiasm and then help see the project through to completion.

You need a finisher. Not every starter is a finisher, and not every finisher is a starter, and not every finisher is a good maintainer, either. They're different things.

Top comment by damianmoore

Shameless plug: I'm currently working on a solution called Photonix, though it's still very much pre-1.0 at the moment.

https://photonix.org/

Installation is fairly simple with Docker, frontend is web-based (React), backend is Python with a sprinkling of Tensorflow. So far auto-tagging of photos by location, object detection and colour is fairly decent. UI is progressing and is useable on most devices, though quite minimal.

Please feel free to check out the demo site and the GitHub issues. I'd really appreciate feedback and help. Thanks.

Top comment by eastdakota

We don’t block archive.is or any other domain via 1.1.1.1. Doing so, we believe, would violate the integrity of DNS and the privacy and security promises we made to our users when we launched the service.

Archive.is’s authoritative DNS servers return bad results to 1.1.1.1 when we query them. I’ve proposed we just fix it on our end but our team, quite rightly, said that too would violate the integrity of DNS and the privacy and security promises we made to our users when we launched the service.

The archive.is owner has explained that he returns bad results to us because we don’t pass along the EDNS subnet information. This information leaks information about a requester’s IP and, in turn, sacrifices the privacy of users. This is especially problematic as we work to encrypt more DNS traffic since the request from Resolver to Authoritative DNS is typically unencrypted. We’re aware of real world examples where nationstate actors have monitored EDNS subnet information to track individuals, which was part of the motivation for the privacy and security policies of 1.1.1.1.

EDNS IP subsets can be used to better geolocate responses for services that use DNS-based load balancing. However, 1.1.1.1 is delivered across Cloudflare’s entire network that today spans 180 cities. We publish the geolocation information of the IPs that we query from. That allows any network with less density than we have to properly return DNS-targeted results. For a relatively small operator like archive.is, there would be no loss in geo load balancing fidelity relying on the location of the Cloudflare PoP in lieu of EDNS IP subnets.

We are working with the small number of networks with a higher network/ISP density than Cloudflare (e.g., Netflix, Facebook, Google/YouTube) to come up with an EDNS IP Subnet alternative that gets them the information they need for geolocation targeting without risking user privacy and security. Those conversations have been productive and are ongoing. If archive.is has suggestions along these lines, we’d be happy to consider them.

Top comment by lwansbrough

Gitlab is also currently reporting issues with GCE. I'm unable to push to their network right now.

Looks like all three major cloud platforms are experiencing problems right now. Could be internet related?

https://downdetector.com/status/windows-azure

https://downdetector.com/status/google-cloud

https://downdetector.com/status/aws-amazon-web-services

Top comment by notbob

I recommend learning how to put up with these things. Just stop caring about them. Treat it like laundry or dishes. You don't have to enjoy it, and there's no reason to get emotional over it. Just do it and move on. In particular, the job that you describe doesn't exist and where it does is exactly the type of development that's ripe for outsourcing.

If you can't find a way to play the game without emotional investment, then perhaps look for jobs in lower-paying sectors where you're less likely to encounter ambition and bullshit.

For example, have you looked for development jobs in the nonprofit and/or public sectors?

Nonprofit/gov't work in general can attract bad personalities, but IME the software development shops within those organizations tend to have very few of the types of people you want to avoid. The pay/prestige is low enough relative to other development work that you mostly get "true believers".

Universities (software development departments, not research groups!) are also typically nice laid back work environments.

Medium-sized non-software companies with small development groups (5-10 people) can also be good.

However, do realize that in all of those situations you are trading standups and TPS reports for daily interactions with non-technical end users, which come with their own set of frustrations.

Top comment by cmsonger

It's hard to know how to comment on this because there's a huge range in what might really be going on. You might be a bozo. He might be a bozo. You both might be bozos. Or maybe you are both pretty good and both just bad communicators.

So without really having any insight about what's up here, I have two pieces of advice.

Ask a lot of questions to understand why he thinks what he thinks. The job is not to explain to him why he's wrong; the job is to ask enough questions that you understand why he's reached some specific conclusion.

And focus on getting things done. Forward progress tends to get everyone aligned and give you something specific to talk about that's productive. If in the "blah blah blah" he's telling you 'this will never work' then you have proof positive that he's wrong. Great. If in the "blah blah blah" he's telling you that your solution is not re-entrant and it's going to crash then you are going to find out he's right.

Top comment by escapologybb

I'm pretty much doing that very thing. I'm quadriplegic, so every single action I want to take in the world has to be mediated through a third party. That said party is anything from another person to one of the digital assistants.

As another poster mentioned I think, I control pretty much everything in my house including but not limited to unlocking doors, windows, climate control, the lights, posting to Twitter and on and on and on with a cobbled together solution of many different components from different companies.

It's done with a combination of all three of the digital assistants, various scripts and the very wonderful Home Assistant[^1] mostly gluing it altogether. It is by no means a single complete solution, but when I'm controlling the house using just my voice and somebody sees me doing it they react as though I'm some sort of dark wizard.

I love having an automated house and I think Home Assistant is probably one of the best solutions for making all of the different IoT devices communicate at the moment, I think the further down this road we go the more a single solution will probably evolve.

I would have to say though that the home automation stuff that enables me to call for help in an emergency is the most important thing that it does, I can flash the lights different colours when I need help depending on the level of assistance I need. Or if my Fitbit notices that my heart rate has gone below 40 BPM for more than 10 seconds I get a notification, as it is almost indicative of an attack of Autonomic Dysreflexia. I can honestly say that this home automation system has actually saved my life without an ounce of hyperbole.

[^1]: https://Home-assistant.io/

Top comment by Alex3917

No one is going to hire you because you have a degree, whether from a university or from Udacity. They'll hire you because:

A) your overall resume is impressive

B) you either have a portfolio of things you've built, or else you agree to do a take home assignment and successfully complete it

C) you can pass both technical and non-technical interviews

To get hired you need A && B && C. Doing Udacity will probably help with each of those things, but no one is ever going to hire you because of an academic credential alone.