HNHacker News
TopNewBestAskShowJobs

rzimmerman

2,077 karma · joined October 28, 2012

submissionscomments
rzimmerman··on Why Google Stores Billions of Lines of Code in a Single Repository
Thanks! How on Earth did you figure that out?
rzimmerman··on India launches 20 satellites in single mission
Some more detail about the payloads:

http://spaceflightnow.com/2016/06/22/pslv-c34/

This launch includes 12 Earth imaging satellites from Planet (https://www.planet.com/pulse/flock-2p-launches-successfully-...) and a second generation satellite from Google's Terra Bella.

rzimmerman··on Docker for Mac Beta Review
I've been using the Mac Beta for a few weeks and I can also say it's great. Install is easy and it just works. It's such a relief being able to do dev work directly on my machine without docker-machine/VirtualBox. I've been hitting it with a variety of Ubuntu-based containers without any issues.
rzimmerman··on Get Definitive Skytruth with Esoterra
Those are some big weather balloons...
rzimmerman··on April Fool's day links
Planet Labs has released "Esoterra": https://www.planet.com/pulse/esoterra/

With some interesting images of Area 51, among other things: https://www.planet.com/gallery/groom-lake-april1/

rzimmerman··on I've Just Liberated My Modules
npm really shouldn't let authors unpublish. It should definitely be impossible to overwrite a published package version (it is, but only for the past year or so).

When you install express, you install 40 dependencies. Each of these has separate maintainer(s) and coordination is optional. If we're going to allow this dependency mess to grow organically, npm needs to be strict about what gets published and we need to be really careful about depending on anything but a strongly pinned version.

rzimmerman··on Mr. Fart’s Favorite Colors
It is really surprising the amount of paranoia and thought that goes into software security compared to pretty much everything else. A driver's license is mostly a laminated piece of paper with some holograms. Social security numbers are 9 digit passwords you share over and over again that can't really be changed.

I was recently asked to sign a receipt at a store when I'd used Apple Pay. My phone uses a fingerprint reader to authorize a one-time-use token for payment that's transmitted in a cryptographically secure way. But that signature - that's the real unfakeable proof.

rzimmerman··on Lang: Python module for enforcing programming language constraints
I agree - enforcing some of these best practices as a lint step would be more useful than crashing at run time. The benefit of these features in Java/C++ is that they catch problems at compile time.
rzimmerman··on SpaceX – Launch Vehicle Failure
Their COO mentioned in the press conference (just a few minutes ago) that they did receive telemetry from Dragon after the event.
rzimmerman··on Python bug: Can assign [] = (), but not () = []
That could be because sets aren't ordered (even though it looks odd in this context).
rzimmerman··on Why I am called "the Father of Visual Basic" (1996)
Also:

- asynchronous/event-based programming

- importing C/native code from a DLL is trivial

- fantastic documentation (so good you don't need the Internet)

If you want a button that does something, you literally draw the button on your form, double click it, and write the code for that event. I agree - one day we'll catch up.

Also VB6 autocomplete rocked.

rzimmerman··on A summary of ECMAScript 6 features
I think:

    app.get('/thing', function (req, res) {
      try {
        await user = db.get({user: req.user});
        res.send({user:user});
      } catch {
        res.send(400);
      }
    });
beats the hell out of:

    app.get('/thing', function (req, res) {
      db.get({user: req.user}, function (err, user) {
        if (err) return res.send(400);
        res.send({user:user});
      });
    });
especially when you have conditionals or loops that can look like:

    if (user.name == 'abc') {
      resp = 5;
    } else {
      await resp = db.get_resp({user:user});
    }
    await db.save(something);
I suppose it doesn't get rid of callbacks, just makes them readable.
rzimmerman··on A summary of ECMAScript 6 features

    let fibonacci = {
      [Symbol.iterator]() {
        let pre = 0, cur = 1;
        return {
          next() {
            [pre, cur] = [cur, pre + cur];
            return { done: false, value: cur }
          }
        }
      }
    }
    
    for (var n of fibonacci) {
      // truncate the sequence at 1000
      if (n > 1000)
        break;
      print(n);
    }
I love how the only comment is explaining what "if (n > 1000) break;" does
rzimmerman··on A summary of ECMAScript 6 features
Generators in Python are a very useful feature (lazy sequences, like you said), so maybe I spoke to soon. However, I don't think people should be lauding this feature as some kind of solution to callback hell.

I just feel like priority-wise, users would benefit most from modules (which made it), async/await, maybe class syntactic sugar, then everything else.

rzimmerman··on A summary of ECMAScript 6 features
A lot of these features look great, and some of them are even useful. I think it's a shame that async/await has to wait for ES7. It would really give some direction to the node community and give JS an edge for async programming. Generators just look like another awkward attempt to avoid callbacks by jumping through different hoops.
rzimmerman··on My Amazon S3 Mistake
I use git commit -p for the same reason.
rzimmerman··on Payloads
I always forget how giant the Saturn V was.

Also I appreciate Atlas-Centaur being one centaur.

rzimmerman··on Why Won’t America Go Metric?
This article claims Americans initially rejected the metric system because it was "too French", which is an inaccurate exaggeration.

Before the metric system was created, the US, which had recently won independence, was put in the position of selecting a standard system of weights and measures. Jefferson suggested a decimal system based off the seconds pendulum at 45° latitude. He did this in coordination with scientists in France with the direct goal of achieving a universal standard. Before congress could adopt this system, the French modified their standard:

Although French scientists working on a decimal system had originally supported using the seconds pendulum as a scientific basis, and Jefferson had deliberately matched his seconds pendulum proposal to the French one, based on a measurement at the latitude of Paris, the French decided to use the length of a meridian of the Earth instead of a seconds pendulum. This and other developments changed what had promised to be an internationally developed system into a strictly French project. Jefferson wrote, "The element of measure adopted by the National Assembly excludes, ipso facto, every nation on earth from a communion of measurement with them."

http://en.wikipedia.org/wiki/Plan_for_Establishing_Uniformit...

As a result the US wound up passing on Jefferson's system and eventually settling on US "customary" units.

The real benefit of adopting the metric system is to have a consistent, widespread system of units. The United States has had this for over 200 years and most sectors of the economy have been isolated enough from Europe and the rest of the world where adopting metric has not been worth it. Industries that are increasingly global (automotive, electronics, etc) have already effectively adopted metric.

rzimmerman··on The Future of Space Launch Is Near
At least for Falcon, I imagine radiation-hardened components probably aren't much of a gain. A rocket's operational lifetime is on the order of an hour. Triple- or 5-redundant computers are really effective for shorter missions like this because loss of one computer (due to radiation damage) doesn't have a long-term impact like it would on a deep space mission. At least that's my guess.
rzimmerman··on PostgreSQL vs. MS SQL
I hit the one about how MS SQL Server doesn't run on Linux and had a similar reaction.
rzimmerman··on Generators in Firefox now 22 times faster
I strongly agree. What would help most JS programmers (especially in node) would be to leverage the great asynchronous features in JavaScript and eliminate the nested function pyramid of doom. Callbacks and nested functions work great until you have conditionals or want to use try/catch blocks in a reasonable way. Promises are a viable solution but I've never really been a fan (it just feels weird).

This was the rationale behind Kal (https://github.com/rzimmerman/kal/), which effectively provides "await" (called "wait for") in ES5.

rzimmerman··on What's New in C# 6.0 [video]
It is really nice to see good ideas percolate in from other places. I like the focus on making syntax cleaner and less boilerplate without being overly terse.
rzimmerman··on Humans are not constraint solvers
Autolayout is definitely planned out better than the jumble of thoughts and improvements that has become CSS. Personally, my biggest issue was the learning curve, like you said. Trying to do very simple layouts (that were trivial on older versions of iOS/XCode) required a lot of reading through documentation just to get started. And a lot of fighting with strange errors I hadn't seen before. I imagine that as the XCode constraints/layout UI continues to improve this will be less of an issue.
rzimmerman··on Humans are not constraint solvers
I never could get onboard with constraint based layouts. It feels like someone got a little too clever and really over-solved a problem. Realistically, you want your content to look decent on small screens (phones), medium sized screens (tablets), and fill larger ones (everything else). In the case of iOS dev you really have 3-4 specific targets. CSS media queries (or 2-3 nibs with boxes and springs) solve this problem adequately. Trying to create a system of linear inequalities that guarantees perfection on every possible resolution is just asking for mistakes and headaches. I agree with the author that most of the "power" lays in a space of things you really don't want to touch.
rzimmerman··on Why India's Mars mission is so cheap – and thrilling
In the MRO image it's hard to see, but I'm pretty sure they are wearing thin white gloves (probably nitrile).

The ESA picture says its from a thermal and mass model, and the guy in question is hovering over a test fixture.

I can't say much about the ISRO video. I hope it's just press footage of something that isn't the actual flight unit. That would be pretty reasonable. Later in the video you can see the techs wearing gloves pulling the vehicle off a moment of inertia test. It's encouraging, but the fact that they're wearing hair nets while half the guys have giant, uncovered beards is not.

With Curiosity, NASA even went so far as to aim the initial trajectory to miss Mars. This was out of fear that the upper stage of the rocket, which did not have the same amount of contamination control, would collide with the planet.

MOM's orbit is fairly eccentric, so it's not likely to collide with Mars any time soon. I think we have a lot of time to study Mars before we worry about any potential contamination.

rzimmerman··on Planet Labs makes small, cheap satellites to take high-res pictures of the earth
There's a pretty cool gallery of images here, including a recent one of the Grand Canyon:

https://www.planet.com/gallery/

This one showing recent changes in reservoir levels is pretty neat:

https://www.planet.com/gallery/represa-de-tres-marias/

rzimmerman··on [dead]
Honestly, this isn't a bug. Auto increment fields make no guarantees about skipping numbers, just that they increase monotonically. Code that relies on an increment of 1 is broken. Also, there's a command line argument to make it work.
rzimmerman··on Ask HN: MacBook Air for Web Development?
You'll want iTerm2 (free) as well as a good editor (I use SublimeText).
rzimmerman··on GPS and Relativity
GPS receivers also have to correct for things like light traveling slower through plasma in the ionosphere. Receivers on the ground actually solve for their positions in 4 dimensions (they need to solve for time!). GPS is so cool.
rzimmerman··on Unix Tricks
Ctrl-R is by far the most useful one for me.
← PreviousPage 8 of 10Next →