HN user

murz

319 karma
Posts11
Comments69
View on HN

Also, for those who are using Java, where do you host your application/service?

Heroku, EC2 (or Elastic Beanstalk) and Google AppEngine are all pretty good choices if you ask me. For side projects I usually just throw them up on Heroku, but I'll use EC2 for more sophisticated deployments.

Django/RoR or Flask/Sinatra have their niches - what are good reasons for a solo developer or small team to look outside Python, Ruby or PHP?

I'm struggling to come up with an answer to this topic. To be honest, I think you'll be fine with whatever tool you choose and I think you should just use whatever is most comfortable for you. That said, some scenarios where it might make sense to use Java (or another JVM language) over Django/RoR include:

(1) This doesn't matter for most applications (and isn't necessarily true for all applications), but if you are expecting a lot of load you will likely get more throughput out of the JVM (see how the Java platforms compare to Ruby and Python ones in this benchmark: http://www.techempower.com/benchmarks/) and you will probably be able to handle more traffic with fewer machines (Twitter reportedly needs about ten times fewer machines to run its site after rewriting a bunch of Ruby services in Scala).

(2) You may need to use a particular JVM library (there's a lot of really good ones).

(3) Some spaces of the open-source ecosystem are largely written with JVM languages (especially in the data space: Hadoop, Mahout, Spark, etc). If your team is heavily dependent on one of those spaces you may choose the JVM for your web applications simply to focus your teams knowledge and tooling on one platform.

I'm a designer who knows how to code (or more accurately: a coder who knows how to design).

When I am mocking and laying things out, it's much faster to use Photoshop because it's easier to just drag objects around instead of tweaking CSS properties (at this point I'm mostly just dragging around and resizing vectors/shapes/photos/text to get them in the right size/position).

After I'm pretty satisfied with the layout I will go into vim or Sublime Text and start hammering out the actual design in CSS. I find tweaking CSS properties and refreshing my browser to be at least as productive as editing layer styles in Photoshop (if not more productive). Features of CSS like gradients, borders, opacity, shadows, etc. actually make it a very reasonable environment for quickly iterating on designs (especially when paired with SASS/Compass or LESS). Plus it saves you a step (it's gonna need to be coded sometime anyway...). YMMV

I think you missed my point, which was that the Wired article is citing the number from the second half of that sentence: "and 135 million are active in just the stream." (not the first number, which includes people who just +1'd an app)

I don't think the statement in the blog post could be much clearer, you just have to read the whole sentence :)

> Which would be great if checking a feed meant more than logging into your gmail.

If you read the actual announcement it would be clear that when they say "stream-actives", they are not including people logging into Gmail.

"Today Google+ is the fastest-growing network thingy ever. More than 500 million people have upgraded, 235 million are active across Google (+1'ing apps in Google Play, hanging out in Gmail, connecting with friends in Search...), and 135 million are active in just the stream."

Source: http://googleblog.blogspot.com/2012/12/google-communities-an... (which is linked from the Wired article)

Jersey actually has reasonable support for the traditional MVC thing too, you just return a Viewable from your actions [1]. I think out-of-the-box Jersey only supports JSP templates but it's easy to write custom view processors, I hacked one up for Mustache templates a few months ago [2].

[1] http://sleeplessinslc.blogspot.com/2012/02/jersey-jax-rs-mvc...

[2] https://github.com/murz/jersey-mustache/blob/master/src/main...

> Woz believes that Android’s voice commands and built-in navigation system are a big advantage

Personally, this is why I've kept my Nexus S around. I think the #1 thing I use it for is navigation while I'm driving. With a car mount it's as good as a TomTom/Garmin/whatever.

> Running a video site that hosts unlicensed content uploaded by users is what youtube did for years

Comparing NinjaVideo.net to YouTube is a bit of a stretch. NinjaVideo.net's sole purpose was to host high-quality unlicensed content, they would feature the unlicensed content, and it was clearly what was driving traffic to their website. If you never saw the site, just take a look in the internet archive:

http://web.archive.org/web/20100104054215/http://www.ninjavi...

Their frontpage was basically a list of links (the administrators curated and posted these links, complete with graphic banners like this: http://web.archive.org/web/20100104054215im_/http://i47.tiny..., and captions like "the DVDRip is here!!! Enjoy" and "here's a Screener for you") to stream whatever new content was on TV that night, or whatever movies had recently been released (sometimes even before they hit theaters). By simply taking a peak at their forum it was pretty clear that the administrators of the site had a relationship with the "uploaders" and commissioned them to upload the unlicensed content to megaupload where it would then be streamed in high-quality using the "NinjaVideo Helper" (basically a java applet that pushed megaupload content to the DivX web player). I'd venture to guess any DMCA takedown notices would be forwarded to /dev/null.

The clearest difference, imo, is that YouTube allows users to upload content (content can be uploaded without the owners of the site ever seeing it). NinjaVideo did not allow users to upload content, the owners added pages which allowed you to stream content hosted on megaupload (for any video to end up on NinjaVideo, the admins had to add it).