HNHacker News
TopNewBestAskShowJobs

Game_Ender

1,672 karma · joined May 30, 2011

submissionscomments
Game_Ender··on CIDLib: C++ Development Environment
It's interesting to see code bases like this. It does sort of have it all, custom build system, IDL, implementations of things like XML and JPEG. Very symptomatic of the need slowly being filled in the C++ community for a popular build system and package manager.

I hope the author reconsiders their custom license that prevents any public forks of the code base. It's already very hard to get anything out of non-standard monoliths like this, with a custom license that chance drops close to zero.

Game_Ender··on Why Google needed to build a graph serving system
I have some experience with Bazel, the open source version of Blaze, and I noticed that it's build graph implementation appears to be very memory hungry as well. Such that a few million lines of code already use 10-30GB of memory. Like you mentioned it requires the entire build graph to fit in memory on one machine.

Do you know what sort of graph solution Blaze uses to handle 2 orders of magnitude more code, ie. manage 100's of millions of lines of code? I always assumed it was a distributed graph database, but your article seems to indicate something else.

Game_Ender··on Why Swift for TensorFlow?
Chris Latner is the driving technical force behind the project and he wrote Swift. So they were able to fix any issues with Swift so the trade study was “unfair” in that regards.
Game_Ender··on CodeFlow: Improving the Code Review Process at Microsoft (2018)
That is sort of underselling it, Differential has the following features in common with CodeFlow:

- Easy to see the changes an author makes over time to a review

- Integrates with the Package and Ownership system to automatically assign reviewers

- Easy work on changes that touch many files

- Inline lint and code coverage results

- Built in display of unit test and CI results and overall coverage %

- Draft mode to delay review until tests & lint are clean

- Comments move properly as you make changes

- Easy to mark comments as done and find outstanding ones

- Comment on multiple lines instead of a single one

Things that are missing:

- No ability to comment on single characters

- Cannot mark certain files as important

- No way to explicitly mark a change as "simple" (like a rename)

- No web UI to make quick fixes (compared to GitHub is what is most missed)

Game_Ender··on Instacart and DoorDash’s Tip Policies Are Delivering Outrage
This sounds like fine model to me, pay more, get faster service. The key should be transparency and a minimum service level, ie. they should lay enough by default that every order will get picked up.
Game_Ender··on The Low Latency Live Streaming Landscape in 2019
What kind of performance did you get client side? A problem I see in the web space is that fastest encoder you can get is locked inside the browser so you need something in JS or WebAssembly.
Game_Ender··on When hiring senior engineers, you’re not buying, you’re selling
What if Google or Facebook offer you $300k no risk, with a relatively standard work life balance. Then you have to really carefully weigh the startup equity package and how much you enjoy the respective work environments.
Game_Ender··on The Internet of Unprofitable Things
I have looked at your stack and it’s very cool. One thing I was most curious about is the long term plan for your docker fork. Are you going to upstream changes or APIs so you don’t have to maintain the fork?

The other question I have is about the stability of docker itself at scale. I worry about the reliability of essentially developer/server tooling in an embedded space where there is no ops team to help it along. Have you had any issues?

Game_Ender··on Why Segment Chose Go, gRPC, and Envoy to Build Their New Config API
Is the GRPC API less pleasant because you have to handle those details? Or could it be evolved to be more user friendly?
Game_Ender··on Uber Revenue Slows as Quarterly Loss Surges to $1.1B
That is pretty shitty. It use to be that drivers had to return stuff on their own dime, I think the fee is supposed to pay them for that time.
Game_Ender··on Adversarial Examples That Fool Both Computer Vision and Time-Limited Humans
Do you have a citation on humans having from birth classifieds for things like cats?
Game_Ender··on Compare career levels across companies
Statistically if you can get into a tier 1 company you’ll be better off. You get 10-20 years at $200-$400k by default, so $2-8 million. You have to weigh that against the exit success chance and size of a 5-10 year (as typical) startup run to an exit.

It’s not all about money of course, and if you can run your own place you can probably get into into a tier 1 tech company.

Game_Ender··on WebAssembly’s post-MVP future
64 bit addressed cannot come soon enough. In certain domains the entire data set you want to work with is many times the 4GB limit, and JS has no such restriction so it’s a PITA that WASM does.
Game_Ender··on Libnop: C++ Native Object Protocols
Have you done any speed comparisons to other libraries? Since there are so many of these libraries that is a big deciding point, especially in C++.
Game_Ender··on GitHub and Jira Software Integration
I feel sad for all the Github users who will have to suffer the awful JIRA UX. It’s a tool that tries to be everything to everyone with a decade of legacy cruft attached. The result is something that is slow, confusing, and incoherent. If you have an expert and sink a lot of time into, you can a few decent workflows, but it’s just not worth it.

In the end though, don’t worry the managers will get their reports and everyone will at least have there feature box checked (assume you don’t care about Markdown).

Game_Ender··on Cloudera and Hortonworks merge
How does HopsFS compare to Lustre?
Game_Ender··on What can C++ do for embedded systems developers? [video]
It's "aggregate initialization" [0]

  struct S {
      int x;
      struct Foo {
          int i;
          int j;
          int a[3];
      } b;
  };
  S s1 = { 1, { 2, 3, {4, 5, 6} } };
0 - https://en.cppreference.com/w/cpp/language/aggregate_initial...
Game_Ender··on Minih264 – Minimalistic, single-header library for encoding H264/SVC
It has very limited support for H264 advanced profiles that are usually used, which is a down side. I was honestly surprised about the lack of a good decode library.
Game_Ender··on Ytdl-webserver: Webserver for downloading YouTube videos
Anything you can share code wise, curious to learn more.
Game_Ender··on An Introduction to Modern CMake
They are quite different, speaking of Bazel it’s designed to be an all inclusive build system for any language at essentially infinite scale. Which means it:

- Has nice Python based DSL

- Strongly encourages 100% explicit dependency specification

- Has built in caching (local and remote)

- Built in test result caching

- a fully featured build graph query language

- Built in distributed execution support (for any build step)

- All work scales by part of tree you are building not it’s absolute size

- Support for fetching external source code and binary deps

- Has first class support for executing and testing containers

- Has first class support for code gen (ie you can build a compiler use it to generate code, then build its output,and everything works, no hacks in one build system)

The downsides:

- Works best if you all your code is built with Bazel, which makes deps hard

- Support for Python is weak, Ruby non existent, and Node is beta quality

- Has essentially zero convention, everything must be explicitly configured (ie explicitly describing go deps)

- Has a memory hungry local java daemon

- Has a more overhead than ninja (but is more accurate because of hashing and isolation)

Game_Ender··on From Google to the world: the Kubernetes origin story
Google does not use gRPC internally it, like k8s, it is an open re-implementation of an internal google technology. Also, like k8s & Bazel, it is less advanced and lower performance than their internal technology.

At a high level Google is open sourcing things that have genuine value, but also make integration with their money making services easier.

Game_Ender··on Amazon’s share of the US e-commerce market is now 49%
This does not work because amazon commingles inventory. So anyone who ships that item into your warehouse could end up providing the actual good your are sold even if the “Seller” is amazon.
Game_Ender··on Making calls to WebAssembly fast and implementing anyref
I am curious to know if this also makes calls from WASM into JS faster. One of the issues with WASM is that you need the JS DOM API, it is essentially your OS abstraction layer, so faster that is, the better WASM will be.
Game_Ender··on The impact of the ‘open’ workspace on human collaboration
We soon filled the collaboration spaces with desks. The large isles though help put people farther apart so it’s slightly harder to here conversations of people nearby.
Game_Ender··on The advantages of an email-driven Git workflow
Have you tried Phabricator? It tracks completion status of comments on a review. Letting you easily find the un-finished ones. Comments can also apply to single or multi-line sections of the file, and they stay present even as the patch itself is updated in response to comments.
Game_Ender··on Tesla meets self-imposed deadline for Model 3, rolls out 5000 cars in a week
On angle on that is we have societies have created the concept of an entity that is not a person who can assume debt, and has certain speech rights. So that entity is supposed to advance society more than alternative, which would be something like owners being personally liable for its debts and faults.
Game_Ender··on C++17 Features That Will Make Your Code Simpler
This a matter of debate in the C++ community. The “almost always auto” camp has the position that it makes the code more flexible and easier to refactor. The fewer times you write a type name the easier it is to change. It also has its uses in template heavy code which is popular on modern C++.

There is a group such as your self that value the extra context the type provides. I think the counter to is that modern tooling can provide this information to you. To split the difference you can use auto just where the type is redundant, like with make_shared, or verbose and unneeded, like with iterators.

Game_Ender··on Fatalities vs. False Positives: The Lessons from the Tesla and Uber Crashes
Because sick people are desperate we actually make it quite hard for them to volunteer for things like risky medical tests. Requiring more animal or smaller pilot studies first. I don't know the numbers well enough to know whether this is a net win for humanity, but just like any technology development project, the longer your dev cycles the slower things go.
Game_Ender··on Ask HN: Developers, how do you keep SSH and web URLs organized at work?
We have an in house "go links" [0, 1] tool, which I update heavily as I work, so everything is always a few key strokes away. So if you want to access "foo", you just type "go/foo". If you want to access to the dev version "go/foo-dev". If the link does not exist you are automatically put into a UI to make the link then and there.

If you have an issue tracking or code review system you customize it so you can do "go/T123" and go to issue "T123". Or for common apps you can put in place simple patterns like "go/foo/id" and it opens that application to looking at that id.

0 - https://github.com/kellegous/go

1 - https://www.golinks.io

Game_Ender··on The Lifespan of a Lie – Why can’t we escape the Stanford Prison Experiment?
Who is Alex Wakefield?
← PreviousPage 7 of 17Next →