< Back to the archive

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

Issue #27 - September 8, 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 buybackoff

Right now I'm traveling in a train somewhere in Smolensk region in Russia and HN is the only site I could use normally with sporadic Edge/3G. Had exactly the same thought as in the title. Thanks HN!

+1 for a dark theme though, reading from a bright screen in midnight darkness hurts eyes.

Another frequent thought I have during such trips is why so few sites have any basic offline support? E.g. while writing this I moved to offline zone and if I press 'add comment' now then most likely I will lose it. So I have to copy it and save temporarily in a GMail draft. But it would be nice if all drafts are stored in LocalStorage/IndexedDB as I type until posting is acknowledged.

Actually it is much easier to lose written text on mobile. I've just opened 5 apps that took all Android memory, which kicked Chrome from RAM and forced page reload when I returned to Chrome. The page reloaded from cache instantly, but the comment draft was lost (continuing this from GMail draft, waiting for a stable 4G at the next train station near a mid-size town).

GitHub issues comment form keeps the content if I accidentally click on a link (e.g. Pull Requests) and then return to the issue page (not just by going back, but jumping over several GH pages, e.g. Home->Repo->Issues->#issue) and such behavior is much better than an alert on tab close about unsaved content. Probably in GH case this is an accidental side effect from SPA state storage, but at least once it saved me from losing a large complex comment with links and markdown, that is how I noticed the behavior. GH still loses content on page close, but keeps it after page reload.

Top comment by pain_perdu

Just wanted to vouch: Peter has helped me successfully obtain 3 complex visas over the years and has been equally successful getting visas for numerous friends.

Cannot recommend highly enough.

His advice has always proven solid as well.

Top comment by langitbiru

GitLab is one of the most successful remote companies. Their handbook is free to read. https://about.gitlab.com/handbook/

But what you are looking for is this one: https://about.gitlab.com/company/culture/all-remote/

Top comment by jrockway

Yes, I pretty much have a mental model of what I want to build before I build it. I am not sure that I build the mental model in 30 minutes, though; rather I get an idea, think about it over the course of many days, talk with people about it, write down some design details, etc. Only after all of that does any programming begin, and the actual coding is then the easy part. You know what data structures you need. You know what the external API will look like. You know how to deal with the tricky parts; be it integration or some sort of unusually complex algorithm.

Doing the design work is what separates senior and non-senior engineers. The more details you get worked out before they are solidified by having 10 other systems depending on them, the better.

If you just do stuff with a rough idea of the direction you want to go in, it's very easy to get sidetracked by something that doesn't matter. It's also very easy to build something nobody wants. By having people agree on some sort of semi-detailed design that describes assumptions, corner cases, the API, etc... you dramatically increase your chances of building the computer program that people want.

I am not sure how you test for this in an interview... but it is important. If you don't design things before building them, that is something you should start working on.

Top comment by losingthefight

I personally make it clear that side projects, monetized or not, are one of the best ways to learn new skills, ways of thinking, and improve productivity. I agree to sign non-compete and clauses stating that anything done outside of the business requirements (I don't work hours, I work results kind of thing) will not conflict with, impede, or otherwise negatively impact my position. I've only had one employer in the nearly two decades that had an issue with that, and ironically it was an organization that had pretty high turnover from the reviews I read.

Whomever is paying me is paying me to do a job. They don't own my life, my free time, or my hobbies. If they don't understand or support that, I wouldn't bother going forward with them as it's simply not the kind of culture I would want anything to do with.

Also, to the person who wrote about external income needing to be documented with a ton of paperwork... if you are in the US, what about US Reserve military members (which is a protected status)? Adjunct faculty positions? Seems like the employer should not have any say on that kind of income.

Top comment by ssivark

Scoping out the right problems is a highly non-trivial skill in itself. For example, a significant component of a PhD is learning to do this with regards to research projects (that is part of what it means to be an independent researcher). Typically, the only way to learn this is by calibrating one's experience with one's ability, and the scope of problems will evolve with the increase in both. It really helps to have a mentor to provide guidance along that path, and to help set/refine goals and to calibrate expectations and provide feedback. The reason I'm explaining all this is that it is very difficult to generically suggest "problems" without knowing your background/interests/orientation. (eg: Coming up with good student projects is an art unto itself; something that professors are expected to learn along the way)

So maybe provide some more information about yourself?

Appreciate the initiative; good luck! Maybe we should develop more of a culture of sharing "problems" openly (formulated constructively) so that others with a suitable background might take a crack at them! :-)

Top comment by mreome

Analysis Paralysis. I don't think I have any bigger wasted-time-sink in my life then over analysis/planning/selection.

* Loosing an entire evening trying to find the best library/language/engine/etc for a side project idea, rather then actually getting the idea going.

* Loosing entire days trying to find the best design/structure for a project rather then adding features.

* Loosing hours comparing and reading reviews for trivial purchases.

* Designing and redesigning an idea over and over in my head or on paper, but never getting it started as the design wasn't done/perfect.

* Rewriting a side-project in a new language because it will be faster, more organized, more elegant, etc... rather then actually finishing it and releasing it.

* Waiting for the perfect conditions, weather, time, mood, etc to do something.

Top comment by matt_the_bass

I’m almost there. Hopefully that will be the case by 2020. But mine is not a Saas or app. I actually make things as a hobby and sell them in low volume.

A few years ago, I started making word clocks as presents for people. After a while I started teaching a workshop on how to make a simple clock at a local maker space. Now I have a refined design that my wife and I are producing in our basement and starting to sell at low volume: www.finewordclocks.com Making clocks is also a great excuse to buy cool tools. We have a probotix asteroid cnc in the basement. I have a 3yo and 6yo. It’s been fun getting them involved in making things. Most of the presents for their friends’ birthday parties are home made (mostly by me but with the kids’ participation) and are REALLY well received.

Top comment by kkbaxter

Change the name of your iPhone. The default name may include your actual name, which can be seen in more places than you'd think.

Wipe/reset your iPhone every now and then. There is residual data left on the phone from app/data deletion (left over databases even). A factory reset will clear this, OS updates can help as well. The "Other" section of your iPhone storage is dangerous.

Make sure the emergency feature to disable TouchID/FaceID is enabled. When turned on it kills biometrics until you put in your (hopefully unique and complex) password. Otherwise, biometrics is safer.

Don't add any mail accounts to the native iOS mail app.

Ensure that access to USB accessories while the phone is locked is turned off.

Work only on LTE and your own private Wi-Fi (your job will have very complex monitoring tools like FireEye). Disable cellular data on any apps that you won't actively be using.

Backup your iPhone to a secure location when travelling, wipe your phone and then re-build your phone using the backup upon arrival. Destroy the backup after.

Don't open any shady URLs and make sure you always update iOS. Turn on auto-update.

Security is critical on iOS as some apps have the ability to log you in or restore a session without any sort of credential check. This is despite the fact that unique device identifiers are not supposed to be used by devs.

Protect yourselves!

Top comment by blueadept111

"Today, Assange sits behind bars in a London prison under shocking conditions even a murderer wouldn’t expect. Renowned filmmaker and journalist John Pilger visited him there and fears for Assange’s life, noting he is held in isolation, heavily medicated and denied the basic tools needed to fight his charge of extradition to the United States"

https://www.mintpressnews.com/media-blackout-imprisonment-es...