HNHacker News
TopNewBestAskShowJobs

jashmenn

4,848 karma · joined November 17, 2009

submissionscomments
jashmenn··on The Post-YC Slump
I think it's super interesting to hear that they're developing software to automate traction updates. It would be so cool to be able to "gem install yc" into your Rails app (or whatever) and then have hooks that will automatically keep them abreast of user growth and engagement.

It provides really interesting opportunities for them to be proactive about giving help at the right time. For instance, they'll be able to setup rules for notifications e.g. when you're having a slowing rate of growth, or to send congratulations when you've had a strong month etc.

I imagine one of the problems in investing in so many companies is that you aren't always aware of problems before it's too late. By using software to collect metrics about their portfolio companies, they can systematize how to become aware of and help out companies where they can make a difference.

jashmenn··on Ng-book 2 is out
ng-book 1 is a little of both reference and guide. angular 1 is tricky in that there are several "tripods" of knowledge (ie three concepts that all depend on each other before you can understand the others).

That said, I'm sure we can do a better job at explaining many of the concepts. Ng-book 1 has an update in progress as we speak and I'd love to improve the section(s) you're referring to with more of a guide?

Would you be willing to let me know which part(s) you'd like to be clearer (either here or via email)? My email is in my profile and I'd love to chat.

jashmenn··on Ng-book 2 is out
I will admit that there have been times this last year that we haven't responded as quickly as we'd like to all our support requests. For ng-book 2 there are four co-authors and we've put processes in place to respond more quickly this time around.

But your concerns around teaching order are totally valid. With ng-book 2 we've taken a code-first approach. We're starting with smaller chunks of concepts and building up the theory from there. Every example comes with complete running code separate from the book. So it will be a lot easier to see how everything fits together. I'd love to get your feedback on what we have so far, if you're up for it. My email is in my profile.

jashmenn··on Ng-book 2 is out
It's an ebook primarily, though we'll publish a paper version once the first edition is done. We keep our Ebooks up to date. For instance, ng-book one has been updated over 30 times in the last two years. We plan to do the same with ng book 2.

I don't know if you've tried to use Angular 2 yet, but the API is still in flux so there are a lot of blog posts that don't work anymore. The examples and sample code in our book, though it's still early, they all work. Email me us@fullstack.io and I'd be glad to give you a free copy to try it out.

jashmenn··on Ng-book 2 is out
Nate, co-author here.

Sorry you had a bad experience with our book. We've definitely made some improvements to the early chapters in the last few months (the book has been updated over 30 times and it's over 600 pages long).

We did use leanpub in the beginning and we did switch to gumroad. But the switch was because gumroad was a better fit for us, not to hide negative reviews. For instance, you can still read tons of reviews of our book on Amazon.

I'd love to hear more of your ideas on how we can make the early chapters better. Also, I'd like to give you a refund since you're not happy with the book. Email me at us@fullstack.io and I'd love to chat.

jashmenn··on “Eeny, meeny, miny, mo” and the ambiguous history of counting-out rhymes
I love this idea that the essence of these poems are in the rhythm, vocalizations, and play and not in the specific words themselves.

When I was small, my parents would tell me a toe-counting rhyme, which I knew as "icky-pee, penny lou". I wanted to learn what the "real" words were and found this page [1]. In the comments there are dozens of variations on this same poem and none use the same phrasing we did.

Oral traditions seem to have a way of distilling information to essences over time vs. bit-wise copies.

[1]: http://www.mamalisa.com/blog/the-origins-of-some-scandinavia...

jashmenn··on VCs bet on ‘indoor farming,’ lasers that monitor crops and Soylent drinks
Another Ag founder here and this is totally true. There's a lot of groundwork to lay before we can start applying state of the art algorithms to ag.

For example, a few months ago my co-founders and I built a computer vision system that could count fruit (predicting yield is important because produce spoils quickly). The growers we've shared it with love it but most don't have the infrastructure to use the data in their operations. It's hard to respond quickly when everyone is emailing spreadsheets.

Adoption of tech in ag has been slow, in part, because farmers are already very good at their jobs. Many of them have been working the same crop on the same land for decades so there has been some skepticism about what new information can be learned from "just another sensor."

But change is in the air. The water is running out, there's a huge labor shortage, and every farm employee now has a smartphone.

If we can spend the next year or two getting farm operational data online then there is a huge amount of value that can be unlocked with even relatively simple algorithms (not to mention deep learning etc.)

In fact, we don't really have any other choice. Software can bring in the next green revolution and that makes this a really exciting time.

jashmenn··on A Path to Full-time Open Source
I've always thought that there should be a "Patreon" [1] for open source. Companies would commit to paying monthly to an author in exchange for some sort of reward system like getting the bugs they prioritize fixed.

I once worked for a large Fortune 500 that had several well-known programmers who's entire job was to be core-contributors to a popular ruby web framework. They were well paid and had very little oversight.

But given the popularity of this framework, it always seemed a little weird to me to have a single company funding the development. It's also a little risky for the community at large because corporate strategy shifts and an open-source project that was important yesterday may not be important today.

(cf. Evan Phoenix / Rubinius / EY - http://en.wikipedia.org/wiki/Rubinius, Charles Nutter / JRuby / Sun - http://en.wikipedia.org/wiki/JRuby and countless others.)

It seems to me that, in theory, we ought to have a platform for monthly payments to open source developers that maintain projects we use in production.

[1] https://www.patreon.com/

jashmenn··on Show HN: OneBody Church Directory software I've been hacking on for 7 years
Yes! I completely agree that there is some improvement possible here. There is a sense in which social networks in general have greatly helped the fund-raising process for missionaries.

I don't mean to seem unscrupulous, but the process of raising money for a missionary is not unlike what is done by a sales rep or a realtor: you have to keep yourself at the top of people's minds or the money dries up.

In that regard, software like facebook and even contactually are invaluable.

But, it seems to me, there's even more work to be done around custom platforms.

That said, how are you going to make money? Take 30% off the top? 10%? People (rightly) want to make their money go as directly as possible and so often won't even pay by credit card because you lose 3% in fees.

These platforms do cost money to run and not every church has someone on staff qualified to host an open-source solution. So if someone doesn't create hosted services that are financially viable, everyone loses out.

I also know several genuinely good people who desire to go to seminary but simply aren't able to take 3 years off of work (because they have families etc.). Of course you always have the risk of folks taking advantage of the system, but in the success / genuine / majority case, I feel that a kickstarter for people who want to do domestic ministry is a real need right now.

If anyone is interested in working on (and working through) these kinds of problems, drop me a line. My email is in my profile.

jashmenn··on Show HN: OneBody Church Directory software I've been hacking on for 7 years
Our church also uses The City and I'd say it's fine but not great. There's a lot of room for another startup in this space - I've considered it more than once.

The problem for me, on a personal level, is that it's very hard to mix business and the church. On the one hand, the technology used in the church generally lags far behind what is available and there are real benefits to the church body by having tailored technology.

On the other hand, sometimes the new tech doesn't fit for cultural reasons. For example, it still feels unsavory to, say, pass a square credit card reader along with the offering plate.

Additionally, one has to be careful not to be in it merely for the money (which becomes harder as the organization scales). At the entrepreneur you're torn between fiduciary duty to your organization/employees/investors and the (greater) responsibility to God and his church.

It's really hard to keep that balance. Jesus did turn over the tables of the money changers, after all.

In an ideal world your employees/investors are aligned with your vision but in practice, it can get really cloudy. (And we haven't even talked about if you're willing to sell to other denominations yet which, presumably, are using your software as tool to spread an ideology you explicitly believe to be false.)

One model I think could work is for software engineers to found a non-profit and essentially raise funding/customer commitments from larger churches in order to build the software that they'll eventually use.

That said, it's hard enough to find engineers who are "good" in the industry at large, much less when you add in the qualification that they have to be so deeply ideologically in agreement with your vision.

jashmenn··on The largest and most effective bicycle registry ever
What prevents someone from registering someone else's bike and then claiming it was stolen from them?

I suppose one way would be to require a photo of the bike and only consider photos of a bike without a lock to be valid.

jashmenn··on For Sale: 29,656.51306529 Bitcoins
It's plausible that folks who are interested and able to buy these coins have a position in BTC. They may be selling BTC in order to have the cash to purchase the Silk Road blocks. This has the duel effect of driving the price down, which makes the "list" price (i.e. the exchange rate) of the SR blocks lower which, in turn, may make the competing bids lower.
jashmenn··on Flappy Bird in Swift
I'm terrible at flappy bird - I can /sometimes/ get through the first pipe. Rarely.

I didn't build the collision detection yet just b/c I actually think it's more fun to play this way.

That said, we'll add it before too long.

jashmenn··on Flappy Bird in Swift
This is awesome and I didn't know this. Thanks for posting it - I don't have much swift experience so I assume there are several things in the code that will be shown to be non-standard.
jashmenn··on Flappy Bird in Swift
Part of the reason it looks like that is because I don't really know swift all that well. One of the great things we have in Swift is more functional features like closures, named functions, etc. I expect we'll see a lot of higher-order functions being used and that would clean it up a lot.
jashmenn··on Flappy Bird in Swift
Author here - I didn't expect to see this here this morning. I'd intended to write a longer post :)

In any case, here's a few things I learned about swift yesterday building this. Please note that I have about 4 hours swift experience, so feel free to correct anything I say that's wrong.

1. To make properties on a class you simply declare the variable on the class e.g.:

    class GameScene: SKScene { 
      var bird = SKSpriteNode()
      // ...
    }
2. The APIs generally have shorter names and it's really nice. E.g.

    SKTexture* birdTexture1 = [SKTexture textureWithImageNamed:@"Bird1"];

becomes

    var birdTexture1 = SKTexture(imageNamed: "Bird1")

If I understand it correctly, any overloading `inits` basically look like calling the constructor on the class, whereas any class functions will be called like this:

    var flap = SKAction.repeatActionForever(animation)

3. You can put inline blocks and it's great

    var spawn = SKAction.runBlock({() in self.spawnPipes()})

4. The typing is really strong - this takes some getting used to. For instance, `arc4random()` returns a 32 bit unsigned integer. This means before you can use any operators on it you have to make sure you're using compatible types. e.g.

    var quarter = UInt32( self.frame.size.height / 4 )
    var y = arc4random() % quarter + quarter;
If we didn't use `UInt32` to convert `quarter` we'd get an error. After you get the hang of this, it's actually really nice.

5. I use `var` everywhere and I'm pretty sure I should be using `let` a lot more. I haven't worked with Swift enough to have a strong intuition about when to use either.

I should also mention that my code is just converted from Matthias Gall's code [1].

I also want to put in a shameless plug that the point of making this was to advertise the "Making Games with Swift" class that auser and I are building. If you're interested, put in your email here: https://fullstackedu.com

I intend to redo this more fully with Playgrounds. I've been looking for a way to teach kids programming for a while now (if you recall, auser and I built Choc [2] a few months back). I think Playgrounds in Swift are finally the tool we've been waiting for.

[1] http://digitalbreed.com/2014/how-to-build-a-game-like-flappy...

[2] http://www.fullstack.io/choc/

EDIT: added choc

jashmenn··on Ask HN: Is UML still relevant today?
If you learn only one diagram from UML, take the time to understand and use Sequence Diagrams [1].

Being able to break down an interaction into a sequence diagram (especially between 2 or 3 servers) is a powerful thought tool for specifying interactions and its easy for people to understand.

[1] http://en.wikipedia.org/wiki/Sequence_diagram

jashmenn··on Elm's Time-Traveling Debugger
If you're interested in this sort of code editing with live feedback of results, checkout Choc http://www.fullstack.io/choc/ - a project we worked on earlier this year.

You can use vanilla javascript, step through the execution of each line of code, get a human readable description of what the line is doing, scrub constants, etc.

There's even a minecraft-like demo building a tower in voxel.js.

jashmenn··on When Carl Icahn Ran a Company: The Story of TWA
Can someone explain to me the significance of the animosity between Carl Icahn and pmarca? There are half a dozen posts on pmarca's blog discussing how Icahn is making claims against Andreessen. I understand these claims, but I don't understand their significance.

I deeply respect pmarca but I can imagine that he, like any high visibility person, has many detractors. What power does Carl Icahn have that warrants such a strong response?

jashmenn··on To Persuade People, Tell Them a Story
> I read a bunch of books on storytelling and distilled their essence into a few parts

Care to share which books you read on storytelling? I'd love to read them.

jashmenn··on How I hacked my room hunt in SF
I can imagine an unethical candidate reposting a duplicate job (or several copies) and then replying "sorry, no thanks" to the competition.

This introduces an interesting dynamic: how can you verify that a post you're replying to is genuine?

jashmenn··on Procrastination should be solved by lighting fires, not filling buckets
Interesting. For setting up a "random" trigger you could:

- You could use the RSS trigger and pick a feed which is relatively random. E.g. Reddit front page post matching "cats".

- You could use the NY Times trigger to search for a common news term e.g. "obama"

- You could use soundcloud to trigger on "new public track by someone you follow"

- If you wanted to go crazy, you could get a wemo motion and point it out your window

jashmenn··on Spaced repetition for study and learning
Any interest in sharing these decks? I'd love to use them.
jashmenn··on Choc: Bret Victor's 'Learnable Programming' implemented in Javascript
@idProQuo - Aaron (nullz) is awesome and I'll definitely help you both get this running. I'd love to get some feedback on how to make it more usable. Maybe we could fork http://cljsfiddle.net/ and make chocfiddle?
jashmenn··on Choc: Bret Victor's 'Learnable Programming' implemented in Javascript
Sorry, is that link supposed to be HTTP?
jashmenn··on Choc: Bret Victor's 'Learnable Programming' implemented in Javascript
Agreed - this version uses CodeMirror as the editor, but the core of Choc is editor agnostic. Choc isn't really "enabled" when you're editing code, so any plugins that provide browser autocompletion would work. (CodeMirror or otherwise)
jashmenn··on Choc: Bret Victor's 'Learnable Programming' implemented in Javascript
Thanks - Conception is really cool BTW
jashmenn··on Choc: Bret Victor's 'Learnable Programming' implemented in Javascript
I love Khan Academy and the CS platform in particular. I think it would be amazing if it was possible to put Choc, or a tool like it, on some of the KA lessons. Being able to step through time (or view all of time in the case of animation) and inspect values are both really useful features for helping folks learn to think procedurally. I find that learning to think procedurally is often harder than learning the syntax.
jashmenn··on Choc: Bret Victor's 'Learnable Programming' implemented in Javascript
I totally agree. In fact, I might even go further to say that this is really for anyone to think new thoughts regardless of age. Here's what I mean:

I've been programming for over a decade and the first time I read the code for the bouncing ball example I had basically no idea what it meant. I could sort of tell that there was something drawing circles but that was about it.

By dragging the constants around and seeing every frame change (across time, not just a single frame) you're able to get an intuition about what each line of code is doing.

I'm not a child nor a beginning programmer and using this tool was super useful for me to gain insight on how it works.

jashmenn··on Choc: Bret Victor's 'Learnable Programming' implemented in Javascript
You're right - it is a bit sluggish. That's something we have to work on. We also need to fix the double negative issue.

That said, you should be able to type in a value yourself. The code is completely editable.

← PreviousPage 4 of 8Next →