Hacker Newsnew | past | comments | ask | show | jobs | submit | steven_h's commentslogin

If you're in AWS, SWF and StepFunctions are great for starting and monitoring task completion / failure for long running processes, either interconnected or single.

You can write your own code to long poll in either and do work as it's needed, but with StepFunctions you can wrap lambdas to give a little more visibility and error handling.


The OP is talking about how when using a classic load balancer in AWS, your containers will be deployed all exposing the same port, kind of like running "docker run -p 5000:5000" on each ec2 in your cluster. Once the port is in use, you can't deploy another of that container on the same ec2 node.

The solution is to use AWS's Application Load Balancers instead, which will allow you dynamically allocate ports for your containers and route traffic into them as ECS Services.


If the stack, LAMP in this case, is Linux, Apache, MySQL, and PHP/Python? Why shouldn't you need to know about running servers, configuring databases, or other stuff to be a full stack developer?

Linux is the operating system of your server, you should know how to use it. Apache is your web server, you should know how to set it up and configure it. The same for your database MySQL. Obviously you had better know PHP(Python if that's what your P stands for) to develop any software.

I think you're mixing up Full Stack developer with Application developer. The application developer would take PHP and connect to a database to make the application and that's normally that. The full stack developer would set up the servers, configure them, create the application, deploy it, and all that jazz.

I'm not saying one is better than the other. You get more flexibility with a full stack developer but you can get more expertise with an application developer. It all boils down to the opportunity cost of having someone who can do everything well or 2-3 people should all be experts at their part of the puzzle.


I've never heard the term "application developer" in a web context before -- in all the jobs I've looked at and companies I've worked with, the terms have been "front-end", "back-end", and "full stack" which is the combination of the two.

I agree that a full-stack developer should have familiarity with Linux, setting up servers, configuring MySQL in basic ways, and whatnot -- that's what the "backend" part is built on, of course. As you say, they need to be able to deploy an app. But their main job is coding, not administration.

So they only need familiarity with deploying, not expertise -- they should be able to get a few servers running for a startup with load balancing. They should not be expected to know the intricacies of MySQL tuning, network security, Linux security, network management, and so on. You're not going to expect a full-stack engineer to know how to use Wireshark. (Gravy if they do, of course.)

I'm just making the point that full stack does NOT include professional-level systems administration or database administration. A full-stack engineer is not a magical go-to guy who knows everything. It's just front-end plus back-end. It's firmly in the realm of coding, not administration.


While I don't disagree with you that there is an opportunity cost of education, it is nearly always better to invest in yourself at an early age[1]. Also, I'm coming from a U.S. point of view, might be different in other countries.

Also, after my time at university I noticed that I didn't need to be a .NET or PHP developer. I was a well rounded computer scientist with the capacity to learn anything I set out to, which is the point of degree. I learned what I wanted in my free time, the technologies you use shouldn't define you.

[1] http://crossbridge1.blogspot.com/2011/09/does-education-pay-...


Google isn't about to up and close Gmail when people actually pay for it through Apps for Business and Education. Gmail is hardly on an ad supported only model, which could be supported when you observe how they removed free email for new domains, turning it into a premium only product (With existing users grandfathered in).


Hindsight is 20/20, but when you by IDEA Ultimate, you get all the other derivatives as plugins to IDEA (I have the Python, Ruby, and PHP plugins which is the same as having PyCharm, RubyMine, and PHPStorm).

I almost did the same thing you did during the sale but one of my friends let me know about the plugins, which they could do a better job of talking about.

Can't go wrong with this great software either way though.


In hindsight i was wondering exactly that. Would i really get a 100% PyCharm when i buy the IntelliJ IDE!? That would make me buy IntelliJ on the next discount opportunity ;)


The plugin can sometimes take a while to catch up to the latest in PyCharm, and with PyCharm you get an experience tailored to the language. (Download the trials for both and check out the differences).


Since i practically never write Java, i'll just stick with PyCharm then.


It will pay off, but it's more a long term investment and you should an opportunity cost analysis on the cost of hardware and expected returns.

Use this to calculate your profit. http://www.bitcoinx.com/profit/

Disclaimer: I mined bitcoins at the start and cashed out during the last bubble at ~$30USD per coin. I sold the hardware I had (ATI 58xx series graphics card mining rigs). The new ASIC hardware looks too great if you could gt your hands on it.

Remember though that you are at a disadvantage to more established miners who can afford these $X0,000 mining rigs that increase the total pool speed which brings down your contributions and your profit.


This is exactly what makes reddit so great. I don't have to look at pictures of cats and rage comics if I only want to se stuff about programming/technology/etc.


Banner, the software quite a few universities use for student record management and other things, has migrated from PL/SQL to a Groovy on Grails system in their next version so that will push a bunch of people to learn Groovy.


It might have been when he initialized the variable result.

He goes on to append strings to this variable which would lead me to believe it has some value that you can append to.

This would make the third conditional where he checks for null to fail, he should check for an empty string.


This is my conclusion as well. To wit, an approximate translation of his method into Ruby:

  fizzbuzz = (1..100).to_a.map do |i|
    result = "" # 1:23 initialize a variable
    result += "Fizz" if i % 3 == 0
    result += "Buzz" if i % 5 == 0
    result = i.to_s if result.nil?
    result
  end
The corrected solution would be to change `result.nil?` to `result.empty?`, i.e. checking for "empty string" instead of "null".


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

Search: