< Back to the archive

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

Issue #32 - October 13, 2019

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

Top comment by nlh

I have some meta advice, having done a bunch of really fun consulting gigs over the past few years:

* Flexibility is super important to a lot of people. I like to tell clients “one of the best things about hiring a consultant is that you have no long-term obligations to me. You can cancel our contract on a day’s notice if you want, and I won’t be the slightest bit annoyed.” I’ve never had anyone actually do that, but folks always always react positively to that offer and appreciate it.

* Bill by the week, do a one-week minimum, and pair that with the above. You’ll be surprised how often that week turns into six months (or more).

* A lot of full-time folks get very threatened when a consultant arrives on the scene (particularly if you’re a generalist, but even if you’re a specialist). This is just a natural protective instinct. Don’t be put off by this - go out of your way to reassure them you’re there to help, work with them, and help them do their jobs better. The defensiveness will often turn into supportiveness and they can become your biggest champions.

* Think of yourself like a business, not an employee. Make sure you can be independent, go over-and-above on documentation, and communicate like a professional. Don’t get mixed up with company drama or gossip. You’re above the fray (and that’s why you should be paid accordingly.)

Top comment by unscrupulous_sw

Data laundering

This means crawling or using illegally obtained datasets then processing it with "machine learning" until you have enough plausible deniability to use it.

This could be used for bypassing copyrights. For example you can remix stock photos you don't want to pay for. You can crawl a competitor's dating network to build similar looking fake profiles. You can steal writings and automatically paraphrase it. You can steal algorithms by cloning their inputs/outputs. You can generate new porn by swapping faces and background.

An illegal dataset can also be used as a hidden input to improve your core product. For example you can buy up all stolen databases and logs and correlate the users. This can then be used for better ad targeting using data that isn't even available to google and facebook.

Top comment by mamcx

No 100%, but close.

1- Shield away from dependencies. Use languages that are robust (no JS, no PHP) and if possible, generate native .exes (Delphi, Rust, Go,...).

Langs with large runtime/deps (Java, .NET, Js) are always trouble in the long run. I re-enter with .NET Core and have regretted heavily it (because maintenance, not performance or dev productivity).

ie: If a lang/tool/ecosystem is for large teams (java, .net, c++), is not for zero maintenance.

How easy is to setup and get running something (without resort to auto-installers or docker images) is a high evidence in how good will be for this metric.

2- If possible (mobile) use iOS. Android is not robust at all for long term prospects

I made a enterprise iOS app that is also nearly worry-free. My only job is to upgrade xcode and recompile from time to time.

I enter android late in the game, dreaming that android become more or less good. Not.

3- Important! If possible, split the programas between what could be "zero maintenance" and high maintenance.

I have made one in Delphi that is running 10 years in some places with zero calls after the first 3 years of tweaking.

Is split in 2 parts: The Delphi side have stay solid, and the "business" side that requiere more changes are in scripts in python that I integrate with the Delphi side.

Even the python side is now near worry free, but I need to do changes here and there.

4- If need JS, pick VERY carefully how use it. JS is the anti-tesis of zero maintenance. The web is hostile in this area. You could lower damage if VERY carefully know what to use.

5- Stay away of stupid "is for scalability" traps. Micro-services, nosql and similar are the best way to destroy productivity. Modular code yet running in a monolithic (or maybe in a REST api + client) will be more than enough by long margins when coupled with postgresql or sqlite. Again, a solid RDBMS is what most need. "Eventual" consistency is a stupid choice most of time.

P.D: I'm solo developer, and have not time or high pay to cover for bad choices, so i try to perform very well in this metric.

Top comment by simon_acca

Somewhat off topic, but I would welcome having a very small section of 2-3 randomly selected posts from “new” show up on top of the regular home page.

That way “doing my part” in scanning over the enormous volume of new posts becomes frictionless.

Top comment by shpx

There are at least 5 providers that will rent you a $5/month server: DigitalOcean, Lightsail, Linode, UpCloud and Vultr. There's a guy that publishes benchmarks of their $5 instance regularly

https://joshtronic.com/2019/09/02/vps-showdown-digitalocean-...

DigitalOcean is by far the most popular. Personally, I like Vultr because they also have $2.50 IPv6 only instances and you can upload your own ISO file if you want to try a less popular Linux distribution. Both services have similar user interfaces that are pretty good.

That being said, $60/year is still a lot. If you can get away with just a static site, try GitHub pages https://pages.github.com/. You only get one (unless you create GitHub organizations) but it's free. You can still have your own domain pointing to it with TLS (free through Let's Encrypt). You miss out on the fun of managing a Linux server unfortunately.

Top comment by ScottFree

Anything by Rogue Amoeba. I'm not sure there's anything "clever" about the design they choose for their apps. They're nice to interact with, they do the obvious thing and they're well engineered (rarely crash, don't have memory leaks, etc).

https://rogueamoeba.com

Reeder 2. The one thing it had that other RSS apps didn't have is collapsable columns. Accounts was the leftmost column. When you selected an account, it would collapse to the width of a small icon. The next column is the RSS feeds, which would do the same after you selected a feed. This left only the list of news items and the viewer taking up most of the space. Screen real estate is less of an issue in this day and age of 4k screens, so they removed this particular feature, but I always appreciated it.

DaisyDisk. Again, nothing clever, just a beautiful interface that always works and always does what you expect it to. I wish it was a little faster, like WizTree, but that might have more to do with HFS+ than the app itself.

https://daisydiskapp.com

Quicksilver. It's mostly been replaced by Alfred at this point, but there were things you could do with Quicksilver that you can't do with Alfred, such as chaining files, actions and apps together on the fly. I think you can do something similar in Alfred with Workflows, but you have to set it up ahead of time. Quicksilver had a set of built in actions that would let you do a surprising number of things on the fly, like open an application in AppZapper.

https://qsapp.com

AppZapper. I don't know if this one qualifies as a "big name" or not, but it's always the first app I install on a new Mac.

https://www.appzapper.com

Top comment by ConceitedCode

I use a Thinkpad t480s (last years model). This laptop has done a great job "getting out my way". It has one of the best keyboards on any laptop I have used. It runs ubuntu great out of the box. 14in screen happens to be be a very nice size for me. I have the touchscreen model which has been nice for testing mobile sites. The screen could be a little brighter / more vibrant, but I do prefer the matte display for when I setup outside when the weather is nice. A brighter glossy version is available if you prefer that.

It has great port selection:

- 2 usb-c ports (1 thunderbolt)

- 2 usb-b

- 1 hdmi port

- 1 ethernet port

- 1 sd card reader

Overall I'd say it's a very good well rounded laptop that I don't have any major complaints about.

Top comment by be_kul

Just one thing: In the 50s and 60s working weeks were 6 days in Germany (east and west). In the 70s this was reduced to 5 days (40 hours), and later, in the early 80s, in West Germany even to 35 hours/week. All this was possible without reduction of wages because working productivity had grown fast enough to compensate companies for the "lost" working time. Can anyone really imagine that working productivity grew significantly LESS than it had between c. 1945 and 1980 during the last 40 years? So, where did all the extra gain go in the mean time? Higher wages? Nope. Higher pensions? Nope. longer holidays? Nope. Lower prices? Nope. They all developed over the last 40 years in a speed that kept them more or less on the same relative level than in the 1970s/80s. The only thing that grew MUCH faster was the income of the rich… So, we should not ask, IF we wanted to work 1 day less per week, but WHY we are not doing so already? Would the rich be or at least feel much poorer than now? Does anyone of these people really know the difference between 100000000000 and 10000000000 (given, they could even pronounce these numbers correctly ;-))?

Top comment by mojomark

Interesting question. Air is wntrained in microscopic (or larger) cavities. I would think the answer, as with anything, is "it depends". It depends on the permeability of the particular concrete recipe and on a related note - the thickness of the sample, how much air was entrained during production, as well as the environmental conditions it's been exposed to (e.g. submerged underground, underwater, or subjected to temperature fluctuations). For the latter, I know that air voids can fill with water as entrained water expands, which actually aids the self-healing properties of concrete, but I have no idea if the air is compressed or dissolved (in the waster) or displaced out of the concrete.

You may want to reach out to Dr. Tyler Let - a prof. with an surprisingly addictive youtube channel [1] about concrete (yes, I know, but I feel I'm in good company on HN).

Also, your question reminded me of an old article I read about researchers analysing air from exumed lead coffins which were air tight. This isn't that story [2], but it's similar.

1. https://en.m.wikipedia.org/wiki/Mudskipper

2. (PDF) https://www.google.com/url?sa=t&source=web&rct=j&url=https:/...

Top comment by jason_slack

This may be unconventional but when is the last time you unplugged completely? I mean nothing electronic. No fast food. No junk. Also when is the last time you had a physical by a dr?

I say this because our bodies have a strange way of telling us we may need to pay more attention to ourselves.

You say you love your work. That’s fantastic. Not everyone does. But maybe take some time to rediscover the wonders of slowing down. Get up in the AM. Slowly sip a nice hot beverage. Pet the dog. Look out the window. Go for a walk. Talk with someone you are close to about any and every topic. Read a good book snuggled up in on the couch. Etc etc. Soon the day is gone and your head hits the pillow for another good sleep. Rinse and repeat.

As far as other people. Are you listening enough before speaking or forming judgement? I had a bad habit of interjecting mid-sentence. It annoyed people. On advice from a well known self help figure I started listening and listening and listening. Then speaking. What happened was I was really relaxed about it because I wasn’t competing to be heard or recognized. I turned into the voice of reason and common sense. Soon it was ask Jason what we should do. I no longer was annoyed or being annoying.