blackrobot

Joined 15 years ago

Karma
142
Submissions
19
Member since
Mar 31
blackrobot.at.hn
View on Hacker News

Recent submissions

Comment · 2 years ago
HowGood | Remote (EDT timezone) | Full-time | Frontend EM

https://www.howgood.com/careers?hn#openings

We build carbon accounting software, to track environmental impact, and make food companies more sustainable.

The role is for a frontend engineering manager (aka tech lead in some places). Your work will be 90% coding and 10% management.

Tech Stack:

  * Typescript
  * React
  * Redux
  * Vite
You can read more about the role and apply here: https://www.howgood.com/careers?hn#openings
Comment · 3 years ago
Comment · 4 years ago
Why don't you share a TOTP between all of you? Just take a screenshot of the authenticator QR code, or save it to a shared 1password secret.

Google's login protection mechanisms seem to be satisfied by TOTP usage, and you won't be locked out anymore (or at least much less likely to be).

Comment · 5 years ago
Are there any good articles or examples you can share that elaborate on why using services is best? Writing a custom model manager method for these sorts of operations seems to work best. For instance, the create_account service could easily be part of the User.objects manager:

  class UserManager(models.Manager):
      def create_account(self, sanitized_username: str, ...):
          # the rest of the code in this method is the same as the example.
          ...
          return user_model, auth_token
  
  class User(models.Model):
      ...
      objects = UserManager()
  
  >>> User.objects.create_account(sanitized_username="blackrobot", ...)
  (<User: blackrobot>, 'fake-auth-token:12345')
The benefit here is that other parts of your code only need to import the User model to access the manager methods. It also allows for the User.objects.create_account(...) method to be used by related models, without risking a circular import, by using the fk model's Model._meta.get_field(...) method.

I'm not opposed to services, I just don't see when they'd be particularly useful.

Comment · 6 years ago
Where does the `@sql` decorator come from? If it's not adding attributes that are django specific, then you lose most of django's functionality built around models: automatic admin, user model, etc...
Comment · 6 years ago
Comment · 6 years ago
What's the best external tv hardware box these days? It needs to be something easy enough for my non-technical family to use, that's also stable enough that I don't have to worry about upgrading or debugging it, and provides all of the popular providers controlled by a remote -- or is at least compatible with a universal remote.

Up until recently, my Roku ticked all of the boxes -- Amazon Prime, Netflix, HBO Now/Go, Plex, CNN, Hulu, all controlled by a Logitech universal remote. But as of August 1st, HBO has pulled their apps from Roku.

Is one of these a better option?

- Android TV

- Amazon Fire

- Apple TV (without other iOS devices?)

- something else?

Comment · 6 years ago
I just tested if timestamps are factored in, and I was wrong. According to the documentation:

https://docs.docker.com/develop/develop-images/dockerfile_be...

> For the ADD and COPY instructions, the contents of the file(s) in the image are examined and a checksum is calculated for each file. The last-modified and last-accessed times of the file(s) are not considered in these checksums. During the cache lookup, the checksum is compared against the checksum in the existing images. If anything has changed in the file(s), such as the contents and metadata, then the cache is invalidated.

Comment · 6 years ago
Most Dockerfiles for python projects will have a line to install their python dependencies though.

  COPY requirements.txt ./
  RUN pip install -r requirements.txt
If you're building the image on a CI server, docker can't cache that step because the files won't match the cache due to timestamps/permissions/etc... The same is true for other developer's machines.

This is a problem if your requirements includes anything that uses C extensions, like mysql/postgresql libs or PIL.

Comment · 7 years ago
What was misleading about the NYT piece?
Comment · 7 years ago
Comment · 7 years ago
Comment · 7 years ago
If the apps have been removed from the google play store, but not user's devices, would they be identified by the play protect scanning feature?
Comment · 8 years ago
From the wikipedia article: https://en.wikipedia.org/wiki/Autonomous_system_(Internet)

    ...an autonomous system *(AS)* is a collection of
    connected Internet Protocol *(IP)* routing prefixes
    under the control of one or more network operators on
    behalf of a single administrative entity or domain that
    presents a common, clearly defined routing policy to the
    Internet.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton