Second this. Internal referral is the most reliable way to get in the door in my experience.
HN user
jephir
My interview performance actually got better once I stopped overdressing. I got more offers wearing a grey hoodie and jeans. And this was at big tech (not just startups).
Actually the same person is maintaining Bitcoin. Satoshi is Adam Back, co-founder and CEO of Blockstream.
The FIU bridge is truss bridge, not a cable-stayed bridge, see this NTSB update [1]. The bridge collapsed because it relied on a single truss with no backup to support the weight if it failed. This created a single point of failure where the collapse of any member (diagonal segment) would collapse the entire bridge.
There is no indication that ACB contributed to this collapse, rather, this was a faulty design that would have also posed a risk using traditional construction techniques.
didn't the wholepoint of using Bitcoin is that there is a public ledger for every move?
There is a public ledger for every public move. If you move money within your own organization there is no publicly visible effect.
A 5-10% drop in a single day on the SPX would probably cause a panic. This happens on a regular basis with BTC.
BTC trades like an accelerated stock market. Instead of crashing every few decades, it "crashes" every few months.
without copyleft we might not have the fertile collaboration of projects such as Linux, git
Why would this be the case? FreeBSD and SVN were developed without copyleft. GPL is not necessary to get people to contribute to open source.
There's a lot of talk here about TCP vs UDP vs SCTP vs x protocol.
It's important to keep in mind that this is all optimization. Don't lose sight of the big picture.
On one RTS we ended up just serializing world state over a TCP socket. If you can get away with the brute force approach then just do it. Don't optimize until you have a measurable performance problem.
While Firebase is proprietary, you can export your database as JSON and import into RethinkDB.
Yep. The WHATWG recommends just using the term URL instead of URI.
Standardize on the term URL. URI and IRI are just confusing. In practice a single algorithm is used for both so keeping them distinct is not helping anyone. URL also easily wins the search result popularity contest.
The biggest thing for me is that you can use secure WebSockets (wss://) without having to setup TLS on your origin server. This greatly improves the ability to establish WebSocket connections across proxies.
Code defensively, and don't get fancy unless you need to. You're not just complying with the language spec, you are communicating your intent to the other developers who will read and maintain your code.
Leaving out semicolons actually makes the intent more clear. People run into problems with semicolon insertion when they try to create an unnamed expression, i.e:
["joe", "bob", "ann"].forEach(call);
If you use a no-semicolon style, though, you must name all your expressions, which makes your intent more clear: var employees = ["joe", "bob", "ann"]
employees.forEach(call)Check out the different switch sounds (http://techreport.com/review/23405/rosewill-rk-9000-series-m...) before you buy a mechanical keyboard, each switch type has a distinct sound, and getting the wrong one can drive you crazy.
I purposefully create passwords with caps lock on, what then?
I think he means doing it on the server, i.e. checking the password as-is, if that doesn't work, then check it with case inverted.
Does removing the runtime have any effect on the current effort to get Rust working on Emscripten?
I agree, there aren't that many problems in IP compared to the www stack. Imagine if we had bytecode instead of Javascript, the web would be years ahead in terms of being able to create games, video editors, etc. and other high performance apps in the browser. Javascript has basically become a poor substitute for an actual assembly language.
Mistake or not, allowing all pointer types to be `nil` seems like simplification from things like option types. How do you see nil as adding complexity?
Whenever you have null in a language, for every function you call that returns a reference, you have to check the documentation to see whether or not it will return null. You cannot know from only the function interface whether or not you have to deal with an optional value.
Option types move this checking to the compiler. The function declaration explicitly shows the presence of an optional value. You don't have to read the documentation or investigate the function implementation - the information exists in the function interface itself.
Given, Go tries to deal with this by using the multiple return idiom. By convention, you should only have to deal with null if you have a function with multiple returns. However, I think that compilers, not conventions, should enforce language rules. Leaving it up to conventions opens the window for human error.
I've never heard of `if ok` being an idiom _as opposed_ to `if !ok`.
This comes from Effective Go: https://golang.org/doc/effective_go.html#maps
They explicitly call it the “comma ok” idiom.
Go still has some unecessary sources of complexity, for example:
1. It uses null (the billion-dollar mistake) to indicate optional values. A better designed language uses an option type.
2. It has conflicting idioms for conditions. Error types use the `if err != nil` idiom while map access uses the `if ok` idiom. This means that you read the main execution path downwards and the error path to the right, unless you access a map, then the execution path goes to the right and the error path goes downwards.
3. The `:=` operator declares new variables, unless you use it to declare multiple variables where one already exists in the same scope. As a result, you don't know if you have actually declared a new variable using `:=` unless you read upwards to see if a declaration for the same variable name already exists.
I've filed the issue here: https://code.google.com/p/webrtc/issues/detail?id=3892
Does WebRTC strike anyone as too many things in one package?
It does too many things. I want to use WebRTC data channels for a multiplayer game, but the current implementation libraries tie-in all the media components. It would be nice if there was a WebRTC implementation that provided data channels without having the media functionality.
As a player (and a programmer -- but mostly a player), I'm concerned about the articles conclusions about the value of prediction, and the recommendation to avoid position popping by applying smoothing -- to quote the article, "it ruins the virtual reality of the game".
I agree, predicting remote objects causes more problems than it solves. Any remote player input that affects the object causes noticeable position popping when the local client receives the update.
The Source engine has a better solution - instead of trying to predict remote objects, delay rendering by 100ms and interpolate the received updates. This makes the position updates appear smooth without any stuttering. However, now the client lags 100ms behind the server.
The server has to "undo" this lag when the player wants to execute a request (like shooting). It does this by rewinding the world state by 100ms + client ping when executing the request. This makes it so that a client's actions appear to execute without any lag on their view (i.e. they don't have to shoot ahead of their target).
This causes some temporal anomalies, for example, players can shoot you around corners because they see your position 100ms in the past. However, most players seem to prefer this over having to constantly shoot ahead of their targets to compensate for prediction errors.
A few months ago, I tried building the Google WebRTC implementation, but got an error about missing Java libraries. I'm not sure why Java is needed to build a C++ API, even then, requiring Oracle Java 6 and not working with OpenJDK.
Ericsson's implementation, on the other hand, has a much simpler build process. Just run the shell script and it works.
If you're a game developer, you should look at this Floating Point Determinism article, which shows some additional techniques for implementing deterministic physics with floating point.
http://gafferongames.com/networking-for-game-programmers/flo...
Even for short-lived games, if you want to implement a replay system, you need your physics to be deterministic.
I would switch to Stripe if they offered micro-payment pricing like PayPal's 5c + 5%.
I've used submodules before to separate game assets and it just ended up being more trouble than it's worth. The problem is that it separates the history between your two repositories so it takes more time to figure out which asset commit relates to which code commit. In the end, we just merged everything back into one repository.
Q. Can asm.js serve as a VM for managed languages, like the JVM or CLR? A. Right now, asm.js has no direct access to garbage-collected data; an asm.js program can only interact indirectly with external data via numeric handles. In future versions we intend to introduce garbage collection and structured data based on the ES6 structured binary data API, which will make asm.js an even better target for managed languages. [1]
This is just a temporary limitation of asm.js because it has no access to garbage-collected data. In the future it should have support for managed languages.