HNHacker News
TopNewBestAskShowJobs

revvx

897 karma · joined April 8, 2019

submissionscomments
revvx··on We Don't Have a Talent Shortage. We Have a Sucker Shortage
I had the same thing happen to me a couple times. Long and tiring process. Blackboard, make a project, lots of dirty laundry about "long gone incompetent developers" that made the current system a giant mess. Lots of red flags but lots of promises including a large maximum salary, including bonuses and stock options.

The final offer, however, was 60% of my current pay. Lower than the average for someone with my experience and position.

I had good rapport with the HR recruiter and flat out asked why they proceeded, even though she knew I was already getting more, at a better company, with more benefits.

The answer: they assumed I was lying about my current salary and I was just bluffing. Recommended me that I lie in my next interview.

revvx··on Joe Armstrong has died
From the day I learned about his work he became my greatest influence in my career, and still is to this day. I'm grateful for all the insights and the perpetually fresh perspective, on distributed systems, on PL research, on databases and on OOP.

I'm grateful that I have someone like him to look up to in my profession: able to solve hard problems while still having fun with novel solutions, while still keeping it all simple.

We'll take at least 20 years just to catch up with him.

revvx··on Ask HN: How do I improve our data infrastructure?
> how do you justify it when someone asks questions about whether it was necessary?

I know of a local company whose data solution consists of dumping into Segment > S3 files > Pentaho (IIRC) > RedShift, and then using two different BI solutions, depending on the analyst. It needs two full-time data engineers just to keep it alive.

Now the funny part: a dump of their production database is less than 2GB and that isn't going to change any time soon: they don't make that much data to begin with, and their business model doesn't scale.

The argument used for building this new infrastructure is that users used to query directly into the production database and that would allegedly slow down their web app. So they decided they should take an "industry standard" path of handling data. C-levels were too afraid to "just use SQL" and instead asked "what is Amazon doing?".

It is an absolute mess and costed three months of the engineering team just to set up the application to generate the right events, but at least business people has access to data without having to stop an engineer in the hallway.

I don't think this will ever come back to bite anyone in an interview because the fact the dataset has less than 2GB will never come up: interviewers charitably assume that it wasn't overkill or that the person isn't padding the resume.

I frankly believe that a lot of places are like that. We criticize web developers all the time for over-engineering simple apps, but everyone is doing the same in other areas, we just can't see it like we do with web apps.

revvx··on How do startups get their content marketing to work?
I don't really have a company but I've been in the industry for 5 years, my advice isn't much personal experience as it is insider knowledge. Hope it's ok.

The answer: it really depends on your audience and your goal with the blog post.

- 1. If you just want people to find you on Google with certain keywords, you really don't have to post it anywhere. This is very common for non-technical audiences, and they will mostly find it by themselves. Tell them in the end of the blogpost to follow you on social media and add an option to get their e-mail, if this is the kind of audience that does it.

- 2. If it's something that might interest to your current followers and further engage them (such as long form content), post on your own social media accounts and send to your newsletter subscribers. Avoid posting the things from #1 on social media unless it is interesting to your followers, because people will get fatigued.

- 3. If it's really high-quality content that will bring brand awareness, then post on aggregators. Hackers News and Reddit doesn't work for traditional marketing, keep that in mind. Examples: don't use marketing language ("by the way, did you know we make..."), never push readers to follow you on social media or subscribe to the newsletter (icons and a form at the end are more than enough) and don't even talk about your product unless it's absolutely necessary. People are smart enough to find about it by themselves.

- 4. Technical tutorials and wiki-like content, like Digital Ocean and Cloudflare do, work great for technical audiences. You only have to post the REALLY good ones into HN. People will find out about the others by looking into your blog sidebar, or archives, or by searching Google. There are aggregators and subreddits that allow other kinds of tutorials.

- 5. Try making tutorials and "behind-the-scenes" content for things related to features you release. Example: I just noticed that your company released a Google Cloud DB Migration service. Try to find out what kind of tutorial people need related to Google Cloud and put make a blog post. Then post them on aggregators related to Google Cloud. Make them easy to find via Google. Make specific mailing lists related to Google Cloud. Oh, and since your company is working with multiple cloud providers, comparison posts work wonders too ;)

A tip: take a cue from sociology/psychology and forget about your "target audience" for a moment. Instead, focus on two or three very specific "personas" that make sense for you business. Imagine a person and set a gender, an age, job, location, salary, everything. This will inform you where you need to post, how often, the language you have to use, sometimes even which platform you have to use.

TL;DR: Know your audience.

revvx··on How do startups get their content marketing to work?
Actually I've been in this business for 5 years and worked in both agencies and content companies, so I have more insider knowledge rather than experience as a customer, hope it's ok.

Most agencies are just hiring freelancers and putting a 10x markup on it. Since they're probably using multiple freelancers per customer, they can't guarantee consistency, which is why they need internal reviewers (which adds to their overhead).

The strategy part is not a lot of work, and I've seen the people that do it working with up to 50 customers simultaneously, so it's not as if it takes a lot of time. 75% of the secret sauce is just picking words out of SemRush. I'm not even joking.

The best ROI right now, IMO:

1. Have one or two good freelancers you trust. You'll have more consistency in your texts and you won't have to manage much. Most freelancers already know how to do the SEO part, because agencies already hire them to do it. They're cheap, so it is easy to "test" them before committing. Good freelancers are low-maintenance.

2. Outsource the strategy to a freelancer. This way you won't be tied to an expensive contract with heavy fines and they'll be able to spend more time. Sometimes they'll also produce content, other times they'll be able to manage other freelancers for you.

3. In my experience, most agencies use run regular consumer tools behind the scenes: Buffer, Semrush, Moz, Mailchimp, Hubspot, and A LOT of Google Docs. SEO checking is done using Yoast, which is free. Most of those tools are simple to use.

revvx··on How do startups get their content marketing to work?
The metric isn't exactly "newness" but relevance.

Timeless or "evergreen" content doesn't have to be updated. It's alright to keep them as is.

But keeping obsolete content online is a pain in the ass for users, so they will increase your bounce rate. Either update them or show a big notice on the top with a link to a newer article. Google will hopefully pick them up and the internet wins.

revvx··on How do startups get their content marketing to work?
I avoid talking about because I don't want people getting ideas, but it's easy to detect voting rings with HTTP referers and voting history alone
revvx··on How do startups get their content marketing to work?
HN has a lot of anti-voting ring protection, so I doubt it would have stayed in #2 for long if this were the case.
revvx··on How do startups get their content marketing to work?
Some super-basic things I learned at a past job that might help newbies:

1. Use a subdirectory instead of a subdomain for your blog. That alone helped half of our customers get better ranking.

2. Keep editing older posts so they always stay up to date. Somehow Google picks this up, and people also bounce when they see outdated information. That was a quantum leap for certain blogs where we tested this approach.

3. Picking the right keywords is more important than relying purely on feeling. Lots of our customers fought that and wasted money. SemRush, Moz, etc can help you.

EDIT: And how could I forget...

4. Outsourcing content (and content alone) has great ROI but outsourcing strategy (at least to an agency or another company) is a money pit and a scam, and you'll still end up having to do A LOT of work yourself anyway.

revvx··on How does it feel to be watched at work all the time?
That might sound like the most obvious thing ever written here to the point of sounding stupid, but:

In my experience as a manager, ANY kind of micro-level timekeeping or micromanagement is not only dehumanizing, but also an utterly unsustainable waste of time and resources and a recipe to let deadlines slip by.

How much time someone spends in front of their computer, how focused they are, and how their process works only gives bullshit metrics and teaches bad employees to game the system. By "squeezing productivity" you teach underachievers how to fake work while still underdelivering, while overachievers will get burned out quickly.

You'll fool yourself into believing that everything is "in control" but productivity will lower in a boiling frog effect that you'll only notice after several months of having everyone glued to their screens.

What I learned after failing: You need to sample a large interval in order to have ANY confidence on employee productivity data. So, it is better to allow employees to just be adults for longer periods of time (say, a sprint, or even a month) and measure them by their macro output and only act when they need you (aka be a real manager).

EDIT: Oh, and one more thing, if you don't have good metrics in place (like every programming shop ever), letting the OWN WORKER pick their metrics and give their own deadlines. This is a completely valid approach and will weed out under-performers like crazy.

EDIT 2: If you don't actually act on those macro metrics and pretend everything is fine, your team will resent you start looking for other jobs.

revvx··on Smartphone Apps Are Filled With Trackers
Why?
revvx··on I miss Facebook
Marketplace is useful if you want to sell things locally.
revvx··on I miss Facebook
People do it because every other option sucks.

Sharing to someone else's timeline is way too invasive, sharing to your own timeline and tagging the person is weird, sharing via message is too disruptive.

What people is looking for is a "Show it to a friend" button that just creates a notification on the person's bell icon and allows them to respond in any way they want.

revvx··on JSON as configuration files: please don’t (2016)
Closing tags is not really an issue with XML.

In my experience, the biggest reason people hate it is because it has too many ways of structuring data, and it allows people who design the schemas to go overboard. Attributes or child nodes? Multiple namespaces or just extend the one you have? CDATA or embedding?

That said, simple XML is as good as simple JSON. XML is fine if you keep it simple when designing the schema. AND of course one can screw up with JSON too. But after almost 20 years of people over-engineering their XML schemas, I can't fault anyone for choosing a simpler data format.

revvx··on Fucking Color Picker
First, this is a false dichotomy. There are alternatives to Electron that don't require a 120 MiB runtime and don't involve using the OS APIs directly.

Second, this is not a criticism on application writers, but on Electron itself. It could use a runtime available on computers (virtually every computer has a browser) or, at least, a shared runtime that would download itself.

Bundling a browser with EVERY different app is not only a waste of space and of RAM, but also a security issue: now you have to wait for each app developer to update the app in case there's a security problem with Electron, Chromium or any of its 2000 dependencies, and that's "if" they upgrade. And that update takes at least another 120 MiB to download, for each Electron app you have.

Instead of downloading 120 MiB for each app, each app could come in a small package and only download the runtime if it's not available in the computer yet. Java got it right in the 90s, .NET got it right in the 2000s, although downloading the runtime had terrible UX for stupid marketing reasons (you had to provide e-mail to download from the Sun or the MS website).

revvx··on Web Components could replace frontend frameworks?
I strongly believe Web Components will catch on, but not in its vanilla form. Writing code for them is a pain in the ass for non-trivial stuff.

They're too low level compared to modern frameworks.

IMO the future of the web will be about compiling React, Vue, Svelte, to Web Components, for interoperability reasons. And nope, Polymer isn't as good as any of those.

revvx··on JQuery 3.4.0 Released
> One traversal mechanism I'd love to see but I've never seen implemented coherently is... given my relationship to ancestor X, iterate through all my antecedent peers under x. This would make processing some kinds of structured data far simpler.

That sounds really simple to achieve with with a (lazy) function that returns a list containing all ancestors of a tree, and then a "until" or "up to" function that returns everything from that list until a certain condition is met.

Those are things that should be included alongside Map and Reduce :)

> How is it possible that ({k: 1} === {k: 1}) is false? I find this to be maddening. Thank goodness for lodash.

Oh, I strongly agree. And lodash should be the standard library of the language. Not only of Javascript, but most languages out there.

> End really is one of those hats-off bits of magic, and it's one of the first things that come to mind when any of the frothing haters pen statements that preclude anything good coming from method chaining.

About End (and point free style in general), I understand why people might dislike it, but then again, I think it comes down to familiarity. After ten years of exposure to LINQ, Haskell, underscore/lodash and FP in general I also find it super hard to follow code that uses for/do/while in overly clever ways (my own C code comes to mind).

I think I find it easier to see code as a "graph" rather than assigning something to a temporary variable, and that's what End allows me to.

revvx··on JQuery 3.4.0 Released
Great answer likewise! Some of those are really cool indeed!

Deep copy/deep extend is a must in every programming language ever. I have no idea why 90% of the environments I ever programmed with make it so damn hard to deep copy data. In javascript it is kind of comical. [1]

Traversal utilities like closest/parentsUntil/nextAll/nextUntil is something I miss in most standard libraries. No for DOM manipulation, but for traversing lists and such. Until/while idioms are par for course in imperative contexts but I miss them in functional programming contexts. Not that they're that hard to implement with a couple lines :)

Delay is further proof that the jQuery API design is nothing short of amazing. I wish more APIs were like that. The only thing that comes close to me, albeit in a completely different domain, is LINQ.

I had no idea about End. That's point-free programming black magic. [2] Love it.

[1]: https://stackoverflow.com/a/5344074

[2]: https://en.wikipedia.org/wiki/Tacit_programming

revvx··on Facebook showed me my data is everywhere and I have absolute no control over it
That's absolutely not true.

Sometimes some of my information is gathered without my consent or even without any warning, such as when I use a website with a FB tracker, or when third parties upload some of my personal information to Facebook.

Edit: Oh, and just because it might be buried in their TOS doesn't make it right.

revvx··on Facebook showed me my data is everywhere and I have absolute no control over it
Why not, may I ask? Just means both sides are wrong.
revvx··on Facebook showed me my data is everywhere and I have absolute no control over it
For me: there's a world of difference between giving someone your private data and having third-party services (Scorecard, Quantcast, Criteo, Tapad, others) give it to them.

Just because I happen windowshop some store doesn't mean I gave them permission to ask for my info around. They're free to ask me. But that's just me.

revvx··on JQuery 3.4.0 Released
> I'm not exactly claiming Carmack-level jQuery proficiency, but comments like yours make me wonder (optimistically) whether you've forgotten all of the amazingly useful things that jQuery can do. Ajax, selectors and CSS transitions are the Nickelback of creative possibility.

It's been several years since I last used jQuery, but what are those other useful things that are hard using Vanilla.js? (Legitimate question, not being sarcastic here)

revvx··on Netlify Dev
1. With Netlify you don't need to install any command line tool. For non-technical users it's a must.

2. Netlify is a CDN, so "dragging and dropping" would be equivalent to setting up S3 + Cloudfront.

3. You have to create the bucket before running this command. With Netlify you just drag and drop and it takes a couple seconds (if the site is small enough to be built that fast).

4. Netlify is also able to run a build phase before deploying. With S3 you have to do it locally or setup a remote machine.

revvx··on It seems that Google is forgetting the old web
You can see some evidence that suggests it when you search for a specific software or ebook to download.

Piracy is gone, but you will find hundreds of automatically generated credit card phishing sites full of Google Ads, sometimes promising pirated versions but serving a trojan, sometimes showing a credit card form. Some of them are on the first page, sometimes before legitimate websites.

revvx··on It seems that Google is forgetting the old web
IMO, Youtube changed for the better. It used to focus on controversial and current, now it focus on curated and evergreen content. Exactly the kind of thing people in this thread are missing from Google Search.

Maybe some similar change is coming to Search.

revvx··on It seems that Google is forgetting the old web
I agree with you.

Maybe the problem is that PageRank (or whatever they call it these days) has run its course. I mean, it supposed to gauge "what humans think is good", but it's failing miserably. It's indeed time for a more curated, artisanal, web.

revvx··on It seems that Google is forgetting the old web
I agree with you.

What I mean is: I don't think their fight is misguided or evil this time, they're trying to keep the result pages useable for end users. They're just doing a terrible job out of it. (Or: they're doing a worse job than spammers)

revvx··on It seems that Google is forgetting the old web
IME, it's not blackhats anymore causing the problem. It's (legitimate, but shady) marketing agencies and startups handling thousands of customers and with deep pockets to do SEO research.
revvx··on It seems that Google is forgetting the old web
It's not Google's fault this time.

The problem is that Blogspam is now a (legitimate) industry much bigger than Google can manage.

Google Search became a playground for marketing firms to dump content made by low-paid freelancers with algorithmically chosen keywords, links and headers. It's SEO on large scale. Everything is monitored via analytics and automatically posted to Wordpress. Every time Google tweaks its algorithm to catch it, they're able to A-B test and then change thousands of texts all at once.

Personal blogs can't even dream about competing with that.

In fact, those companies are actively competing with personal blogs by themselves: via tools like SEMRush and social media monitoring, they know which blogs are trending and use their tools to produce copycat content re-written by freelancers and powered by their SEO machine.

I know a startup that is churning 10 thousand blogposts per day on clients blogs, each costing from 2 to 5 dollars for a freelancer to write according to algorithmically defined parameters.

Just wait until they get posts written via OpenAI-style machine learning: the quality will be even lower.

Not only that: there's no need for black hat SEO anymore. Blogposts from random clients have links to others clients blogs, and it is algorithmically generated in order to maximize views and satisfy Google's algorithm. They have a gigantic pool of seemingly unconnected blogs to link to, so why not use it.

The irony is that companies buy this kind of blogspam to skip paying AdSense. Why pay when you can get organic search results? So not only they're damaging the usefulness of the SERP, they're directly eating Google's bottom line. These blogs also have ZERO paid advertising inside them, since they're advertising themselves.

That's the reason Bing, DuckDuckGo and Yandex still have "old web" results.

That puts Google in a very difficult position and IMO they're not wrong to fight it.

← PreviousPage 4 of 4