HNHacker News
TopNewBestAskShowJobs

rShergold

75 karma · joined August 3, 2015

submissionscomments
rShergold··on FreeMDU: Open-source Miele appliance diagnostic tools
We’ve had our Miele dishwasher for 5 years. Running on average 1.5 times a day. It’s flawless.

Here in the UK the customer service has been amazing. The company we bought from (AO.com) installed it incorrectly (the water pipe plug wasn’t removed) they told us to get stuffed. We called Miele. They sent someone to us the next day and fixed it free of charge

rShergold··on A short history of web bots and bot detection techniques
Back in the early 2000s lots of websites had an unauthenticated "guestbook" feature where visitors could leave a message. As soon as Google and page rank became a thing bots would drive by and leave links to the website they were promoting. The idea was to increase the number of backlinks and thus improve your Google rank.

The fix to this was shockingly simple. Add an input box with a standard name like "title" and then hide it with CSS. The bots would always provide a value for every input. If you saw a value for your hidden input you returned 200 but never added the post to your website.

rShergold··on Ask HN: How do you handle underperforming remotes at your company?
I’ve had to deal with this a few times now. After asking around the greybeards I really respect this is my current run book.

First: Talk to them about it. This is the hardest part. The aim of this conversation is to let them know you’ve noticed a change in performance and you want to know what you can do to help. It’s an open conversation but there are two possible outcomes.

1. They’re bored of their work. This is more common than you think. Give them a big problem. Maybe a bug no one can figure out. Maybe move them to a different project for a while. Check in with them every day/2 days. They don’t have to solve/finish it instantly but they do have to demonstrate engagement.

2. They’re burnt out. This is coming for all of us one day so be kind. The solution to burnout is give them micro tasks. If there are no micro tasks take an existing task and break it down into micro tasks. Something that would take you an hour to do. You want to get them into the habit of moving tickets across the board again. There’s no time pressure here but you do want to start tracking their productivity.

If you suspect they are slacking off/have problems at home/have a full time second job solution 2 also applies.

Think of this period as like hiring an intern/junior developer. Your job is to support them & build them up. If they were once productive you’re trying to get that guy back. This takes time and don’t rush it.

Keep a close eye on their velocity. Expect them to be slowly building up. If you use ticket points track their points.

If after the first 2 weeks you get the feeling they are not engaging now is the time to notify your manager/ HR (depending on your country firing someone may be a long process)

The aim is to get them back to being productive again. Whatever caused this issue. don’t expect to get them back for 2-3 months. This is okay remember how much it costs in time and money to get in a replacement.

What we want to see over that time is a gradual improvement in velocity. Slowly start giving larger tasks. Check in with them at standup every day and have a half hour call with them once/twice a week.

Over these 2/3 months if you see no improvement bring in HR and initiate a formal PIP or whatever process you have for firing someone. If they’re taking the piss they’ve been found out. If they’re burnt out and are not engaging with this process maybe their time as a software developer has come to an end. At the very least their time at your company has.

Every single person is different. One person I took though the process fully embraced it and has since been promoted. Turns out he just needed more responsibility.

rShergold··on Show HN: Peeng – like Pingdom, but the other way around and simpler
This seems like a neat little service.

Just a heads up. Here in the UK Peng is slang for sexually attractive.

rShergold··on A college student reached $64k/mo in 6 months by being an AI first mover
How does Docalysis.com work? I'm presuming you take the user input then search the documents for matching words to get snippets then add the snippets to a prompt (along with the original query) you send to an LLM.

What does the cost look like? Are you running your own llama.cpp or just using the ChatGPT API?

rShergold··on Rio: Terminal app built over WebGPU, WebAssembly and Rust
It may have something to do with this mind blowing exchange between Casey Muratori (a highly experienced game engine developer) and the Microsoft Terminal team.

https://github.com/microsoft/terminal/issues/10362

It really highlighted how crappy software gets written in large corporations. They told him rendering monospaced fonts on the GPU would involve a multi year PHD research project.

Apparently they then went on to infiltrate his discord server so they could ask questions. Then write up a blog post calling the change "trivial".

https://twitter.com/cmuratori/status/1522471966929653761

rShergold··on The secret joke at the heart of the Harvard affirmative-action case
Harvard was created to educate the elite not to create it. This is the fundamental issue here.

These institutions see their purpose as preserving western civilisation and hopefully shaping its future direction. Part of this joke was about turning Harvard into a trade school for asian doctors. From their point of view this would be the same as becoming a factory churning out plumbers or electricians.

The "secret sauce" of the admissions process is simply "If this candidate doesn't attend Harvard are they highly likely to become a member of the elite anyway?". This opens up things about our society we don't want to face. George Bush is related to the late Queen of England. Many of the elite are the same families who have ruled over us for the last thousand years.

Even at the local level your chance at becoming an important person in your city is closely related to who your parents are.

By accounting for the structure of society and distribution of power at the time of application the admissions process becomes at best conservative and at worst racist.

rShergold··on The Disturbing Secret Behind an Iconic Cartoon: Sexual Abuse (2018)
Eric Gill the creator of the Gill Sans font was extremely deviant. His artwork is iconic and from what I can tell not deviant.
rShergold··on Could This U.S. Housing Market Crash Be Worse Than 2008?
On a long enough timeline the natural value of land tends towards infinity.

If a corporate entity can take out a 1,000 year loan it can make a profit buying a single home for one billion dollars.

This is why the economic models created to understand supply and demand for manufacturing pins in a factory eventually unravel when discussing land.

rShergold··on Call for testers of a new email client that sorts messages by contacts
My fundamental problem with email is all the robots.

I need a tool that sorts all my email into two boxes. "Robots" and "Humans".

Further I want repeated notifications about a message if: - It comes from a human - It was sent only to me - I have previously emailed this person

In [current year] my email account is like my post box on my home. I need it because I get important documents sent to me by robots (bills) but it just piles up until I know there is something in there that I need.

If a human were to send me a letter it would easily get lost.

Every email productivity tool targets the market of people who use email a lot. For most of us direct messaging has replaced email. However when an actual human does email us it tends to be very important. Something we don't want to miss. There is no tool I know of to solve this.

rShergold··on Google's infamous internal 2010 “I just want to serve 5TB” video now public
That's an excellent phrase. It reminds me of the navy saying "regulations are written in blood"
rShergold··on One programmer broke the internet by deleting left-pad (2016)
I agree with a lot of what you're saying.

However if the threshold for not including a package is that it's 8 lines of code that would rule out using most of the functions in Lodash and Underscore.

If the threshold is not importing code a child could write that would rule out using Babel which was in fact literally written by a child.

rShergold··on One programmer broke the internet by deleting left-pad (2016)
yeah it's called Tree Shaking. It's been a massive area of improvement over the last few years. However JavaScript being dynamic can be very difficult to effectively statically analyse.

A good example: There is a library called Moment for handling dates. Due to the way the interface was built it basically can't be tree shaken. It's an excellent library but it's on the heavy side. For a while now people have been moving to libraries like Date-Fns which are collections of individual functions. This library can be tree shaken as it's obvious which functions you are using and which you are not

rShergold··on One programmer broke the internet by deleting left-pad (2016)
It seems to be really common to sling mud at the JavaScript/NPM ecosystem from developers who work in other domains.

One of the big constraints we have in front end development is that every added feature adds to the bundle size of code we have to send down the wire to the end user.

When I worked in mobile app development third party libraries tended to be very large with many many features. Only a tiny fraction of that library ends up matching your use case. However when you build you end up bundling up the whole thing into your app.

JavaScript has more of a culture of many many small hyper focused packages. The logical conclusion being single function packages like left pad.

This has two benefits. One - you have less dead code in your final build. Two - if one of your dependencies is already using leftpad you essentially get to use it "for free".

If everyone did what you are suggesting you would find multiple instances of leftpad. One version you wrote. One version your dependency wrote. One version your dependency's dependency wrote etc.

rShergold··on New evidence shows this uranium cube is likely relic of Nazi A-bomb program
I would presume the ideal super weapon would be a lethal airborne virus that only you had the vaccination for. It would decimate your enemy but leave all their infrastructure intact.

It wouldn't be too expensive to achieve. You would just need to find an existing virus and conduct gain of function research to make it more transmissible and more lethal.

rShergold··on Parler’s epic fail: A crash course on running your own servers
The physical network itself evolved away from peer -> peer back to client -> server. With IPv6 I'd hoped we would today be living in a world where I could send my friend the url fe80::1ff:fe23:4567:890a/cat.mov and they could download a video directly from my phone. No matter where my phone happens to be in the world. People could host "micro services" on their personal devices and the whole world could access them. If someone wants to know if I'm free on a date they could connect to my phone's calendar app directly and ask. There are so may possibilities of truly peer to peer applications.

But the network itself prevents this. Bittorrent has to jump though multiple NAT busting hoops to allow two internet users to talk to each other directly. limited IPv4 addresses mean home internet connections have dynamic IP addresses which means no one can realistically host at home. Because no one hosts at home they consume far more than they upload. Because of this the physical network was built with a much higher download bandwidth than upload. It's a vicious cycle that wasn't intentional it just sort of evolved that way.

rShergold··on DRY Is a Trade-Off
Bit late to the party but I really enjoyed this comment and the subsequent conversation. I was given some advice when I was junior and I've been repeating it for years.

Code it read 100 times more than it is written/edited. Writing in a high level language is writing for a human first and a computer second.

As a general rule of thumb a variable name should be as big as the scope of that variable.

* If it's scope is one line it's okay to use a single letter.

    deletedDocuments = documents.find(d => d.deleted)
* If it's within a block normally one or two words will be fine.

* If it's one file, 3 or 4 words.

* If it's global it should read like the opening paragraph to war and peace.

The last two are generally indications that something has gone wrong with how you are encapsulating your code and you should consider a refactor. However you will often have no other option in which case always lean towards more descriptive not less.

rShergold··on Sketch: From 1 to One Million users
I can't overstate how revolutionary Sketch was when it came out.

We were a small webdev shop and were pretty early adopters. Back then it was standard practice for designers to work in Photoshop and hand over full website designs in flat .png format. Us devs would then struggle to convert those designs into HTML and CSS templates pretty much by eye.

Sketch changed all this.

1. The price. We got early licences for something crazy like £35. This meant it was possible for all of the devs to have a licence even if we were only using it to consume files created by the designers. There is no way we could afford this with Adobe.

2. Because the developers were viewing the designs in app we could inspect and get exact values for things like spacings, colors and fonts. I can't describe how hard it is to get exact font, font size & font weight by eye if you don't come from a design background.

3. At some point they added the ability to just right click something and export the style as CSS. This was never good enough to just paste into your stylesheet but by using it as a base sped up development massively.

4. It was built for the web and mobile. All the designers I worked with came from a print background so it made sense their tool suite of choice was Adobe. I can't get my head around how they designed websites in Photoshop for so many years.

5. The interface was incredibly simple and intuitive. If you remember it, contrast how simple the 3D software SketchUp was compared to say Blender. As a developer I've never invested time to learn Photoshop but Sketch you know after 10 minutes of playing with. I still use it today for my hobby projects.

Partly because of 5 I get a little irritated when they add new features. I've seen this happen with so much software. You earn some money and hire some developers and so it follows you have to add features to keep them busy. I'd be over the moon if they just said "we're going to have a feature freeze for two or three years while we work on developing the simplest most intuitive interface possible for doing complex SVG manipulations"

rShergold··on Building your app cross-platform can be dangerous, especially for startups
I think you’re making the mistake of looking at this from a developer’s point of view and ignoring the business pressures involved. Of course it’s easier to build native on one platform.

Here in the UK, for a startup app trying to bootstrap from nothing, you are looking at paying between £10-£50 per new user install. That’s just marketing. A very small number of those users will continue using the app and a smaller number still will generate any revenue.

In theory you can limit your marketing funnel to just target one platform but in reality you need to maximise the ability of your app to thrive on word of mouth and social shares if you want to not just break even but continue to grow after your initial funding dries up.

If you’re building a companion app for an existing company with an existing client base, again you absolutely can’t launch on just one platform. Even if you do manage to swing that what I’ve often seen is the iOS app comes first (as that’s what all the developers and company executives have) but the majority of the customers are on android.

If you aim for simultaneous launches of two native apps you’ll find the minimum you need is two developers (one for each platform) as it’s rare to find developers that are highly efficient writing for both platforms. People often are mainly android/iOS and a little experience in the other. That’s fine but we need to get this app out this year.

This can work in larger companies but what you find there is not two developers but two whole scrum teams with two apps, two APIs (for political reasons) and two feature backlogs. Over time the apps diverge with new features taking ages to hit the second platform. Resulting in angry customers “My friend’s version of Monzo does xyz why doesn’t mine?”

I don’t have any experience with Ionic but I have worked with React Native from very early after it was released. Yes, we found ourselves writing native modules for both platforms all the time but that’s still less work than writing the whole app twice. However I think the platform has matured nicely now and if you’re building a simple CRUD mobile app I would absolutely put my money on React Native even if you’re a large company and can afford to put two whole scrum teams on the project.

rShergold··on Show HN: Mimestream, a native macOS email client for Gmail
This is really interesting work. Have you paid the $15,000 for a security audit Google requires now for accessing the Gmail API.

https://support.google.com/cloud/answer/9110914?hl=en

If so how was your experience going though the audit process?

rShergold··on Ask HN: Anyone here experienced with e-ink monitors?
I've been playing with a Waveshare display using this great little library for rendering with HTML and JS https://github.com/samsonmking/epaper.js

However I suspect the resolution (even for the 12.5") is too low to reasonably use with a code editor.

rShergold··on “Hello world” from scratch on a 6502 (2019) [video]
I'd love to hear some suggestions.

I've been told the YouTube algorithm essentially rewards content creators for quantity over quality. Ben Eater seems to only post once a month but every single video is exceptionally high quality.

I've followed his videos from making logic gates with individual components, through making a whole computer with breadboards to the current series of programming a breadboard computer.

Each video is so pared back and well explained. It really dawned on me when he recently started discussing assembly and it just seemed like such a high level language.

rShergold··on Meetup.com alternatives
Our meet up has been running for a decade. This has only been possible by making attendees aware that they own the event. Over the years people have moved on and others have stepped in to keep the thing alive.

By effectively charging at the door our meet up becomes a product people buy not a community they take part in.

If we allow that to happen it won't survive another decade.

rShergold··on Elevating user trust in our API ecosystem
I can't upvote this enough.

There is precedence for this kind of UX change and Google. It used to be that chrome extensions could optionally add icons to the Chrome menu (the icons to the right of the address bar). Now all Chrome extensions appear in the Chrome menu, both reminding the user that it is there and also giving an easy way to remove the extension should they no longer need it.

rShergold··on Show HN: A Chrome extension to exclude Pinterest from Google search results
This is an excellent idea. For me, Pinterest ruins search in a few ways. First up. I don't have a Pinterest account. This means when I click an image result I can't actually get to the full-size image without logging in. Second, since all their content is stolen the original source of the image is pushed way down in the results (if it's in there at all). Finally, I get the feeling there are a lot of bot created Pinterest boards as images tend to be shown beside completely unrelated images.
rShergold··on Teen drug and alcohol use has fallen
Or in Chrome, the Just Read plugin actually makes the internet usable again!

https://chrome.google.com/webstore/detail/just-read/dgmanlpm...

rShergold··on Cursory hack – Fake address bar interaction
Credit where it's due. It seems this is illustrating a sinister use of the original code found here:

https://github.com/benfoxall/cursory-hack

rShergold··on Boaty McBoatface: What You Get When You Let the Internet Decide
My old university town of Aberystwyth has a club called Pier Pressure which, rather pleasingly, is on a pier.