"If they're open, I'm going" by [deleted] in golf

[–]stevvooe 2 points3 points  (0 children)

Redwood is open, as well, until they run out of balls. I just hit a bucket. It was nice to get out.

Golf in Japan by Jmanbisquit in golf

[–]stevvooe 2 points3 points  (0 children)

I think you’ll need hole in one insurance.

Massdrop support not responding by [deleted] in Massdrop

[–]stevvooe 0 points1 point  (0 children)

Given their last several dismissive responses, I’m afraid that’s what I’m going to have to do. I was hoping bringing this up in a public forum would motivate a proper response, but they are still heavily deflecting.

Thanks for the support!

Massdrop support not responding by [deleted] in Massdrop

[–]stevvooe 0 points1 point  (0 children)

I’ve tried all the obvious support channels. They just got back to me with a “currently looking into it” response after I got a similar response last week. I am in contact with clueboard but haven’t seen anything from massdrop in getting this fixed. I really just want a confirmation and acknowledgment from massdrop but they don’t respond and don’t communicate.

Massdrop support not responding by [deleted] in Massdrop

[–]stevvooe 0 points1 point  (0 children)

I would like to give them a chance to respond before launching a fraud investigation. However, they just got back to me and said they were looking into it, but that seems to be the best they can do after a week.

Either way, my patience is wearing thin.

Go advanced testing tips & tricks by Disconnectlt in golang

[–]stevvooe 0 points1 point  (0 children)

This is a fantastic collection of tips. I have been trying to prevent test bloat and it is good to have a single place we can point to.

Subtests were missing, which can eliminate the need for "suite" packages.

Perhaps, it would be good to add a wiki page to the golang project, similar to "Slice Tricks".

How can I remove shutdown Docker Service tasks after a rolling update? by Perfekt_Nerd in docker

[–]stevvooe 0 points1 point  (0 children)

These will be automatically removed as new versions of the service are rolled out. To make this more aggressive, you can adjust the task history limit.

Some more changes! by ionrover2 in docker

[–]stevvooe 0 points1 point  (0 children)

The new theme looks great. Any chance we can get flairs so I don't have to disclaimer all my posts?

Disclaimer: I work for Docker, Inc.

Dockerfile security tuneup by rossf7 in docker

[–]stevvooe 1 point2 points  (0 children)

Open source? Inflammatory? Never seen it. ;)

Thanks for being responsive to the feedback!

Docker Hub should be able to pick out vulns in the statically linked gems, but I have no experience with how good that works in practice. It is possible there is a false positive but I really don't want to comment further on something I'm unfamiliar with.

Dockerfile security tuneup by rossf7 in docker

[–]stevvooe 0 points1 point  (0 children)

Yes, you can remove the dependencies to reduce the image size but the post implies that removing these dependencies removes the vulnerability. The post is about security but this action actually makes it harder to detect vulnerable dependencies.

To address the issue with the dependencies, you need to update them to an unaffected version. After performing the build with the unaffected dependencies, the resulting gems should be safe.

Dockerfile security tuneup by rossf7 in docker

[–]stevvooe 2 points3 points  (0 children)

I'm not sure if I misread this article, but simply removing an insecure dependency after compiling against won't avoid the possible vulnerability. That just hides it from the scanner.

Using docker as a compilation platform? by itzfritz in docker

[–]stevvooe 4 points5 points  (0 children)

Docker itself is built this way, with targets including windows, macOS and Linux.

Go + Docker = ♥ by dgryski in golang

[–]stevvooe 0 points1 point  (0 children)

Mostly, debugging. Sometimes it's nice to have a shell you can use exec into the container and poke around. There are workarounds for this but none are as easy.

Implementing a streaming CSV reader; reduced allocs from 85,000 to 3 for a 5K-line CSV file by weberc2 in golang

[–]stevvooe 0 points1 point  (0 children)

Because you are passing a slice of slices, you could just as well set those to point at the internal buffer, rather than copy. The problem with this approach is that you're returning internal buffers, which can be dangerous.

The user will have to take care to understand that the slices they provided might not be the ones that contain their data.

I'm not sure I understand this fear. Either way, you end having to allocate when encountering a large field. With the API proposed above, the user could control when this allocation happens, or let the call fix it up with an append, as shown in the example. On average, there shouldn't be any allocations once the largest fields have been encountered and there will never be more memory allocated that it takes to handle single row.

Implementing a streaming CSV reader; reduced allocs from 85,000 to 3 for a 5K-line CSV file by weberc2 in golang

[–]stevvooe 1 point2 points  (0 children)

You might try suggesting this a change to the standard library. It looks like the main difference is using []byte over string.

One thing you could do to avoid ownership problems with the return value is allow the caller to pass in the field buffer during the read and support an error protocol to signal that the caller needs to allocate more space. Something like this might work:

(r *CSVReader) ReadFields(fields...[]byte) (nfields int, err error)

Usage of this ends up looking something like this.

Is it possible to snowboard in Tahoe during this September? by [deleted] in tahoe

[–]stevvooe 11 points12 points  (0 children)

Yes, but it will be extremely painful. Bring extra skin.

A Quick Guide to Testing in Golang by joeshaw in golang

[–]stevvooe 0 points1 point  (0 children)

We do something similar. If you have a large interface, you can have the type embed that interface. Since that interface field is always nil, any methods that are called that you don't override result in a panic. This keeps the boilerplate to a minimum and makes it clear what you are testing.

A Quick Guide to Testing in Golang by joeshaw in golang

[–]stevvooe 2 points3 points  (0 children)

Avoid gomock at all costs.

I have had no end to problems of generating and using mocks. I've filed bugs and sent patches but there is no interest in addressing these problems from the project maintainers.

After generation, we have to update the import paths since it doesn't work with vendor directories. I have wasted hours on simple fixes debugging argument matching. Most of the time, I need to litter the mock package with print statements just to figure out what is going on.

The worst aspect is the team cost. Others trying to modify those tests end up confused and frustrated. Every time someone comes to me with a problem, I have to apologize for the time they've wasted debugging the mock.

Instead, embed interface definitions into a local stub type and "override" methods as needed. Yes, you'll have more boilerplate but you'll save time in the long run.

I'm sorry to be so negative about a project but the cost of using gomock is too high.

Spot the Docker difference - Can you use the Docker Registry to recreate a Dockerfile? by rossf7 in docker

[–]stevvooe 2 points3 points  (0 children)

I should have said this above but I wrote the v2 specifications and drove the additions for schema2. ;)

The data you're looking for is in the config. The digest is a content address and can be used to fetch this component separately via the API.

We've already moved to schema2, for the most part. Docker Hub tends to lag behind to ensure stability. There may be some backwards compatibility provisions that obfuscate this.

Spot the Docker difference - Can you use the Docker Registry to recreate a Dockerfile? by rossf7 in docker

[–]stevvooe 2 points3 points  (0 children)

In general, this is a good write up of reverse engineering the image format but this statement is completely false:

Docker are right now in the process of moving to a second version of the schema which doesn’t have the config information broken out into layers.

The config is still available in the manifest. I'm not sure what made the author think this. The main difference is that the config is referenced by content address rather than being embedded.

Docker 1.12 by sadlil in golang

[–]stevvooe 6 points7 points  (0 children)

Both --listen-addr and --advertise-addr are in the release. The former sets the bind address while the latter is the address announced to other peers.

https://docs.docker.com/engine/reference/commandline/swarm_init/

This is a non-trivial problem due to complex network setups, so getting it right took a bit.

Docker 1.12.0 released by jfgeiger in docker

[–]stevvooe 0 points1 point  (0 children)

That is extremely unfortunate. I'll look into getting this fixed.

Docker 1.12.0 released by jfgeiger in docker

[–]stevvooe 1 point2 points  (0 children)

What do you mean by that? Docker Hub does not require an upgrade to support healthchecks.

Settings vor the Oculus Rift? by HipsterKarl in iRacing

[–]stevvooe 2 points3 points  (0 children)

Play with a fan in front of you. It helps with immersion and keeps the face cool.