Zev

Joined 18 years ago

Karma
2,386
Submissions
1,513
Member since
Mar 11
Likes the -ish suffix on words.

Mobile Engineer.

In: 415, from: 516

#FFCC00

View on Hacker News

Recent submissions

Comment · 12 years ago
It does not require encrypted connections, although it does have extensions to indicate that future connections should occur over TLS (through the optional `tls` extension in IRCv3.1) and there is discussion for standardizing IRC over SCTP in IRCv3.3
Comment · 13 years ago
I can't speak to its accuracy, but, June 2013 wasn't yesterday. It isn't that old -- and it isn't like there's been a release of Photoshop in the past month and a half, so, it seems pretty recently updated.
Comment · 13 years ago
I still don't get why this has to be a full-sized TV. What if the AppleTV (sized as it is) had the sensors in it to detect motion?

(Of course, I still don't see the appeal in using motion to control my TV, after using a Kinect on-and-off since it was released. But, there's more to the market than just me, so, who knows.)

Comment · 13 years ago
Comment · 13 years ago
Saying "Always rasterize" isn't necessarily the solution, either. Its actually pretty bad advice to follow all the time ;)

I suspect (but can't confirm without the source code to the demo) that shouldRasterize would actually hurt performance in one of the two cases in the article. Specifically, I imagine that it would make the score for adding and removing views from screen even worse than it already is.

Yes, it renders into a bitmap, and reduces CPU usage, once you've paid the upfront rendering cost. But, it doesn't rasterize opacity, and, will use up a ton of memory (because it doesn't result in stretchable images).

Comment · 13 years ago
Re: 2:

While its great to have a small image that doesn't require much I/O to read, "small" shouldn't only refer to file size.

Instead, a "small" image should be one that has a small resolution, and is stretchable. This lets the GPU tile the portions of the image that are being stretched and reuse GPU memory, instead of having to waste space in ram to hold duplicate pixel data.

(And when something's as small as it can be, it doesn't minify very well anymore -- not much left to strip from the PNG.)

Comment · 13 years ago
It wasn't mentioned in the article, but, it is very important to note: CAGradientLayer is not GPU-backed.

In other words, the comparison is between the CPU redrawing a gradient 60x a second, and, an image being moved around on screen. Not entirely surprising that the one that does less rendering is going to be faster.

Comment · 13 years ago
Re: Your first point, the App Store uses delta updates now, so, it doesn't download/replace files that haven't changed.
Comment · 13 years ago
Selected "I read multiple books a few times a week", but, I'm not sure if thats the best fit. I read for some amount of time every day, but, its rare for me to be on the same book for longer than a few days -- and if I finish a book in the evening, I'll probably wait till the next day to pick up another one.

Basically, my target for the year is to read 104 new[1] books cover-to-cover, or, two books a week, and I'm currently a bit ahead of schedule.

1. Books that I haven't read before, not that are published in 2013.

Comment · 13 years ago
The typeface in many new OS X 10.8 apps is Helvetica. The typeface of OS X is Lucida Grande.

I bet this changes in 10.9. At least, for Retina machines. There's a reason why iOS uses Helvetica Neue as the system font, and not Lucida Grande. It looks better on sharper displays.

The new iMessage app in 10.8 lacks instant messenger integration with services such as MSN, AIM, and Jabber, forcing the use of a different application for these features.

Erm. Those services are still there. Same as ever -- which never included MSN in the first place. Hell, theres a new framework, IMServices, which lets you add support for new services to Messages.app.

Comment · 13 years ago
..sometimes programmers are just different and work environments can be rigid.

No. Just, no.

While I can totally relate to not wanting to have a 9-5 job (and even moreso when it comes to holding out for the right job) a dislike of working 9-5 jobs this is not unique to some (but not all, remember that) programmers.

Comment · 13 years ago
Try marking your storyboards as binary files in git. It worked pretty well for me the last time I was working with a designer and using xib files.
Comment · 13 years ago
You can easily do without a protocol[1] -- NSKeyValueCoding doesn't require a protocol to be implemented anywhere. For example:

  @interface MYObject : NSObject
  @property (nonatomic, copy) NSString *foo;
  @property (nonatomic, copy) NSString *bar;
  @end

  @implementation MYObject
  @end
And somewhere else in your code:

  - (MYObject *) buildMYObject {
      MYObject *object = [[MYObject alloc] init];
      [object setValuesForKeysWithDictionary:@{ @"foo": @"purple", @"bar": @"elephant" }];
      return object;
  }
Then you can access it like a regular property:

  - (void) useMYObject {
      MYObject *builtObject = [self buildMYObject];
      NSLog(@"value: %@", builtObject.foo); // will print "value: purple"
      NSLog(@"value: %@", builtObject.bar); // will print "value: elephant"
  }
There are some gotchas to be aware of here (that Parse likely takes care of, since you're subclassing PFObject), such as setting nil values, or attempting to set the value from a key that doesn't have a corresponding property on your object.

1. It looks like the main benefit to the protocol is compatibility with the existing design of -[PFObject objectWithClassName:], and, I don't know enough about Parse to say what that does. But, I bet its nifty.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton