Hacker News new | past | comments | ask | show | jobs | submit | rbxbx's comments login

Any plans to support JVM based languages? I imagine something like Tomcat would work with your ideology of uploading a file (in this case a .jar) via FTP and being up and running. Adding JVM support would add many languages to your supported list quickly :)


I've heard good things about http://www.appfog.com/ who used to specialize in heroku-esque PHP deployments. Perhaps they'd be worth checking out.


Their site seems to be down... see http://appfog.com/products/phpfog/pricing/


Github wants to explain what Git has to offer you. I assume they want to see you as a potential customer, and if nothing else it gives you a real live low-risk git repository to play with after you're done with the tutorial.


It's not that crazy if you think about it. If you're a freelancer working small contracts for people that "want a website", you're pretty free to use whatever technology you'd like. Doubly so if you "provide hosting".

Outside of tech and corporate circles people could really give a damn. They just want to get things done.


At first I thought this was an attempt at trolling, but then I noticed that Mr. Golick is the commenter so therefor I must assume serious intent.

Care to give an answer better than "some book some java dudes wrote 20 years ago said so"?

While I generally agree with SRP, when that single responsibility can be expressed in a single function, I don't see the win with have a class dedicated to it. Smells of pedant OO nonsense.

Is not instantiation etc a cross-cutting concern that violates SRP in this instance?


"some book some java dudes wrote 20 years ago" — If you're referring to "Design Patterns", the Gang of Four were writing about C++, it was 1994, and Java wasn't out yet.


I think you misunderstood each other, you meant a global method and Mr. Golick seems to have understood that you mean just another method in the controller or whatever.

Also, those are not really single-method classes, but single-method interfaces. Since you didn't give any arguments, I don't see how those two extra lines to define a class have any disadvantage in comparison to a global method, and having the framework define a interface to program to leaves more flexibility to the framework user than having the framework accept a method name or block instead. The instatiation of the class can be left to the framework user (in general, I don't know if this is the case here in particular) so that additional data can be attached, inheritance can be used (yes, inheritance has its problems, still it also has plenty of valid usage scenarios), methods broken down into smaller private methods etc. Also in Ruby there are no global methods like you would have in Python or C++, you always define a method of some class, even if it's in the top-level scope - files almost always correspond to individual classes so it would be pretty odd to have methods used here instead.


> Is not instantiation etc a cross-cutting concern that violates SRP in this instance?

Right.

Which is why hes also recommending the use of DI.

It's hard to strike a balance between a strong design which takes a lot of time to work within, and one that just allows you to get things done, but once your project begins to grow in size and complexity, and testing becomes even more important, these things really do start to matter.

It's difficult to internalize until it's bitten you on the ass, hard.

That said, if you have a large amount of single method classes, you might need to take a look at why you need them and find a better approach (which will vary from project to project).


> It's hard to strike a balance between a strong design which takes a lot of time to work within, and one that just allows you to get things done, but once your project begins to grow in size and complexity, and testing becomes even more important, these things really do start to matter.

The whole point of objectify is that it actually makes it pretty reasonable to work this way right off the jump. I would have a hard time believing that it's really any more work to build an objectify app than it is to build a vanilla rails app - at least once you become accustomed to the paradigm.

> That said, if you have a large amount of single method classes, you might need to take a look at why you need them and find a better approach (which will vary from project to project).

I don't buy that. My project has hundreds of single method classes and it's by far the best factored non-trivial application I've ever seen (anecdotal, obviously, but so it goes).


>The whole point of objectify is that it actually makes it pretty reasonable to work this way right off the jump. I would have a hard time believing that it's really any more work to build an objectify app than it is to build a vanilla rails app - at least once you become accustomed to the paradigm.

Sure. I wasn't saying otherwise. What I meant was, in a general sense (prior to really seeing the benefits first hand), it can be hard for people to justify the trade off when they feel like they can just "get it done faster" with a more ad-hoc approach to things. I didn't mean to imply Objectify was some how more difficult (I haven't used it, so I wouldn't dare comment on it in such a way).

>I don't buy that. My project has hundreds of single method classes and it's by far the best factored non-trivial application I've ever seen (anecdotal, obviously, but so it goes).

Agree to disagree, with a caveat. I'm not against having a large amount of "Helper" or in the case of what I'm most familiar with, "Extension" classes (godbless you, .NET Extension classes), but I think if you have so many that they comprise most of your code base, maybe you could consolidate some of them (and maybe you couldn't).

Personally, I try to keep 100% of my core business logic inside of "Service" style classes, and then anything that is more of a helper (in that it performs some work, but not "business logic", and does not require or alter internal state) in either a static helper, or an Extension on the type itself.

For example, I usually end up adding a .ToStart/EndOfDay/Week/Month suite of methods to the datetime object of most of my projects. A "DateTime Service" would be overkill, but an extension method (which is just veneer over a static helper) fits the model perfectly, in that it returns a new copy of the existing datetime, leaving the original intact.

But at this point we're getting pretty deep into the comment tree, so feel free to email me from my profile if you want to go more into the issue - I love shooting the shit over this kind of stuff. Regardless of any minor difference of opinions, I think what you're trying to bring to the rails community is to be commended.


> Regardless of any minor difference of opinions, I think what you're trying to bring to the rails community is to be commended.

Thanks a lot, man.


I gave an answer better than that. Did you read the post?


It has a "Railsier" "Convention over Configuration" type ethos. Certainly more opinionated, if nothing else, where as Backbone is more of an empty canvas & instruments to cover it.

There are technical difference as well, but I think that's less of an issue.


Does Habit List use iCloud to sync it's data across my devices?


Not yet, but we're looking into that.


    He's not interested in furthering his studies to make more money.

    "The richness is in me, in my heart and in my head, not in my pockets," said Filipaj, who is now an American citizen.


This is a wonderful example of "Working Code Wins". Keep in mind though that often this complexity doesn't scale, for those of you on a team looking to implement similar A/B test code ;)

Way to be scrappy, Patrick.


Obligatory mention of "Inventing on Principle" by Bret Victor (https://vimeo.com/36579366) which explores a lot of similar turf. With Circa though we get to have these things today though, and with C integration to boot. Great work.


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

Search: