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

Nice.

Elixir deploys could stand some better facilitation.

Does Nanobox support other languages, or is it an Elixir-focused tool?


Nanobox supports multiple languages and we're working on rolling out support for more. Elixir is one we're really excited about. There isn't really any good, standardized support for Elixir deployments, but Nanobox is a huge step in that direction.


Other languages include: Python, PHP, NodeJS, Javascript.

There are guides for getting started with each of these languages here: https://guides.nanobox.io/


Nanobox supports many languages. We are particularly excited about elixir though!


Based upon the evidence that includes the CEO's public attitude and that of Uber as a company and the story told by the former employee about how her situation was handled, it seems like Uber is much more sorry that their culture was exposed than that they have that culture to begin with.

Is this kind of company culture not becoming much the norm in today's hyper sexual society? I can't imagine that these kinds of things aren't happening all the time at other in-your-face branded startups.

American Apparel is another company that quickly comes to mind with problems similar to Uber's.


Docker deployment certainly can be tricky.

Regarding automation for app deployment, isn't there a point where you've automated the process too much and removed some of the intelligent decision making that requires a human?


It's definitely a tricky balance. Ultimately there's best practices to follow, and there's no need to manually implement best practices in every project if you can automate it. The balance is between time-saved vs absolute control.

Nanobox tries to strike the balance between saving time and giving devs ways to hook into and control the dev-to-production lifecycle.


With everything that's available in documentation, on YouTube, in forums, and in boot camps and other trainings, doesn't it seem like there are much more efficient ways to get the foundational knowledge that don't require four years of expensive college courses?


Step one: Find that material organized into a complete lesson plan. Without curation, a library is just a pile of books.

Step two: Package that with a bunch of people (both experienced and inexperienced) who can help with coursework and answer questions when they come up, teams of people to work with, somewhere to live with dozens of others doing the same work, hundreds more learning unrelated things (but who might be useful to you in the future), and you've got something close to a replacement for college.


What about Udemy and Lynda?

Every time I think of all the extra hundreds of hours I spent learning things that didn't help my developer career and that seemed to be distractions, I tend to compare those to courses published online that have precise learning modules that are so helpful.

College just seems like it's so expensive compared to the value you get out of other sources of knowledge.


College is a lot more than learning about software development and computer science. I guess that's what I was getting at. It's expensive, but I don't know any other way to meet the same mix of people and get the same set of experiences. And that's part of the point: If you just want to learn development, college shouldn't be a prerequisite. I'd imagine that some kind of trade school, self-study, or job training would make more sense.


All the material exists in one form or another, but I've yet to see anyone put together a credible "DIY CS degree" online resource.

Some day most (certainly not all) aspects of university education will be supplanted by high-quality universally accessible materials. But it's not here yet.


I think even if that existed, you would still miss one of the most important aspects of college and any other traditional learning environment: the motivational side of having a community of learners and teachers that hold you accountable and help you stay motivated.

I've just started playing with this thesis and published an article about it. I'd love to hear what you think about it: https://medium.com/@arielcamus/learn-to-build-a-backend-with...


Is this a market opportunity? Is there a way to make money producing a high-quality curated list of online resources, plus a series of online tests to prove that you learned it?


Udacity is trying with their nanodegrees.


It does seem utterly inconceivable that getting copiously documented things into the heads of people would be something only accomplishable through an outmoded and expensive educational process. Surely we've come up with something better by now with all the effort being poured into it!

Yet, perhaps there's something about that process. After all, there are aspects to a formal collegiate experience that are not neatly captured by boot camps, fora, YouTube, and documentation. Perhaps some of those aspects, like an instructional environment that values theory, are of nontrivial significance.

Obviously, it's still possible that something better can be done. This may not be the same as a better option having been developed and being on offer, though.


This may or may not scale but I've been lucky to be part of a startup program that roughly matches your description of a "better option". It's a 2-year program; I was, and still am, part of their experimental first class of students. So far I've gone through 9 months of entirely CS study, and I was even placed in an internship working in Mountain View, and without a college degree.

I have never held a dev job before, but I’ve gotten to doing some pretty serious and nuanced coding (all the way down to memory management and writing in C). They’re a really great team of people, their unofficial motto is “Google it”, and RTFM, and their program is called Holberton School.

I really hope it succeeds.


That does sound very promising. I, too, hope it succeeds.

How much time have you spent on set theory or discrete mathematics?


None. At least not on the first 9 months. Mostly it has been about performance, data structures, algorithms, and time complexities.

So far, the first part (9 months) the focus is mostly on practical project-based learning and skills for developers. But we are encouraged to learn on our own. I certainly know about uncountable sets and the Axiom of Choice, but how much do I really need for the problems I am solving on my day to day?


Thank you for answering my question.

Unfortunately, I must inform you that that is the answer I feared. There's a strong tendency for would-be "better options" and bootcamps to discard CS fundamentals and theory in favor of practical education. I am of the opinion that this sacrifices long-term practical utility for short-term utility. While seemingly of obvious benefit to those seeking jobs in the not-so-distant future, this is a penalty that mounts later in careers.

Odds are very good that your entire career will not use whatever tools this program has taught you. Odds are similarly good that your time as a junior engineer won't hinge much on abstract mathematics. But odds are very good computers will run on the same mathematics in twenty years.

Even today more interesting work (cryptography, geospatial, distributed systems, graphics) hinges on the sort of mathematical underpinnings that are generally found in a full collegiate computer science education. Of course, all of this can be learned independently, but most individuals struggle to learn crypotgraphic mathematics in such a way.

So really, it depends a great deal on what you want to do with your career. How much you know about how computers work will do a great deal to determine how much flexibility you have down the line. I have had jobs where reasonably complex synchronization problems involving work-stealing and partial orderings over a network were pretty common, and other jobs where `rails g ...` was the most complex thing I needed to know.


Well, like you said, it really depends on what you'll be doing. Granted, there are different paths one's trajectory will take, and you won't know them in advance.

On the other hand though, I wouldn't presume to write my own cryptographic protocol without having the fundamentals myself. Wouldn't you say that it's actually reasonable to learn this on your own? There are so many options, paid, or free, that can help you with this. You could take a Coursera class, or follow an open source curriculum like someone said in the comments down below.

You did say "most individuals" struggle to learn in such a way, but the argument can be made that individuals studying cryptographic principles are not "most people", which, if not intelligence, shows a special kind of perseverence and dedication that will also differentiate them in self-study. I wouldn't say what you're saying is immediately obvious.


You're right! The world contains a wondrous bounty of instructional materials the curious might use to attempt to edify themselves.

You're also right that the argument can be made that any individual who might seek self-study of advanced mathematics is not "most people" as I described previously. To that subject, let me offer a different formulation: most individuals attempting to study advanced mathematics independently struggle to learn effectively in such a way.

A non-zero number of people have set about doing what you describe with a special kind of perseverance and dedication... and wound up making rather severe mistakes. CryptoCat comes to mind. Perseverance and dedication failed to differentiate them. You may be different! It's very possible! But perseverance and dedication should not be confused for a rigorous and rigorously evaluated course of study. This becomes a significant difference when questions of scaling arise.

The world is full of options to help you learn, and I would not dissuade you from doing so. I just want you to be aware of the limitations likely to be imposed by a given educational approach.


As a percentage, how many US colleges would you say are excluded from the opportunities provided by "rigorous course of study"? Would you say you could get this kind of rigorous study at any university? If not, how many (as a percentage of all undergrad colleges)? Is this scalable/sustainable for the entire population?


I don't know, and I don't think the answer is as relevant in this context as might be hoped. There are many known, admitted, and well-documented failings in and problems with the current tertiary educational system. Yet, it's perhaps possible that these are not repaired by stripping away some of the aspects that are of value.

The general need for a better approach might not be the same as a given different approach being better.


> With everything that's available in documentation, on YouTube, in forums, and in boot camps and other trainings, doesn't it seem like there are much more efficient ways to get the foundational knowledge that don't require four years of expensive college courses?

Sure, but the risk of getting led onto an inefficient, time wasting path that doesn't give you a good grounding in the foundational knowledge is also high.

The skill to evaluate approaches to learning the information and the set of information you need to learn is not something you are likely to have without having studied the information, and there are lots of people with pet theories or financial interest in your actions trying to promote different approaches.



Fasting is normally associated with religious devotion as described in this article: https://www.lds.org/general-conference/1986/04/the-law-of-th...

However, even while describing the spiritual benefits of fasting, this LDS leader also points out what science has said about the benefits of fasting:

"Fasting is also beneficial to us physically. Some time ago I read an article in Science News written by Charles L. Goodrich, which stated that the advantages of modern eating habits extend far beyond the cosmetic. Numerous animal studies have demonstrated that caloric restriction early in life leads to an increased life span and reduces the risk of certain diseases.

"There is also evidence of health-promoting effects of periodic fasting. Some experiments have shown that periodic fasting not only promotes a longer life, but encourages a more vigorous activity later in life."


I was thinking the same thing. There are diminishing returns with most jerks if they are marginally better than the rest of the team, but if they are 10x better, maybe you just need a team of 1.


One of my favorite interview stories was when I was interviewing for a very low-level dev position at a major telecom. I was interviewing to become member #8 or so on this team.

It was for writing dial-up internet billing software, essentially grant/deny access and provide hours connected to the dial-in banks. Nothing all that crazy, a pretty solved problem honestly by that point.

I asked them what they were replacing and why. The team lead got super excited and talked about how they were hired on to replace a single guy who had wrote a ~1000 line Perl script that pretty much handled this whole data import job. This guy apparently made the cardinal sin of using moderately complex regex in his tooling, and that was a sign of how incompetent he was and how the tooling obviously needed to be replaced wholesale.

They did not get the irony of this situation whatsoever when I made the obvious statement of why it took an 8 man team over 12 months so far to replace a single dude with a 1000 line Perl script. Absolutely saw nothing wrong with the situation whatsoever.

Thankfully I ended up not taking that job and starting my own company instead :)


to their defense pearl IS a write only language... /s


Nanobox runs on top of Docker?

What functionality does it add on top of what Docker already does for containerization?


Nanobox will build both development and production environments using docker containers, but it automates the deploy process, sets up all the networking, locks everything down with firewalls, sets up a load-balancer, health monitor, messaging system, then provides a dashboard that lets you introspect into your app's performance (at least for live apps). Locally it lets you configure your entire environment from a single config file, much like docker-compose, but different.


What percentage of time do developers spend troubleshooting code on different environments and trying to synchronize, probably 25-30% anyhow?


Sometimes more than that. Depends upon the size of the team and how well organized they are.


Have you tried anything besides Heroku?


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

Search: