blackrobot's comments

blackrobot | 1 year ago | on: Ask HN: Who is hiring? (September 2024)

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

blackrobot | 4 years ago | on: Django for Startup Founders: A better software architecture for SaaS startups

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.

blackrobot | 5 years ago | on: How to turn off Android TV's homescreen ads, 'staff picks'

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?

blackrobot | 6 years ago | on: Alpine makes Python Docker builds slower, and images larger

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.

blackrobot | 6 years ago | on: Alpine makes Python Docker builds slower, and images larger

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.

blackrobot | 7 years ago | on: Farewell from Waffle

Is there a comparable kanban project manager that uses github issues?

I would migrate to github projects, but last I'd checked some key features were missing from github projects:

1. New issues are added to the backlog column by default.

2. Epics, or anything that allows one issue to have multiple sub-issues.

3. The ability to label one issue as blocking another by using keywords, eg: blocks #123 or requires #321.

Is there a simple way of solving these with probot or github actions?

[probot]: https://probot.github.io

[github actions]: https://github.com/features/actions

blackrobot | 15 years ago | on: JRumble: A jQuery Plugin That Rumbles Elements

eh, i just made it so it rumbles all divs:

  javascript:var i,s,ss=['http://dl.dropbox.com/u/1578229/jrumble.1.1.min.js,http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js];for(i=0;i!=ss.length;i++){s=document.createElement('script');s.src=ss[i];document.body.appendChild(s);}void(0);bookmarklet
page 1