HN user

gavinpc

1,361 karma

http://gavinpc.com

https://willshake.net

http://gavinpc.com/project_willshake.pdf

Posts1
Comments459
View on HN

If you want to play with this data, it's available in various formats [1]

I happened to use this last week because we needed test data for a community tree in an app we're building. There are nine communities, and we needed test cases with 0, 1, and many subcommunities. This not only provided ready test cases, but the team is learning celestial facts while working on the feature!

[1] https://devstronomy.com/#/datasets

make it good

Are you arguing that Firefox is not even "good," or just not perfect?

(I use Firefox on a Mac all day and the only kind of "resource hunger" I've observed can be pinned to the web pages that it's running.)

Have you tried Tup? http://gittup.org/tup/

I used it on a project with many thousands of files and hundreds of (mostly dynamic) build rules. This was a literate program, and most build steps required the extraction of code from the source docs --- including build rules themselves --- and I still maintained sub-second updates.

I think Joe would have loved it.

RunJS 8 years ago

This kind of as-you-type evaluator is extremely valuable to me. I've written a few tools to support this in emacs, and I use the JS one all the time.[0]

I also wrote one for Graphviz (which outputs to an SVG buffer), and sometimes I'll put the output from the JS playground in `play-graphviz` mode so I can see real-time graph output from JS (by writing code to print dot graphs). ATM I don't know any other tools that can do that sort of thing, let alone compose independent ones to that end. Long live Emacs!

[0] https://bitbucket.org/gavinpc/play-modes/src/default/js-play... (There is an odd bug in OSX where the first character of the input is eaten, so I always begin these "playgrounds" with "/// playing with <whatever>". There are some other oddities which I should document.)

At least "Bomb" would be short. "Full Metal Jacket" is a dreadful name in every sense, worsened only by the author's cringeworthy backstory. To paraphrase the parent, it reeks of immaturity.

I "wouldn't hold that against" the tool if it had technical merit.

Yes, that was my fault, I overlooked "result," and I also appreciate the clarification.

I think the point remains that, while this is not a breaking change from a contractual viewpoint, most type systems would deem it incompatible.

When have you ever had to unnecessarily break API compatibility because something you thought was an Option[T] result turned out to be really a T, always?

That would be a breaking change. And should be, if you're into that sort of thing.

The objection is to the opposite case: What was a T is now an Option[T]. I don't know Scala specifically, but that's a breaking change in every typechecked language I know. Rich is arguing that it shouldn't be. But it could be possible even in typed languages through union types. For example, you can do this in TypeScript by changing T to T | undefined, which is a superset of T.

It is kind of heartbreaking.

But, although my current manager is excellent at supporting his team and would never think such a thing, let alone say it, the truth is that, unless you're a professional researcher, you really do have to do the hammock-driven thing on your own time, either by working it into your routine or by taking a long sabbatical (as Rich did). It's something I struggle with, even at a very good workplace.

"Nothing is more precious" than the chance to think through a problem over a long term, and as things stand, the best tool for thinking is still the mind, not the keyboard. I can see how that takes a leap of faith when your chief deliverable is code.

Anyway, maybe a better introduction for your typical manager is,

The most expensive problems are problems of misconception.

It takes one to know one. (Or so I would like to think.)

Rich's writing, presentations, and example of overall conceptual discipline and maturity have helped me focus on the essentials in ways that I could not overstate. I'm glad (but not surprised) to see so much appreciation for him around here, even among non-Clojurists (like myself).

At the risk of fanboyism, I am constantly referencing his ideas* to my team, and I give them my blessing to watch any of his talks as soon as they come out.

* That is, the old but sometimes obscure ideas whose importance he's brought to his audience.

Same (from my uncle, who then worked at Martin Marietta on the shuttle tankers).

While I enjoyed reading through them and learned a number of concepts, his books helped demonstrate that I was not going to become an electrical engineer. I just didn't know what to do with it. Whereas, I was exposed to programming books at the same time (starting with David A. Lien) and was like a fish in water.

Also, RIP Radio Shack, though it was really a slow death by degrees.

I ported a FoxPro app to VFP in 2012. I had worked on the original one in DOS and ported it to FP for Windows around '96-97, so I knew the IDE's pretty well. But by that point I couldn't stand anything but Emacs. So I got xbase-mode (and patched it a bit), and just automated the project build.

There was 100+ screens so I had to do some bulk processing on those SPR's. But I used WebViews for any new stuff, and that was much better (though it was basically IE7).

Yeah I owe Rick Strahl so many beers for his blog.

http://www.budgetbuilder.com/

Second time this has come up this morning. https://news.ycombinator.com/item?id=18635799

You know, I also got my (official) start in an xBASE language (FoxPro), and while I am obsessed with the history of inventors like Englebart and his successors, those xBASE environments had more going for them than I tend to remember.

"Ordinary" people could use those tools to make useful things. We seem to have gone backwards from there.

What was different about those systems?

They were integrated usage environments. Batteries included. In FoxPro, you got:

    - built-in database
    - built-in documentation
    - built-in UI for editing data
    - built-in UI for editing schema
    - windowed environment (even in DOS)
    - oh yeah and a scripting language
This was first and foremost a usable environment immediately. "Development" was an advanced usage.

Emacs is this way. Smalltalk is this way. What they get is that programming languages are useless by themselves.

Contrast with now: the apps we build involve wiring together a database from here, a compiler from there, just figuring out how you're going to make pieces communicate and finally, you know, get something on the screen. Sure, there's an upside to composing systems a la carte. But the learning curve is far more prohibitive.

(Also, those xBASE systems just will not die. Just this morning I got an email question about a system that's been in service for 25 years now. How many of today's apps do you think will still be used (indeed, sold!) in 2043?)

A fine article, but since the author singles out NPR and Wikipedia, I would just like to say a word in their defense. And then some other words.

Thank God for Wikipedia, it is a miracle. Long may it stay antifragile!

And long may NPR use its supporters' money to produce consistently archive-worthy content!

Donations to Wikimedia foundation or your location public radio station make great "solstice" gifts, if you're into that sort of thing.

So yeah, I just turned this comment into an ad, because let's not throw out the baby...

And yes, I'm old enough to remember the "good old days." There is every bit as much signal now. And every bit as much more noise.

And yes, Google's hegemony is a threat to the capital-I Internet's antifragility. (I just got Taleb's book, can you tell?) Guess who powers the analytics for crawshaw.io? It's all of a piece, people. Walk the talk.

And yes, I have a little Shakespeare site that's "better" than the top-ranked ones in many ways, but I accept that if I wanted those top spots---like any other top spots---I would have to sweat and hustle and fight for them. I don't, and no contrarian anti-Google is going to hand them to me.

I'm all for the better thing. Blue sky, every day! Step away from the machine! But c'mon, it's 2018, let's not dis NPR and Wikipedia! We're fighting the good fight!

EDIT Also, to eksemplar's point that "The blog article about rejected Disney princesses is likely the most interesting piece anyone of us read on the internet today." I picked this piece at random and it was so amazing. I emailed it to my wife who's an artist. Man. Thanks for that alone, ye OP!

https://www.rejectedprincesses.com/princesses/sarah-biffin

Or be from MIT? Not sure which debate you saw, but I recently watched an Intelligence Squared about "the promise of AI" in which he made a similar argument, along with many others. His team jumped 29% percent audience agreement in the post-poll.

I don't know how many in the audience would know the reference, but the fact that he worked directly with Minsky made it a pretty lopsided debate, in terms of credentials.

Your point is clear... but as to the example, unless I'm misunderstanding your notation, the premise is that

    2 = (p/q)^2
which is not the same as
    2 = p^2/q^2
as you have in (2).

I spent a lot of time with Gutenberg epubs in a former life, and I found that their quality was far better than most other digitizers with comparable scale. However, the tables of contents were extremely inconsistent and I had to essentially rewrite them to get anything like a usable outline.

SE looks interesting. I don't have an epub reader handy but I will definitely be back to understand the motivation (knowing it's a lot of work to do this sort of thing).

I'm surprised no one (including the OP) has mentioned "American Tune," which I thought was lifted from a Bach piece but which it turns out Bach himself lifted:

The tune is based on a melody line from a chorale from Johann Sebastian Bach's St Matthew Passion, itself a reworking of an earlier secular song, "Mein G'müt ist mir verwirret," composed by Hans Leo Hassler.[3] The melody used for "American Tune" can be heard quite distinctly in part 1, number 21 and number 23 and in part 2, number 54. The melody to "American Tune" is practically identical to that of "Mein G'müt ist mir verwirret" and "O Sacred Head, Now Wounded," although Simon expanded on the tune. [0]

Knowing that, the wit of the title starts to rival the mastery of the song.

On the other side, I remember a drum video in which Carter Beauford of Dave Matthews Band shows how the drum groove from "#41" (or some early song of theirs) was taken directly from "50 ways to leave your lover." IIRC the segment where he shows how to play it is captioned "50 ways groove," not "#41 groove." Of course, that probably came from one of Simon's session drummers (not himself), but who cares. Art can much much more ruthless than that, and rightly so.

[0] https://en.wikipedia.org/wiki/American_Tune

I love Tup, and have used it in production builds. It is the optimal solution for the problem that it solves, viz, a deterministic file-based build describable with static rules. To start using it, you probably have to "clean up" your existing build.

I don't use it anymore, for several reasons. One is that it would be too off-the-wall for my current work environment. The deeper reason is that it demands a very static view of the world. What I really want is not fast incremental builds, but a live programming environment. We're building custom tooling for that (using tsserver), and it's been very interesting. It's challenging, but one tradeoff is that you don't really care how long a build takes, incremental or otherwise.