Hacker News .hnnew | past | comments | ask | show | jobs | submit | maercsrats's commentslogin

Fuck'em. It was a dick move given all the opportunities he got in this country. I prefer rich people more like this: http://www.thedailybeast.com/articles/2012/04/30/stephen-kin...


In reference to your first paragraph, that's all your opinion. You are completely entitled to it and I respect it. My opinion is that this looks awesome and I really want to try it out. Especially since I know Ruby (and C) but I don't know any Obj-C.

As for your second paragraph, you can say that about any '-ists'. I've met java, python and .Net people who all love their respective languages and just want to code in that. To me, Rubyists aren't better or worse in that respect.


Especially since I know Ruby (and C) but I don't know any Obj-C.

Interestingly, from my point of view, Obj-C made perfect sense to me when I realized that it was basically Ruby with C syntax. Given the heritage of Ruby and Obj-C, they come out as very similar languages, so I found it a breeze to pick up the other.

The hard part was learning the Cocoa (Touch) frameworks, but I'm not sure a Ruby API would have made that any easier. It's simply a massive amount of information to take in all at once.


I think you'll find the difference between working with Cocoa APIs in Obj-C vs Ruby is that it's much easier in Ruby to turn what you've learned into a simple, boiled-down, easier to digest set of helper methods/objects/modules.

For example, in using the RubyMotion beta, after I understood the UIView animation flow, I created a helper method using "yield" to do the actual animation. If I were working in Obj-C, it would've been a lot more work to do the equivalent (and I probably would've just copy-pasted existing code around instead).


Isn't that really the difference between something like:

    def animate
      UIView.begin_animation  
      yield  
      UIView.commit_animation
    end

    animate do
      # Do something
    end
and:

    void animate(void (^block)(void))
    {
        [UIView beginAnimation];
        block();
        [UIView commitAnimation];
    }

    animate(^ {
        // Do something
    });
Which to my eye are pretty much exactly the same. In fact, UIView already provides a similar method built into the API.

Anyway, I don't want to diminish what you've accomplished. It's an awesome achievement regardless of the language you choose.


In RubyMotion, you can do something like:

    def animate(*args)
      UIView.begin_animation
      yield(*args)
      UIView.commit_animation
    end

    animate(myButton, &buttonAnimateBlockFromSomewhereElse)
    animate(myView, myOtherView, &genericAnimateBlockFromSomewhereElseWithTwoArgs)
    animate do
      # Do something locally ignoring args
    end
And, yes, you can do the same thing with Obj-C and some creative casts...but it's nicer in RubyMotion! (ymmv)


You do it this way:

    [UIView animateWithDuration:1.0f
                         animations:^{
                             self.view.alpha=0.0f; 
                         }];
Not so hard.


But what if I want to have my animations in one object, and my elements to animate in another? Yes, you can have an Obj-C method return a block, but you're going to have to do some nasty casting if you want to be able to call those blocks with an arbitrary number of arguments. (That, or box everything up in an NSArray, which kinda sucks.)

I think I'll try and write up a demo app to explain what I mean...


Yes please do because you are making absolutely no sense whatsoever.

I think you are over thinking things.


He wants to be able to pass any Proc to his method, and any arguments supplied to the method are yielded onto target. A rough Objective-C equivalent would be something like this:

    void animate(void (^block)(va_list), ...)
    {
        va_list args;
        va_start(args, block);
        block(args);
        va_end(args);
    }

    void (^first)(va_list) = ^(va_list args) {
        NSLog(@"%@", va_arg(args, id));
    };

    void (^second)(va_list) = ^(va_list args) {
        NSLog(@"%@", va_arg(args, id));
        NSLog(@"%@", va_arg(args, id));
    };

    animate(first, @"Hello World");
    animate(second, @"Hello", [[NSNumber alloc] initWithInt:10]);
I would like to see the real-world code too. The frameworks in question revolve around Obj-C-isms, so to see something that completely deviates from those patterns will be interesting.


One of the weirdest, but oft repeated, "criticisms" I hear of Ruby is how much "weird punctuation" it uses. A groundless claim compared to most other languages, though, as this snippet illustrates.


> UIView already provides a similar method built into the API.

Yeah, it's actually much, much simpler to do it in Objective-C in this case.

    [UIView animateWithDuration:0.5f animations:^{
        // Do something
    }];


Its

UIView.animateWithDuration(0.5, animations:lambda { //do something })

in RubyMotion. Basically the same.


totally agree with you. just for your statement "I really want to try it out. Especially since I know Ruby (and C) but I don't know any Obj-C.": Would be interesting to really know what is the steeper/longer part of the learning curve: learning ObjC or learning the frameworks. To me, ObjC is a lean language (with an awful bracket syntax just like lisp) but learning the ins and outs of the frameworks is what took me the most time.


Yep - In times when ARC was not invented, memory management took some time to get used to (what with object ownership and such), but you can strike this from the list now. Another thing is that one has to get used to the ObjC way of doing stuff. E.g., Devs who are used to Java will make subclasses instead of categories, add comments instead of expressive method names, and make nil checks where they are not necessary. Or ask where all those open-source projects' unit tests have gone :)


Lies, damn lies and stats. "Apple sold 44% less iPhones last quarter" is technically correct. But last quarter saw around a 150% increase in sales because of pent up demand and the holiday quarter. If you compare this quarter from one a year ago you'll see that sales are actually up. http://www.macrumors.com/2012/04/24/iphone-activations-drop-...

Also, I call bullshit on the "razor thin margins" that carriers are making. They make plenty over the lifetime of the device contracts. Also, ask Sprint if it would like to get rid of it's iPhone deal. They are getting plenty of new subscribers thanks to the iPhone and are banking on making up their initial loss over time on their new contracts. http://www.networkworld.com/community/blog/analyst-who-downg...

The problem comes in on their aggressive upgrade policies. In fact, I believe Verizon just added a $30 fee for upgrades on 2 year contracts.

Apple's stock is down because the market is full of idiots. Analysts have bet against Apple for years and every quarter Apple has come up on top. I'll bet dollars to doughnuts that this quarter won't be any different and overall sales will be through the roof.


If you think it's that possible then why not contact your congress person/senator and have them look into this? In fact, talk to them about drafting a law against not being able to install software of your choosing on a machine you buy. Or, at the very least, a law for being able to take your data with you when you decide to leave a platform. This wouldn't help China, Iran, Syria, etc. but it would at least give US citizens some protections.

Personally, I'm not very afraid of option 3 ever going away but I also am ready with a FreeBSD VM instance.


I just moved to IN so I need to double check the school system here but I do know about the TN system. My knowledge will vary county to county but in general I think this is true. I also made a comment above but will reprint some of it here.

I'm sorry but, what the hell are you talking about? Many schools require students to have laptops in high school now. Teachers are constantly being told that then need to use more and more technology in their classrooms to better engage their students. If there aren't students who can afford machines then they are given one in class.

My mom is a 7th grade reading/writing teacher in a small (around 18K in the county) west-TN town. Her little school has an ipad cart. Every student does their writing (typing really) on an ipad. Both kids and teachers love it. The news today will probably thrill all of them.


I'm probably going to get downvoted for this but I'll say it anyway: there isn't a tablet market, there is only an ipad market. Apple want to make it easier to make books for ipads because: 1. that's what they sell and 2. that's what people are buying.

A quick aside, my mom is a 7th grade reading/writing teacher in a small (around 18K in the county) west-TN town. Her little school has an ipad cart. Every student does their writing (typing really) on an ipad. Both kids and teachers love it. The news today will probably thrill all of them.


Who cares though. That's like arguing over which paper stock is the most prevalent in the market today and then putting the manufacturer of that paper stock in the driver's seat of the publishing industry.

The iPad rules now.. but maybe net-books will make a miraculous comeback soon. Or maybe some other kind of device will take over.. flexible digital displays? Is there anything sooo complex about a textbook (even a digitally super-duper fancy one) that really can't be done on a platform that will adapt to any device? (aka the internet)


I would have been more inclined to agree until the Kindle Fire came out. That is starting to change things.


I don't have a Kindle Fire, but I imagine it isn't very useful for textbooks. Thinking back to my school days, textbooks were huge and closer to the size of an iPad than to a Fire. The Fire's screen is great for blocks of text, but it's way too small to clearly display charts and tables.


In landscape mode it should be able to fit a decent sized chart or table on screen.


Next to the relevant text section, as with a paper textbook?


No, but that would be tough on the current iPad as well, given the relatively low resolution compared to printed books.


I really don't think a chart/video next to some explanatory text would tax an iPad screen. News websites often use a similar layout and work fine.


>there isn't a tablet market, there is only an ipad market.

There is certainly a laptop market. It would make sense to make the books compatible with the devices students already have.


I think part of the problem is that rails isn't really RESTful. Here is a good talk about it: http://confreaks.net/videos/699-rubyconf2011-resources-for-r...

Dropping the rails router, controllers and rack in favor of something like webmachine and resources could potentially speed up rails and reduce the conceptual complexity as well as the stack depth.


I'm curious, have you looked at http://reneerb.com/? I contend as well that Rails is not well suited to REST. As it stands, I think Renee is about 2x faster than Sinatra.


Interesting. Thanks for that link.


bikeshed.js?

There are only two hard things in Computer Science: cache invalidation and naming things.

-- Phil Karlton


I like child labor laws. I like food safety laws (http://en.wikipedia.org/wiki/The_Jungle). I like my bank being separate from investment institutions (http://en.wikipedia.org/wiki/Glass%E2%80%93Steagall_Act). I also like education programs, fire departments, police, roads, etc. I pay a lot in taxes and want to keep all of these things (and really have stricter regulations in the banking system).

Our market isn't free enough, that's true, but having a totally free market tends to crush the lower class. A completely free market, after all, is like a force of nature and nature doesn't give a shit about people. I do give a shit about people and am happy to pay taxes to help those people.

Our system isn't perfect and there are a lot of problems with it, but I don't want it to go away completely.


Chip stacking tends to be too expensive. Think of it this way: take the full output from a factory creating chips. Now if you stack just one chip on top of another, you have effectively cut your production in half. It also means that your chips will have to be at least twice as expensive (probably more since demand will be greater since the chips are now more scarce).

I think there is some interesting research work going into chip stacking but it wouldn't be accessible for public consumption until it's cost effective.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: