Ask HN: How to begin contributing to an open source project? - <AUTHOR>

I'm a fourth year college student with a few years of programming classes, but not much outside-class experience. Many people have said that contributing to open-source projects is a good way to show off your ability level and to learn more about how to code. I'm not sure how to begin - in other words I don't know what I don't know about open source projects.
Which open source project should I contribute to?
How do I know what part of the project to work on?
How do I get the code and how do I submit changes? How do I ask for guidance/get feedback, besides asking HN?
Which IDE should I use?
Thanks for the advice, Kevin <comment><USER2> The flip side of this is just as interesting and not as often discussed: as a project maintainer, what can I do to make sure people like the submitter feel comfortable and welcome contributing to my project?

Here are a few things I've done with Leiningen, my Clojure build tool:

* Start "low-hanging fruit" threads after every release explaining simple ways people can contribute.

* Create a HACKING guide describing the overall architecture and flow of the project. Include style guidelines and instructions for submitting patches.

* Give people commit rights as soon as possible. I've adopted the "one accepted patch, and you're good" policy from the Rubinius project. Yes, this means unqualified people will have the power to make ill-informed commits directly. But in practice people tend to behave when you give them responsibility. Evan, the Rubinius lead, has had to perform less than ten reverts in the three years he's used the policy.

<comment><USER2> Of course, I'm also interested in hearing from would-be contributors: anything else that could smooth along the process?

</comment></comment><comment><USER3> If you're just starting out, you could try one of the big projects that have a well established community and guiding processes/mentors to help you out.

I've been a Fedora Project contributor for about two years and it's been great. They have a lot of very different ways of contributing and a lot of different projects.

I contribute to the Infrastructure team; almost all of Fedora's infrastructure is built and maintained by the Fedora community. There are a lot of apps, APIs and they all communicate with one another: build service, accounts system, updates management, package database etc. Most of them are python TurboGears apps.

I'm also a package maintainer and that's another great way to learn how different open source projects work and interact with upstreams. Being a package maintainer is a lot more fun and challenging than it would appear. It's also a great way to find out other projects to contribute to.

There's a lot of information about contributing on this page: <http://fedoraproject.org/wiki/Join> and you can feel free to ask me more here or in private.

<comment><USER4> This is good advice. I'm a Debian guy, but I'm impressed by the organisation of the Fedora Project. I went and read the project wiki just now and it's obvious people starting out could learn a lot there.

</comment></comment><comment><USER5> Choose something you use yourself. From the discussions on the user mailing list/forum you will soon find out what features users are missing. Or take a look at the bug tracker. Many procects have todo lists somewhere in the source tree. The usual way would be to implement a feature you miss.

Before contributing, check how the developer team reacted to patches in the past -- there are teams that tend to ignore them.

Most often developers will happily help you if you have specific questions about the code.

Start with small patches or isolated modules that don't take the core developers too long to review and adapt to their "style".

Adhere to the project's coding style.

</comment><comment><USER6> It is a bit hard to answer the questions you're asking without knowing what languages you know (or what languages you feel vaguely comfortable with the syntax of).

In any case, one bit of advice that I'd like to throw out there that isn't usually suggested: Follow up on the patch. After sending it in, check up on it. Make sure the folks behind the project are happy with it (else it might sit and gather bitrot while waiting for someone to fix it up). If/when it is committed, look the commit over. Is it an exact commit, or did the developer who committed it modify it somehow (formatting, to use a different method, etc)?

This way, if (or likely, "when," if you're serious about this) you submit a second patch, it'll be slightly better -- slightly more likely to be committed, slightly less effort for the dev to review, etc.

<comment><USER7> _It is a bit hard to answer the questions you're asking without knowing what languages you know (or what languages you feel vaguely comfortable with the syntax of)._

This is very important. If you're a systems/C hacker then my recommendations will be a lot different than RoR or Python.

I have minor patches in a lot of different projects so I can give you a feel for which ones are beginner friendly (good coding style, maybe some documentation, friendly people) and which ones may be a bit more of a chore.

<comment><AUTHOR> Python, Java, and Web languages - HTML, CSS, Javascript

<comment><USER8> The Tahoe-LAFS maintainers are super nice and helpful, and the project is very sexy. I mean, a distributed networked secure least authority file system, how much cooler can you get?

If you got on the Tahoe news group or IRC and said "I would like to contribute to the project" (after reading up about what it does), someone would point you in the right direction. I imagine that is true of most mid-sized open source projects.

</comment></comment></comment></comment><comment><USER9> Here's how I became a contributor of mootools (a javascript framework).

1\. I stumbled upon the project pre 1.0, loved it's ideas, but my javascript wasn't good.

2\. I checked out the code and loved the style.

3\. I started hanging around in IRC where the core developers chatted about decisions and problems.

4\. I read the source code and when I wasn't sure why some code was like it was, I asked in the channel. Either someone of the team explained why it's that way, or committed my minor suggestion.

5\. That way I learned more and more about the language and the project. My suggestions became better. I _loved_ to see my suggestions being picked up and used in the wild.

6\. Eventually I got commit rights (though that wasn't important to me)

My advice is to just go for it. Join the IRC room, talk with the people. Help with bugs or documentation. It's easier to get involved than you might think, there are never enough people working on such projects.

You will be welcomed by the community!

<comment><AUTHOR> How do you get started with IRC on a Mac?

<comment><USER6> Colloquy's an open source IRC client for Mac/iPhone/iPad!

(Disclaimer: I happen to contribute to Colloquy. In this case, it just means that I'd be delighted to look over any patches that anyone has. :)

<comment><USER9> I've always used Colloquy, it's an almost perfect client ;)

</comment></comment></comment></comment><comment><USER10> Almost all open source projects are very happy to get additional help. It might be difficult though to be able to contribute to their source code in some cases if you have too less experience in the field (for example, to contribute to the Linux kernel, you either must have very good OS knowledge or specific knowledge about how to implement a new kernel driver for some yet unsupported hardware or so). And I guess from your question that you are mostly interested in contributing to the code.

What open source tools are you using yourself? Have you ever found some bugs in some of them? Or missed some feature? Then this might be a good place where you could start: Just implement that feature or fix the bug. If you don't really know how to provide your patch to them or where to start: Just speak with their devs; in most cases, they will be glad to help you out.

Some other questions you should maybe ask yourself:

Do you prefer to work in a very big project (KDE or so) or would you prefer to work in a very small one? You will find OSS projects of all sizes, even often just of a single guy/girl where you could ask to join him/her. The experience you will get might be quite different depending on the size of the project. I think, but that is also hard to tell, that it maybe might be more fun in a smaller team (because then you know everybody and you just need less bureaucracy). You will also find quite a lot of dead projects, i.e. projects where there is no active developer anymore. The old maintainers of such projects will be very happy if you tell them that you want to revitalize that project.

What type of project should it be? Some tool? A webbrowser (Chromium, Firefox)? A game? A whole Linux distribution (Debian, Ubuntu, Gentoo, ...)? A window manager (KDE, Gnome, E17, ...)? Depending on that, the programming experience you will get will also differ quite a lot. I have found that developing a game will often lead to the most wide range of experience and knowledge. (I have written an article about that: [http://www.openlierox.net/wiki/index.php/Why_game_developmen...](http://www.openlierox.net/wiki/index.php/Why_game_development_is_a_great_learning_playground) )

Where I am at it: I am one of the leads of the OpenLieroX project and of course, we can also need some help. :) We are a quite small team (3 devs basically) and have a quite huge codebase right now (about 300k loc -- could need some cleanup, though). Just for the purpose to tell people where to start, we also have a small article: [http://www.openlierox.net/wiki/index.php/Contribute_to_the_s...](http://www.openlierox.net/wiki/index.php/Contribute_to_the_source_code)

In that article, I also describe some further ways how you could get more experience at coding. Another way might be to start your own project from scratch, maybe together with some friends (or ask here or elsewhere for some strangers who might join you). However, this might be a quite difficult taks. Often, you are overestimating what you can do and the project will become quite big and often stay unfinished forever.

OpenLieroX started as an almost dead project. It was closed source in the beginning (called LieroX), then the original developer (just a single guy) stopped the development. And he did the right thing: Before letting the project die, he released the source code. And there is where OpenLieroX started. First there were two separated projects, one by me, one by another guy but once we have heard about each other, we also did the right thing and merged to one single new project.

</comment><comment><USER4> I was just looking into this subject today, right before I read this post. Here's what I'm doing and would recommend.

Join the forum related to your Linux/BSD distro of choice and check out the project page and see what needs help and what needs work. See if there's anything you're interested in already and go with that. If not, a good project to join would be bug tracking; for an example see the corresponding project from Fedora:

<https://fedoraproject.org/wiki/BugZappers>

Or Debian:

<http://www.debian.org/Bugs/>

Follow the directions, get your feet wet and eventually, if not from the very start, ask for a mentor already in the project and ask questions of them. Follow the project #IRC for a while and you'll get a good feel for where the work is needed. If you graduate into more technically challenging projects while at the same time being beneficial to the project, you will surely learn a lot and hopefully gain some invaluable experience.

</comment><comment><USER11> I would recommend in addition to contributing to other projects, to try to start something of your own. Find something small and useful you can work on, and release it. It doesn't matter if it's small - the experience you get maintaining your own project will teach you a lot about how to contribute to other people's projects.

My first open source project was a PHP script called "DBMailer" that I wrote when I had been programming for only a few weeks. I'm sometimes embarrassed that it's still floating around the internet with my name on it, but I learned a lot from the feedback I got from it at the time.

I wrote a blog post a while back with some do's and don't's for both contributors and maintainers, maybe you'll find it interesting:

<http://njclarke.com/posts/how-to-do-open-source.html>

Good luck, and stay enthusiastic!

<comment><USER12> I would actually recommend _against_ starting by launching your project.

Havoc Pennington (GNOME guy) wrote "Working on Free Software" in 1999 to explain why. In my opinion every word there is still valid today, with possible exception of CVS.

<http://ometer.com/hacking.html>

And you see, it was called "free software" back then, not "open source project". Sigh.

<comment><USER11> Except when you're a buck novice it can be very intimidating and difficult to make a contribution among people who know WAY more than you. It's unfortunately very common for expert programmers to treat novices with disdain, and this can be extremely discouraging.

I think there's a lot to be said for practicing your skills on your own so that you have a reasonable level of practice before trying to contribute to other projects.

</comment></comment></comment><comment><USER13> "OpenHatch: thousands of bite-sized bugs"

<http://openhatch.org/>

</comment><comment><USER14> First step: find the project you want to contribute. I would've picked a project which 1) I already use, so im already familiar with it 2) Has a little codebase so diving into it would be a little bit easier 3) Has an active development community

Second step is to use it, if you havent used it already. You wont be able to contribute to a software which you havent even used by now.

And when you use software, you will have little ideas to improve it. Or little bugs that annoy you.

Third step is diving into the source code, understanding the codebase and actually doing the changes. At this step, you might need to communicate the authors. This is an imporant part.

You can usually find developers on mailing lists and/or irc channels. Use these tools to contact authors and ask for their help. Dont be afraid, you are not supposed to do it all by yourself without asking anything. On the conterary, asking developers assures that you're doing it the right way. However, you should ask smart question. This one makes differrence. (Read Eric Reymond's article about this.)

Last step, is giving the patch to authors. if the project uses a proper SCM, you will be able to produce a patch easily. Send the patch to authors and wait for their response. Some projects have reviewboards which you can post your patch there and wait for their review.

Now, depending on the project, the path you go may differ. Dont bug developers too much. Dont hurry. Be friendly with them. Be Patience.

Also, this website is created for this exact purpose: <http://openhatch.com>

(Some projects have JuniorJobs, which are easy tasks for newcomers to start contributing, if you havent already found 'what' you want to do)

</comment><comment><USER15> Fix bugs. That's the best way to learn and make friends. It will give you exposure to the code base and existing code conventions.you'll learn much more and get some street cred.

<comment><USER16> yeah seriously git clone X fix something obvious git push

repeat

</comment></comment><comment><USER17> Check out these screencasts (links below). Even if you never work with Rails or Ruby it'll give you an idea of how to contribute to other projects.

<http://railscasts.com/episodes/50-contributing-to-rails>

[http://railscasts.com/episodes/113-contributing-to-rails- wit...](http://railscasts.com/episodes/113-contributing-to-rails-with-git)

</comment><comment><USER18> Find a project you're actually interested in (not just interested in the notoriety of being a part of). The ide/environment kind of depends on the project and the language/assets that you'll be working with specifically.

Once you find a project you're interested in, find them on irc. Don't be too pushy, hang out and try to pick up on the dynamic. That doesn't mean you should be silent, just don't be annoying.

A great way to catch up on an existing project (the earlier you get on board btw, the easier it will be to start) is to start helping out with testing. A lot of programmers don't enjoy writing automated tests (which they should be writing first anyways), so that stuff usually gets left to someone to clean up. An ancillary benefit of which is that you can learn a ton about a project by adding tests.

The only other thing you'll probably need some experience with kind of across the board is version control. Experiment a little with git/svn so that you aren't intimidated by submitting patches (version control can seem intimidating before you've worked with it, but most of the time it's pretty basic).

</comment><comment><USER19> If you know PHP, I suggest contributing to Drupal at <http://drupal.org/contribute>

Start by installing Drupal, then learning how to checkout code from the CVS repository, then how to apply patches, how to review patches, and finally you can apply for CVS access to contribute back your own code.

I'd be happy to mentor you if you want to give it a shot.

</comment><comment><USER20> First find an open source project that you want to contribute to. Next find it's issue/bug tracker. Find an issue that you can reproduce relatively easily. Next get the source code and start tinkering around till you try and figure out why the issue happens. Next try and fix the issue and if necessary add tests. Create a patch and submit!

Even if you can't solve the issue, just reproducing it and reporting your findings can be very helpful! Also make sure you read any contribution guidelines for the project if available.

You will also need version control-fu, whether it's Git, Mercurial or SVN or whatever the project is using. You need to be able to use it, at least the basics to make a patch.

Most importantly have fun and be nice! :)

</comment><comment><USER21> There is no general answer, because every project has a different workflow and culture. If you would like to hack on my little command-line bug tracker the answers would be like this:

\- checkout the code from GitHub <http://github.com/beza1e1/later>

\- use the "later" executable itself to find out, what issues are unresolved (e.g. "Web frontend")

\- get familiar with the code base and especially the plugin architecture

\- write some code (with whatever IDE or editor you like)

\- send me a message, when you have something to look at

\- after some reviewing (and probably changing) we can merge your code into the mainline

\- Congratulations!

</comment><comment><USER22> I second what has been said already. Pick something you like and really enjoy. That makes it worthwhile.

Look for projects that make it easy to contribute and have reasonable documentation.

Being always on the lookout for great people, I'll toss our project contributor's page here to see if you are interested (hehe) and show what I mean <http://wiki.amahi.org/index.php/Contribute> :)

</comment><comment><USER23> I use an instance of mediawiki for my project and am always looking to have little things done. I usually end up paying programmers on a case-by-case basis. If you or anyone else want me to send you emails when something pops up I'll be more than happy to :)

</comment><comment><USER24> Either pick a project you're using yourself and look at the bug/feature tracker and ask the developers what they'd recommend working on (probably best place is IRC). Or start your own (small) project for something you always wanted to do.

</comment><comment><USER25> Start reading the code, write patches, send them to the author/make a pull request.

</comment><comment><USER26> Stu Halloway's Refactotum talk offers a good approach...

[http://thinkrelevance.com/blog/2008/05/23/refactotum- overvie...](http://thinkrelevance.com/blog/2008/05/23/refactotum- overview.html)

</comment><comment><USER27> Make sure you know how to use a mainstream version control system, Git is gaining popularity quickly among DVCS' but there are still a lot of projects out there using regular old SVN.

</comment><comment><USER28> You need to find some project you actually use (say, FreeBSD). Then, you must fall in love with it (because it had a beautiful design decisions, like arc, or coded elegantly, like nginx or just got a lot of buzz, like clojure). Due to your love, you will read all developer's mailing lists, sites and blog posts related to it. After that you probably feel an urge to improve the thing you love. Now you can start contributing. Everything else will be obvious at that time. ^_^

<comment><USER29> I'd agree with this. Pick something you already use and fix or extend it in ways which make a meaningful difference to you, but be aware of and respect the design goals of the original authors.

In practical terms, you can just start hacking on the code yourself which will normally be available from a version control system somewhere, but when you've made changes you'll need to submit patches for consideration to the project maintainers at first. If you're unsure what format to use, just email to ask. For projects hosted on github you can just fork the project there which will make it technically easier to get patches back into the main branch. As you build up trust with others involved in the project you'll be able to get commit access to the project repository and make changes yourself.

As for IDEs etc, each project will have conventions and project metadata (makefiles, project indices etc.) suitable for a specific setup, so figure this out when you've picked a project and work with what's already in place as much as possible.

[edit] One other thing: it will be _really_ hard to get started - getting up to speed with how a new piece of software works is difficult at the best of times and most projects aren't designed to make this easy. Persevere, as once you've got to grips with layout and conventions and got to know the other contributors things will become much easier.</comment></comment>


ClusterHQ is shutting down - <AUTHOR> https://clusterhq.com/2016/12/22/clusterf-ed/ <comment><USER2> We've been running Kubernetes (500+ containers) in production for over a year now. I believe (and hope) that 2017 will be the year that persistent data storage will be solved. We are ready to move our data out of OpenStack and have our data services (Elasticsearch, Cassandra, MySQL, MongoDB) join the rest of our apps on Kube-orchestrated infrastructure.

But, we're not there yet. The options just aren't good enough. Look at the list of PV types for Kube [1]. You have technologies like Fibre Channel that are simply too expensive when compared with local storage on a Linux server. There's iSCSI, which is mostly the same story. Ceph is great for object storage but not performant enough for busy databases. GCE and AWS volumes are not applicable to our private cloud [2]. Cinder, to me, has the stench of OpenStack. Maybe it's better now? NFS? No way. Not performant.

I'm looking forward to seeing what shakes out in the next few months. It's just really hard to beat local storage right now.

[1] [http://kubernetes.io/docs/user-guide/persistent- volumes/#typ...](http://kubernetes.io/docs/user-guide/persistent- volumes/#types-of-persistent-volumes)

[2] Beyond a certain size, it becomes more cost-effective to host your own Kubernetes cluster on managed or colocated hardware.

<comment><USER3> _Look at the list of PV types for Kube_

What I see is a lot of complex network filesystems, vendor-specific solutions and gateway protocols to expensive SAN solutions, which are already chalk and cheese in terms of features and performance.

Arguably one of the best features of unix-style systems is support for arbitrary mount points, filesystem drivers and (network or local) blockstores. Storage is, essentially, a well-solved problem at the OS level. The fact that this option is marked "single node testing only – local storage is not supported in any way and WILL NOT WORK in a multi-node cluster" raises eyebrows.

By choosing to expose individual remote storage model semantics as Kube-level PV drivers instead of just leaving this to the OS, what I would argue we essentially see here is the legacy of a cluster orchestration system that came out of Google... a system optimized for large, homogenous, dynamic workloads to provide organization-internal IaaS, and not reduced feature-set systems with simpler architectural properties (eg. no multi-client network-aware filesystem locking).

I would argue that, in fact, what many people actually want is simpler, and the current pressure to use 'one size fits all' cluster orchestration systems with a high minimum bar of functionality and nodecount (read: minimum hardware investment) is misplaced. At the very least, there's some legitimacy to this line of thinking.

<comment><USER4> Yes. k8s is cool but it is vastly overcomplicated for the needs of the non- Googles. We've been porting my company's production infrastructure to it over the last year and while it's been fun, I don't think it's been the correct thing for us.

Since suggesting your company is not in the same class of the companies that see literally billions of unique users every day, and thus may not need such overcomplicated solutions, is sure to make your boss irate, it's a good idea to familiarize with whatever new hotness has Facebook or Google's name attached to it.

Your clueless colleagues will race each other to announce the latest Google/FB engineering blog post in Slack so they can look the smartest and then convince your boss that since your Google-dom will be upon you tomorrow, you must adopt HotNewStuff today. This impulse is behind the proliferation of Hadoop and "Big Data", containers and orchestration, and MongoDB and NoSQL. All of these are useful tools that are valuable and good as necessary, but widely abused because people who don't really know what they're doing think this will give them an out.

You'll be stuck maintaining something interesting but really not mature or production-ready like k8s for years, just about long enough for it to become smooth and stable, at which time something else will come along to repeat the cycle. :)

<comment><USER5> Out of interest, what are you migrating from?

<comment><USER4> Deployment across EC2 nodes, managed with devops scripts from a few different tools and monitored with conventional monitoring solutions like Nagios/Munin. We migrated from colocated racks to that a few years back.

Personally, while there is undoubtedly a convenience factor with being pure EC2 and a cool factor with k8s, I think 80% of our stuff would be better off in the racks (which included a couple of hypervisors, so we still had some cloud-style flexibility and could do things like auto-scaling).

<comment><USER6> May I ask - what's the biggest issue you've been facing? Anything we can do to make it easier/more useful? We've found that there are a ton of things that people just end up reinventing unless it comes in the box (e.g. autoscaling, rolling deployments, roll backs, replications, aggregated logging/monitoring, etc).

Disclosure: I work at Google on Kubernetes

<comment><USER4> To be honest, I haven't gotten super-into-the-weeds on Kubernetes. Another guy is the main k8s guy, but I have used the cluster he's configured and deployed a few containers on it. I've also had to troubleshoot a few nodes. A lot of these complaints may be things that are already solved, but we just don't know how/where/why yet. I think we're also using a relatively "old" version of k8s (in young technology, "old" is anything more than a few months old), so some of these issues may have already been addressed.

First issue for me: the recommended way to run k8s for local testing, etc., is minikube. I run a hybrid Windows-Linux desktop env since June (full-time Linux for 10+ years before that), where Windows is the host OS and my Linux install is running as a VBox guest with raw disk passthrough. I have it configured essentially so that Windows acts like a Linux DE that can run Photoshop and play games, while I do all my real work through an SSH session to the local VM, which is my Linux install (and which I can boot into natively if desired, but dual-booting always impairs workflow, which was the reason I switched to this setup in the first place; previously, I would reboot into Windows maybe once a year even though there were games and things I wanted to try and photo editing in VMs hosted on my Linux box was painfully slow).

This means that minikube, itself dependent on VMs to spin up fake cluster members, won't work because VM hardware extensions aren't emulated through VirtualBox's fake CPU. So that's the first hurdle that has stopped me from tinkering more seriously with k8s clusters. I know there is "k8s the hard way" and stuff like that too, but it'd be really nice if we had a semi-easy way to get a test/local k8s up and running without requiring VM extensions, as I imagine (but don't actually know) most cloud rentals don't support nested VMs either.

Besides this big hurdle to starting out, many of the issues are high-level complexity things that create a barrier to entry more than things that actively get in the way of daily use once you understand them.

For example, we have 3 YAML files per service that need to be edited correctly before something can be deployed: [service]-configmap.yaml, [service]-deployment.yaml, and [service]-service.yaml. We have dozens of services deployed on this cluster, so we have hundreds of these things floating around. They're well-organized, but this alone is a headache. The specific keys have to be looked up, they have to be in the right type of configuration; if something that is supposed to be in the configmap is in the deployment file, k8s will be unhappy, the right env variable won't get set (more dangerous than it sounds sometimes), the wanted shared resource won't get mounted correctly (and my experience is that it's not always obvious when this is the case, and the mount behavior is not always consistent), or whatever. Keys must be valid DNS names, or something like that, because etcd, which runs under the covers here somewhere, doesn't accept names that would be invalid DNS entries. This means no underscores. There's nothing wrong with any of that per se, but it's a lot to wield/remember.

I also remember mostly thinking the errors related to k8s configurations and commands were unhelpful. For example, it took me a long time (a frustrating 60-90 minutes probably) to realize that `kubectl create --from-file` wasn't reading in my maps as config structures, but rather as literal strings. This seems like something that should've been made obvious through something like a warning on import ("\--from-file imports your map as a literal; if you want to parse the contents and use it as a config, please use `apply -f`" (and `apply -f` means apply the config read and parsed from the file, _not_ "apply with force", while `create --from-file` means "create a literal string as a resource instead of parsing and creating this config as a config object; however, be careful with kubectl apply, because it will try to silently merge existing configs with new values, which is sometimes helpful, and sometimes can drive you nuts if you forget about this behavior; I dunno if kubectl delete configmap my-configmap.yaml and recreate is always feasible or if that would give dependency conflicts or what?)).

To deploy, kubectl apply -f changed-yaml.yaml, which sometimes does and sometimes doesn't clean up the running pod (service configuration thing? or is it a matter of which config type I'm applying, cm, deployment, or service?), `kubectl delete pod old_pod_id` if not automatically reaped, restarting is automatic under our config after a delete which I'd guess is configurable too, then you have to `kubectl list pods | grep service_name` to get the new pod id, and `kubectl logs pod_id` to get the logs and make sure everything started up normally, though this just shows the logs output by the container's stdout, not necessarily the relevant/necessary logs. Container-level issues won't show on `kubectl logs`, but require `kubectl describe pod pod_id -o wide`.

 _Then_ you have to `kubectl exec -it pod_id /bin/whatever` to get into the right container if you need to poke around in the shell (and I know, you're not supposed to need to do this often). Side note here, _tons_ of people trying to containerize their apps that run on Ubuntu or Debian today onto Alpine, another mostly-unnecessary distraction, and seems to result in just grabbing a random container image from Docker Registry that claims to provide a good Ruby runtime on Alpine or something without looking into the Dockerfile to confirm, which IMO is a much larger security risk than just running a full Ubuntu container.

Lots of extended options like `kubectl get pods -o [something]` are non- intuitive. I guess they're JSON pathspecs or something like that? Again, that probably makes sense, but it's pretty unwieldy. Often have to do `kubectl describe pod pod_id -o wide` to get useful container state detail.

When a running pod was going bananas, we had to `kubectl describe nodes`, again a long and unwieldy output format, and we have to try to decipher from the 4 numbers given there what kind of performance profile a pod is encountering. This leads us into setting resource quotas to make sure that pods on the same node don't starve each other out, which is something I know the main k8s guy has had to tinker with a lot to get reasonably workable.

Yes, we have frontend visualizers like Datadog that help smooth some of this over by giving a near-real-time graph with performance info, but there's still a lot of requisite kubectl-fu before we can get anything done. I also know that there are a ton of k8s and container ecosystem startups that claim to offer a sane GUI into all of this, but I haven't tried many yet, probably because I'm not really convinced any of this is necessary as opposed to just cool, which it undoubtedly is, but that's not how engineers are supposed to run production environments.

I mean all of this doesn't even scratch the surface, and I know they're not huge complaints, but they just speak to the complexity of this, and a reasonable person has to have some incentive to do it besides "It makes us more like Google". Haven't talked about configuring logging (which requires cooperation from the container to dump to the right place), inability to set a reliable and specific hostname for a container in a pod that will persist through deployments, YAML/JSON/etcd naming and syntax peculiarities in the deployment configs, getting load balancing right, crash recovery, pod deployments breaking bill-by-agent services like NewRelic and Datadog and making account execs mad, misguided people desparetely trying to stuff things like databases into this system that automatically throws away all changes to a container whenever it gets poked, because everything MUST be using k8s, since you already promised the boss you were Google Jr. and he will accept nothing less, and a whole bunch of other stuff.

All of this ON TOP OF the immaturity and complexity of Docker, which _itself_ is no small beast, on top of EC2.

That's QUITE the scaffolding to get your moderate-traffic system running when, to be honest, straightforward provisioning with more conventional tooling like Ansible would be more than sufficient -- it would be downright sane!

SOOOOOOOOO ok. Again, I'm not saying there's anything _wrong_ with how any of this is done per se, and I'm sure some organizations really do need to deal with all of this and build custom interfaces and glue code and visualizers to make it grokable and workable, and of course Google is among them as this is the third-generation orchestration system in use there. None of this should be taken as disrespectful to any of the engineers who've built this amazing contraption, because it truly is impressive. It's just not necessary for the types of deployments we're seeing everyone doing, which has nothing to do with the k8s team itself.

I'm sure that given the popularity of k8s, people will develop the porcelain on top of the plumbing and make it pretty reasonable here in the not-so- distant future (3-5 years). However, like I said in my original post in this thread, I don't think this is benefiting many of the medium-sized companies that are using it. I think, to be completely frank, most deployments are engineers over-engineering for fun and resume points. And there's nothing wrong with that if their companies want to support it, I guess. But there's no way it's necessary for non-billion-user companies unless you REALLY want to try hard to make it that way.

I could write something extremely similar to this about "Big Data". Instead of concluding with suggesting Ansible, we could conclude with suggesting just using a real SQL server instead of Hadooping it up with all of those moving parts and quirky Apache-Something-New-From-Last-Week gadgets and then installing Hive or something so you can pretend it's still a SQL database.

Is there a way to make over-engineering unsexy? That's the real problem technologists who value their sanity should be focusing on.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> How many people were employed at ClusterHQ? Honestly I never even heard of the company but I had heard of some of the open source projects. Maybe I'm just out of the loop.

Also any information as to lessons learned, etc? Basically why it failed? Looking at the marketing material I didn't see anything really remarkable about it (nothing that stood out as a "oh this is why I would give them money") so I'm curious.

> I've been part of big successes as well as failures. While the former are > more pleasurable, the latter must be relished as a valuable part of life, > especially in Silicon Valley.

Relished? I never really understood the Silicon Valley "failing is awesome!" mentality. Failure is failure. It's not awesome. Why would you relish it? Take the lessoned learned for sure but you likely just lost several people's money and you lost your employees their jobs, what is there to take enjoyment from? Seems a little sadistic and a tad lacking in empathy for others involved.

But maybe that's just me.

<comment><USER8> Ed Catmull, Pixar cofounder and inventor of the Z-buffer, has a great take on mistakes and failure in his book Creativity, Inc. Here's a pretty decent summary:

[https://www.brainpickings.org/2014/05/02/creativity-inc- ed-c...](https://www.brainpickings.org/2014/05/02/creativity-inc-ed-catmull- book/)

Essentially, we're going to fail. It happens. Might as well get it out of the way.

Secondly, failure averse cultures don't actually prevent failures, and they have a tendency to squash innovation.

<comment><USER9> Having a culture where failure is okay is different from having a culture where failure is _valued_. Like the parent commenter said, if failure means you look back at what happened, learn some lessons, do better next time, then that's fine, you've gotten value out of failure. If you say "Hey, I got a failure out of the way," you're playing slots and falling victim to the gambler's fallacy.

> _Make New Mistakes. Make glorious, amazing mistakes. Make mistakes nobody's > ever made before._

> _Mistakes aren't a necessary evil. They aren't evil at all. They are an > inevitable consequence of doing something new (and, as such, should be seen > as valuable; without them, we'd have no originality)._

So, was this mistake glorious, amazing, or new?

<comment><USER10> David Anderson (kanban) once observed that if your estimates are accurate then they should be wrong about half the time (and half of those overestimated).

The pressure to make them into promises instead of estimates is, I think, a form of failure aversion, one that Almost everyone deals with and one that causes a lot of unnecessary drama.

I don't remember whose quote this is, but the old line about how if you aren't failing from time to time it means you aren't trying hard enough. Your reach can't exceed your grasp if you don't reach at all.

However its easy to fail from sheer stupidity as well. Failure is a trapping of success, not an indicator.

</comment></comment></comment></comment><comment><USER11> This is Michael from ClusterHQ. Just wanted to say thanks to everyone in the community who helped make the last 2 and a half years a great experience. Sad that it's ending now, but excited for what's to come.

<comment><USER12> Thanks for posting, Michael, and I hope good things for you in the future.

Do you foresee Flocker living on in opensource form?

<comment><USER11> Yes, Flocker will remain open-source and my hope is that the community continues to improve it. Fli too, btw, for creating and managing ZFS snapshots [https://github.com/ClusterHQ/fli](https://github.com/ClusterHQ/fli)

<comment><USER13> Maybe donation of the code to an FOSS foundation, like maybe Apache, might be a way of ensuring the community continues. Or, at least, gives it the fighting chance to do so...

DM me if curious

<comment><USER14> I raised that question during the final company meeting yesterday. The ownership of the code is in limbo until the investors decide what to do with it at least a few months from now.

</comment></comment></comment></comment></comment><comment><USER15> \- December 22, 2016: ClusterF __*ed \- December 15, 2016: Reflecting on a Year of Change and What's to Come in 2017 ( "All in all, 2016 was full of tests and triumphs and I can promise that 2017 will also be a big year for the company.")

I'll be the first to admit I don't know anything about this company, but that's an interesting change of heart.

<comment><USER16> For reference, here is the post from 12/15 where the statement, " I can promise that 2017 will also be a big year for the company" was made by the CTO. Having the CTO make that statement, knowing that the company was shutting down, seems odd. Which implies it was not an orderly shutdown.

[https://clusterhq.com/2016/12/15/container- predictions/](https://clusterhq.com/2016/12/15/container-predictions/)

<comment><USER17> And that the CTO wasn't kept in the loop.

<comment><USER18> Or the Wotton hypothesis: "An ambassador is an honest gentleman sent to lie abroad for the good of his country."

</comment></comment></comment></comment><comment><USER19> It seems a little odd to do this 3 days before Christmas. Holiday depression is already a real problem, and making people unemployed a few days before the holiday sounds like a bad thing.

And it's a terrible time to be job hunting.

Why not hold on a few more weeks, let employees enjoy the holidays and announce in mid-January when employees can actually talk to hiring managers and get some good job prospects instead of being met with out of office messages?

<comment><USER20> It's likely that people within the organization already knew things weren't going well.

So, the bright side of this is that:

A) employees can spend the entire holiday week or two with their families, and

B) employees can start out their new year unencumbered by the stress of working for a failing company

Personally, I'd rather have it this way than come back from whatever fun holiday adventure I'm on to find out a week later that I'm losing my job... that's a terrible way to start the year's momentum.

<comment><USER19> Sure, there could be mitigating circumstances, but I've worked for a startup that folded just after Christmas while the office was closed for the holiday, we were all fired by phone.

It sucked.

Spending the holidays with family can be even more stress inducing when you've just learned that you lost your job. No ability to go out with local friends or former coworkers to commiserate about being fired and talk about job prospects. I was too distracted with job searching to really relax and enjoy time with family.

Rumor was that the investors pulled the plug before the end of the year for tax reasons, but I'm skeptical since it took months to sell off assets (physical and virtual) and wind down the business.

I made out pretty well though, got a lucrative contract with the company that bought the core software to keep it running for them until they could merge it into their systems.

</comment></comment></comment><comment><USER21> Or maybe the technology wasn't correct for what most people are trying to do with Docker these days. Flocker never felt like it quite fit in the ecosystem along with Mesos, Kubernetes, etc.

Great efforts guys, the tech is cool, but technology will continue to evolve and if you bought into something completely that doesn't fit nicely with the movement, you will get left behind.

Edit: not sure why the downvotes, I was not being sarcastic. The comments about why "pioneers get arrows" in the post made it seem like they had a perfect product, the world was just not ready for it.

<comment><USER22> Since when is Flocker competing with those platforms? It's designed to work with them. [http://kubernetes.io/docs/user- guide/volumes/#flocker](http://kubernetes.io/docs/user-guide/volumes/#flocker)

<comment><USER21> I never said it was competing. I said it didn't seem to fit nicely. I run several very large clusters, and we evaluated Flocker and it didn't fit nicely into ecosystem. It felt very "bolted on".

<comment><USER22> I see, sorry for misunderstanding. What did you move to for persistent volumes?

<comment><USER21> We are using DC/OS (Mesos) and found it to be much more feature rich for what our needs were.

</comment></comment></comment></comment></comment><comment><USER23> I appreciate the honest tone of this announcement without any "incredible journey" nonsense.

</comment><comment><USER24> This is why it's a really bad idea to rely on PaaS/SaaS for your next project. When the company tanks (or cancels the product, changes the API, raises it's prices, etc.) you're screwed. Hope no one out there was heavily commited to FlockerHub.

What we really need is better business models for supporting Open-Source.

<comment><USER25> Counter argument: if you don't rely on PaaS/SaaS, it'll take you 3-4x to launch. So, rely on them, but be ready to switch. A few bad things like this shouldn't take away from how services enable rapid development and iteration of ideas.

<comment><USER24> Why would it take you 3-4x longer to launch? Running your own servers in the cloud is not that hard. You can actually save time by not being restricted by the PaaS. I.e. if you have special needs, and you will, you can go in and hack the software.

<comment><USER26> If you don't have special needs, then you as a small team or company are taking on a burden that is large enough in scope for an entire company to focus on. It's why most startups just use GMail instead rolling their own. Sure it's easy to set up an email server, but now it's one more thing to think about.

<comment><USER24> GMail is a bad example. If GMail were to close you could just move to another email server.

Besides, using a PaaS is not free and I don't mean in terms of money.

</comment></comment></comment></comment></comment><comment><USER27> That's a shame. I've always had great interactions with the ClusterHQ team. Michael, Mohit and Carissa have always been incredibly friendly when I've run into them at Dockercon. Unfortunately my engineering team was never able to fully integrate flocker into our production environment as we relied heavily on custom storage driver actions. Wish you folks all the best in your next projects.

</comment><comment><USER28> Maybe "stateful containers" aren't a good idea. The whole point of containers is supposed to be that they can be duplicated and loaded into many machine instances. "Stateful containers" with changing databases inside can't be treated that way.

</comment><comment><USER29> I should make a startup called Trampoline. Other startups pay me insurance premiums and I hop in with a team and salaries for ejected employees to keep doors open for however long they paid for after a crash. As part of the customer SLA they cite Trampoline and the duration of post mortem life being paid for.

<comment><USER30> I like this idea, but I wonder how it would affect the business decisions of founders once they know they have a safety net.

</comment></comment><comment><USER31> > _Mark Davis (CEO) explains this opportunity as, "Imagine if you were the > 10th engineer at VMware. That's the kind of experience you're going to have > with us at ClusterHQ."_

That was from a clusterHQ recruiter's email that I received just a week ago. I thought it was weird to sell a position in that way.

I don't find it unreasonable that a recruiter was hiring people while the company is closing down (what do they know?) I'm reminded it's always important to ask for specific financial information when hopping on to a startup. What's your revenue? Expenses? How long is your runway?

My condolences to anyone who had hope, time, and effort invested in clusterHQ stock options.

</comment><comment><USER32> I remember trying to setup a Flocker cluster and got brainf __*ed. A cert- based auth in local development clusters was probably an overkill.

<comment><USER22> Same thing here. The barrier of entry was too frustrating for a casual evaluation.

</comment></comment><comment><USER22> Wow this surprising. I wonder what the reason for shutdown is? Flocker looked like a really cool product but was pretty involved setup wise when I was evaluating it.

What are best options now for bare-metal? Ceph? NFS?

<comment><USER33> Maybe the docker infinit acquisition[1] caused it? Given Kubernetes' plug and play storage classes (and gluster's maturity) + docker planning to add infinit natively there might not have been much space for them.

[http://venturebeat.com/2016/12/06/docker-acquires-file- synci...](http://venturebeat.com/2016/12/06/docker-acquires-file-syncing-and- sharing-app-infinit-will-open-source-the-software/)

</comment></comment><comment><USER34> A little bit more info on why the outfit failed would have been nice.

<comment><USER35> They probably just ran out of money or a key relationship dried up causing their runway to become impossibly short.

</comment></comment><comment><USER36> Its not like good container storage solutions don't exist for databases and other stateful applications. The problem is in expecting it to be free and open source. Building orchestration or simple file or object storage is easy, but building high performance, resilient, scale out storage that can run on cheap commodity boxes is a difficult task. Once you get over the "free" requirement, there are some good options like ScaleIO and Robin Systems. [https://robinsystems.com/containerization-platform- enterpris...](https://robinsystems.com/containerization-platform-enterprise- applications/)

</comment><comment><USER37> It would be interesting to hear what are the alternatives now to what they were trying to do with [flocker]([https://clusterhq.com/flocker/introduction/](https://clusterhq.com/flocker/introduction/)).

The post seems to make the point other alternatives came up that removed their competitive advantage. Anyone here either using flocker or the other alternatives?

</comment><comment><USER38> I'm sad to hear this. I loved reading Richard Yao's blog posts about ZFS on Linux.

[https://clusterhq.com/2014/09/11/state-zfs-on- linux/](https://clusterhq.com/2014/09/11/state-zfs-on-linux/)

</comment><comment><USER39> They are ceasing all operations. Someone might want to update their careers page.

<comment><USER35> Or their home page.

</comment></comment><comment><USER40> How is this company shut down?

Almost the same day my Us-based company officially announces to close down, but we haven't been paid since June 2016. I really want to know if this happens in Us

See also [https://news.ycombinator.com/item?id=13242516](https://news.ycombinator.com/item?id=13242516)

Thanks

</comment><comment><USER41> Oh the immediate shutdowns! After going through the immediate Nebula shutdown, I'm glad we weren't depending on ClusterHQ.

Same question I had for Nebula: you had no idea that a month ago you'd have to shutdown, right?

I've started to follow these ex-CEOs so we avoid their next companies. This kind of shutdown is just terrible.

<comment><USER42> Many -- probably most -- ultimately very successful companies had near-death experiences. They aren't usually written about. Apple's near-death in 1997 is well documented. Tesla's is described in Ashlee Vance's biography of Musk. [http://foundersatwork.com/](http://foundersatwork.com/) has firsthand stories about some others.

They would have become full-death experiences if the CEO had said, "Hey everybody, we're near death, just FYI". So in the alternative world where company deaths are always announced well in advance, far more companies would die. Probably not a better world.

I don't know the story here, but in most cases there was some deal on the table that would have saved the company but fell through in the couple of days before the announcement.

Regardless, the right thing is to have enough payroll in reserve for an orderly shutdown and transition plan for customers. It's not clear whether that's happening here -- I hope so.

<comment><USER43> The founder of FedEx once saved the company by taking its last $5,000 and turning it into $32,000 by gambling in Las Vegas.

<comment><USER44> Careful. There's so much BS in that guy's myth story. [0]

[0] [http://www.snopes.com/business/origins/fedex.asp](http://www.snopes.com/business/origins/fedex.asp)

<comment><USER42> Yes, but the essence is true: at some point they had to scrape together enough cash to buy the day's jet fuel or it would have been all over.

</comment></comment></comment></comment></comment><comment><USER45> > please accept our enduring, deeply felt gratitude.

Sure, but would 'apologies' have been out of order too?

</comment><comment><USER46> So whats next for the software projects by ClusterHQ? Making them a part of an Apache Incubator?

</comment><comment><USER47> If we're going to celebrate failure can we at least fail with respect, humility, and maybe even a tiny bit of class?

The word "sorry" does not appear in this post. Instead of apologizing to investors, users, and employees for letting all of them down the CEO writes a contentless self-aggrandizing post.

The CEO also doesn't bother to thank anyone despite being literally and metaphorically indebted to investors, users, and employees for getting as far as they did. [Update: there was "gratitude" \- my mistake; sorry]

Besides the self-aggrandizing "we did it first" tone of the whole post, here are a few more parts I'd love to see future farewell posts skip:

> it's often the pioneers who end up with arrows in their backs

Unless your point is that you were a company who tried to take what wasn't yours and was punished for it... this phrase is awkward-at-best.

> I called these "Friends of ClusterHQ" by the sobriquet "FoCkers"

The use of "sobriquet" doesn't make your adolescent play on words classy.

> The big successes are literally impossible without the many failures. Take a > moment to think about that.

What a ridiculous thing to tell your audience that includes employees looking for jobs, investors out of money, and users without a service they may have depended on. Out of those 3 groups only investors care about such things. The other 2 groups are collateral damage to your hubris.

<comment><USER48> Unless an investor _additionally_ gave a loan, there is no debt owed in any way to investors - that's the point, they made a decision to invest at risk and presumably did due diligence based on accurate information.

<comment><USER49> Errr, wait what?

Firstly, to say there's no debt, monetary or otherwise, to someone who believed in your company enough to hand over their own money (or money in their control) to back you is just pure arrogance.

Secondly, there absolutely _is_ debt. When a company goes into administration the assets are sold to pay out those who hold _equity_ in the company. They're literally owed debt.

 _EDIT_ : To clarify for those responding saying that equity does not constitute debt...

Creditors and investors are different, absolutely. It is also correct that investors are typically paid last during administration (although investors may form agreements to come before _other_ investors). Nonetheless, during administration, the administrator determines how much money the investors are "owed", which is literally the definition of debt.

<comment><USER50> No matter how many times you say that this situation is "literally the definition of debt" you're still not going to the legal definition of debt so that it applies here. Equity is not debt, they do both until eventually owing another entity money. But in a legal sense that is not literally the definition of debt, because it is also part of equity which again isn't debt.

From a practical perspective the difference is that with equity you accept a lower floor (you might get nothing) in exchange for a higher ceiling (your invest might 100x if the company goes public). That's the deal these investors signed up for and unfortunately for them they got option number 1. They're not owed anything because that's the deal they agreed to.

<comment><USER49> I have zero idea what the legal definition of debt is in the country/jurisdiction you live in. I also didn't specify what country I live in.

Additionally, my first point was one of metaphorical (social) debt.

Given the context and the fact I'm typing in English it ought to have been clear I was referring to the _definition of debt_ in English. If that wasn't clear, I apologise for the confusion.

<comment><USER51> > I have zero idea what the legal definition of debt is in the > country/jurisdiction you live in. I also didn't specify what country I live > in.

Only definition that matters is the one in the jurisdiction this startup was in.

<comment><USER49> Last I checked this was a tech website not a legal one...

<comment><USER51> So?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER52> You can't easily make a company out of selling free stuff?

</comment><comment><USER53> Could this be in any way akin to the shutdown of Lavabit? I know it's not the same type of company, but if there was pressure to put back doors in or any sort of compromise, I would support the action.

If not, then it's a really bad way to shut up shop. OK the source is out there but given the holiday season people might have appreciated a little warning.

<comment><USER54> Hi, founder of ClusterHQ here. I was just reminiscing over the demise of my company, and saw this comment had not been replied to.

I can categorically state that there was no pressure to install back-doors or any Lavabit-style problems.

As for your other comment, as a business you don't get to choose when you run out of money. I believe there was a plan to secure more money, and when that plan failed the employees were told immediately. The timing is irrelevant.

<comment><USER53> Thank you for the comment.

I appreciate as a business you don't have complete control of your destiny. There is a fine line between keeping employees informed and scaring them witless and I appreciate you were doing the right thing for your company. I or anyone else would likely have done the same in your situation.</comment></comment></comment>


Samsung overtakes Apple as world's most profitable mobile phone maker - <AUTHOR> http://www.guardian.co.uk/technology/2013/jul/26/samsung-apple-profitable-mobile-phone <comment><USER4> I'm having a good laugh over this headline for a very simple reason.

A few years back when the iPhone was selling more than all Android devices combined, people were quick to say that Android would never be able to compete since it's 'too geeky'.

Awhile later when Android took off a bit and all of the Android devices together sold more than the iPhone, people were quick to say how it's just one supplier (Apple) vs many suppliers producing Android phones.

Bit later, Samsung is doing really well with their Galaxy range, and suddenly Samsung alone is selling more devices than Apple. People then say how Samsung sells tons of different devices while Apple only sells one.

Again, a bit later, a quarter arrives where a single Samsung device (I believe it was the S3?) outsold the iPhone. People were then very quick to point out how profits are important, and Apple makes more profits than anybody making Android.

Well, look at the news now. Samsung now overtakes Apple in profits as well. I'm sure we'll have some new goalposts shortly that we can wait for.

These issues (profitability, marketshare, etc) are not ends to themselves - they are only symptoms or indicators of the real market forces behind them. The real issue is that Google/Android are out competing Apple in features, price and 'freedom'. 'Freedom' in this case being a nebulous concept that translates on-the-ground into something like 'able to load up porn apps on your phone if you want to'.

<comment><USER5> I was curious if now, 5 years later, if the latest Android phone still is unable to scroll smoothly and animate smoothly between apps, at 60 fps, with no lag, and respond instantaneously to touches. These are key things the iPhone has done since it's first release since it's crucial to maintaining the illusion you are manipulating things on the screen. Every time I try the latest Android device in the store I just laugh in disbelief because inevitably it is laggy and slightly unresponsive, and feels like I am interacting with a _computer_.

Googling around, it looks like the S4 still has animation lag in all sorts of places. Amazing.

I mean, hats off to Samsung for getting as far as they have. They've basically exploited Google's engineering resources brilliantly and have been ruthlessly competitive. Their design skills seemed to have gotten slightly better, and bigger screens and every-feature-but-the-kitchen-sink moves phones when they are compared to the iPhone, especially at a lower price point.

But the bottom line is they still don't really have the design chops and the attention to detail. Their "innovations" on the S4 are pretty gimmicky. They haven't built up a large economic moat around their ecosystem. I feel Apple can pretty easily leapfrog them by introducing a device that is a reasonable leap forward from where we are now. The iPhone 4, 4S, and 5 are all in the same design family. I expect the iPhone 6 will be pretty different than any phone we've ever seen before. I think Apple might even surprise us with an iPhone 6 this year. Who knows though.

<comment><USER6> Yes, yes, _yes_. I'm an iPhone user, and recently on a two day trip I took my dad's S4 with me and used it as my sole device.

Oh. My. God.

The difference in user experience is _astronomical_. I work in the tech industry and I _train_ users on how to use my company's software, and I could not for the life of me wrap my mind around some of the most basic aspects of the phone. Most functions, from scrolling and animations to simple things like changing the focus from a text box on the web page to the URL bar of the browser, had _noticeable_ lag. Sometimes the lag was so atrocious that I could not be sure if my taps worked. Occasionally I would get impatient and tap again, and it would register two taps simultaneously and treat it as a double- tap! You are absolutely right that it felt like using a regular computer - <USER2> old and slow one. I couldn't deal with it.

At one point I was checking my work email and had to access a voicemail that arrived as an attachment. I clicked it, and instead of playing the voicemail right away (which the iPhone does), the S4 _downloaded it as a file._ Okay, fine, I get it, you want to pretend you're a computer. But where the hell did it go? Is there a separate browser area for downloaded items like in Chrome? Is there a desktop, or some kind of folder? And if you're pretending to be a computer, am I going to need special software to be able to open this file? Are you really going to make me open another tab and Google "how to find downloaded files on Android"?!? WHY ARE YOU MAKING ME THINK? _WHY ARE SIMPLE THINGS NOT OBVIOUS LIKE THEY ARE ON IOS?_

In my experience, people are drawn to Android don't care much about user experience and instead want larger screens and tons of features. Personally, I view my smartphone the way I view my car: I want one that is easy to drive, responsive and won't lag for ~2 seconds every time I do something.

<comment><USER7> I recently switched from an iPhone 5 (after 3 years on an iPhone) to a Nexus 4 and I can't say I've had same experience with lagging. Android has improved to the point where I haven't seen any lag at all.

 _Most functions, from scrolling and animations to simple things like changing the focus from a text box on the web page to the URL bar of the browser, had noticeable lag._

So I just tried this now and saw no lag. It's not that I don't believe you, but I'm surprised that the Nexus 4 can demonstrate good UI response but the S4 can't (even with all the junk that Samsung puts on top of Android)

I don't see lag as an issue but I agree that there are lots of UI inconsistencies still in Android that make it not as easy to use as an iPhone.

On the other hand - good god is inter-app sharing/integration so useful and efficient. Apple's kinda dropping the ball on that one.

 _In my experience, people are drawn to Android don 't care much about user experience and instead want larger screens and tons of features_

Or maybe they, you know, what to actually make their phone do stuff for them beyond what the manufacturer thought they may require.

There's a lot of good stuff on both sides. Dismissing one side condescendingly like that doesn't move the discussion forward.

<comment><USER8> Likewise. My Nexus 4 and iPhone 5 are pretty much indistinguishable in terms of UI responsiveness. Samsung devices are notorious for lag, even with the ridiculously powerful hardware in the S4.

As happy as I am to see Android thriving I'd prefer to see somebody other than Samsung on top.

<comment><USER9> I have used Android for about 6 months and iPhone for about 3 years. I find using IOS like being in hand-cuffs. Let me give an example. For about 6 months, there was an audio bug in IOS (that now seems to be fixed). If I plugged in my iPhone to a car charger/music player, and removed it while a song was playing, the audio would switch off. Now Apple, being a hip company, had about 6 volume settings, of which you can't see the settings for most of these volume settings. The volumes I know of are :- 1) the volume level through the headphones 2) the volume through the speaker, when the audio is switched on by a physical switch 3) the volume through the speaker, when the audio is switched off by a physical switch 4) the volume through the headphones when the phone is plugged in through a 30 pin connector 5) an application specific volume (eg. playing a movie through a web browser - <USER3> does NOT use volumes 1-5) 6) ring-tone volume

Now, for some reason, Apple got the volumes mixed up so that it was IMPOSSIBLE to get any sound (except 6.) without plugging in a 30 pin connector and increasing the volume.

It took me MONTHS to work this out. All of the Apple "experts" I knew swore that this was not possible until I showed them. Even Apple said there was no bug and that it was faulty hardware, which I knew it wasn't.

The problem is that I keep on having similar issues with IOS. It's just "too clever" for its own good. Settings that you need are just not there (eg. accessing WIFI settings with a single click or slide).

There was also the time that iTunes REFUSED to copy music to my iPhone. If I used a 3rd party tool, songs would be copied and could play, but as soon as I used iTunes, it knew the new songs were "corrupted", and put the broken versions of the music on my phone. Thankfully, this bug only lasted a week.

I also find my iPhone 4s laggy. As an example, if I load a web page in the background, and try to scroll the current web page, the phone locks up for about 1000 milliseconds (ie. a VERY long time). It really infuriates me.

As for the Android lag, I am not sure what people are referring to. the Google hardware has not been a problem that I have seen - ever.

I think the best summary I can think of is that IOS is for people that _don 't_ want choice (eg. no FLAC, no 1080p MKV, no volume settings, you can't copy music files directly - you need iTunes, etc). Android has more that you need to know about, but at least you CAN find it if you want to.

I have a love/hate with IOS. But, when IOS pisses me off, it REALLY pisses me off. I can't say the same for Android.

You can see that I like choice. I also agree with others that I'd rather see Apple do well than Samsung. Samsung have a highly unethical history. If it weren't for Apple, Samsung would still be churning out rubbish handsets.

</comment></comment></comment></comment></comment></comment><comment><USER10> IMO, you can't compare quarters of 2 companies with different product cycles. Samsung just released S4 while Apple's last product launch was 9 months ago.

<comment><USER11> Sure you can, that way you can get the "Apple took back its #1 position" clicks in the next couple of months.

</comment></comment><comment><USER12> I think there's a lesson here in comparing apple ipod to iphone strategy. How come no one managed to beat apple's ipod and samsung beat the iphone.

I have a couple of ideas (price tag on the iphone was too high, market size is bigger and attracts more competitors, technology is more difficult because it deals with both hardware and software, etc), but no definitive answer. That's something that will be discussed in business schools for a long time.

<comment><USER13> There was nothing like Android for music players. Samsung is not a software platform company in any way.

<comment><USER12> Samsung is definitely a software plaform company. It had Bada that it used in its Wave product line (which surely accounts for a small percentage of their profit) and it will soon have Tizen.

Android is definitely one reason, and one could say that samsung AND google won against Apple. That what i meant when i said the business is much more complicated as it requires to be excellent and competitive both in hardware and software.

<comment><USER13> Bada is dead, Tizen looks likely to be DOA. By software platform company I meant a company that can sustain software platforms. It's really easy to ship a new platform every year; no third parties want that though.

I agree with your point that Samsung really upped the ante on Android hardware. The GS1 and GS2 were a tipping point on Android hardware performance and quality -- now that Qualcomm is making high performance parts and everyone is doing competitive product design Samsung are less necessary to Android (but still dominating).

</comment></comment></comment></comment><comment><USER14> Doesn't Samsung produce a much vaster chain of models, which also contain very cheap versions which are obviously more affordable than Apple's? If that's the case, I think this statistic might be a little skewed, because it's pretty obvious that you'll end up with a bigger market share if you sell 10 different flavors of the same thing compared to a company which only sells one.

<comment><USER15> To use a car analogy, Apple is a premium car maker, similar to how Lexus is viewed in the USA. They make mid to high end products, at higher than average prices, with much less product variation. Lexus isn't selling trucks, for example.

Compare this to say GM, which makes a very wide range of products in multiple market segments Lexus doesn't attempt to even exist it, and frequently at the same to much lower prices in the market segments that they have in common.

So, with Apple, you basically have 3 device sizes to choose from, with or without WAN modems, at 4 incremental price points, all with fairly similar specs that tend towards the higher end.

Samsung and other Android phone makers have tens to hundreds of devices that range the gamut from tiny to huge. Want a 6" phone/tablet with a stylus? Android has it. Want a head unit that goes in your car and runs Android? Sure.

And with more choices * on average lower price points = more market penetration.

I'd on a per-car, Lexus makes more than GM, and in the same way, on a per- device basis, Apple makes more than Samsung.

<comment><USER16> _To use a car analogy, Apple is a premium car maker, similar to how Lexus is viewed in the USA._

Apple ships absolutely _enormous_ volumes of devices to virtually every strata of the economy, selling the "premium" iPhone 5 (which is still owned by kids with burger-flipping jobs -- my jobless niece in a working-class family has one), to the last generation iPhone 4S discount device, to the _even older_ generation iPhone 4 ultra-discount device. Then there's the incredible value iPod Touch that Samsung can't compete with.

They may not offer dollar-store products, but they're more like the Old Navy of brands than any sort of elitist assumptions.

They make good products and they stay away from the very low end (though they do still pitch a three year old device), but luxury comments aren't rationally supported.

Worth noting that Samsung's smartphone ASP (average selling price) is just under $500. Apple's is currently $580. The narrative that Samsung made bank on waves on discount devices just aren't supported by economics, and the models are much closer than many seem to think.

<comment><USER17> The iPhone 4 unlocked costs £319 in the Uk, or around $490 USD. To claim that this is an "ultra-discount device" is preposterous. I'm sure you can get it free with an expensive contract, but the costs remains decidedly non-cheap. To put that in perspective a quick google shows an £80 no contract Android phone. I'm sure its terrible, but that is an "ultra discount device".

<comment><USER16> The iPhone 4 is priced for contracts, with a $0 (actually less -- usually the "buyer" gets credits) entry-fee. In the North American sense -- or in much of the world where the top selling devices are overwhelmingly $600+ -- it is absolutely "ultra discount": it's a three year old device!

As no-contract pricing starts to become competitive, Apple will do what is necessary with their discount entrant. But right now for a guy walking into Verizon or AT&T or many other cell providers around the globe, the iPhone 4 is as cheap as they can get.

As I said before, the ASP of Samsung smartphones approaches $500. This myth that everyone else is desperately pitching dollar phones is just nonsense. Yet so far this little thread offshoot has seen Apple compared with Lexus, Louis Vuitton, and Bentley.

</comment></comment></comment></comment></comment><comment><USER18> Can somebody explain why Samsung didn't have this title in Q2 2012?

From the article:

"The California company made an estimated $3.2bn (£2.1bn) profit from iPhone sales in the second quarter of the year, according to the research firm Strategy Analytics, a marked drop from $4.6bn a year ago" So, Apple 2012 Q2 : $4.6bn

"The same trend has squeezed Samsung's handset profits, which are down from an estimated $5.6bn in the second quarter of 2012" Samsung 2012 Q2 : $5.6bn

Interesting figures anyway, Apple's drop of over $1bn is interesting, they've dropped over 3x as much as Samsung did.

<comment><USER19> The article is wrong. Samsung earned $3.64 billion in Q2 2012, from their phone business. They had an operating profit of $5.9b in Q2 2012 (which is the apparent source of confusion).

So Apple out-earned Samsung in phones last year, $4.6b to $3.64b.

[http://techcrunch.com/2012/07/26/samsungs-q2-2012-earnings-s...](http://techcrunch.com/2012/07/26/samsungs-q2-2012-earnings- smartphone-business-propels-41-5b-in-revenues-5-9b-in-profits/)

<comment><USER18> That'd make more sense, thanks for the techcrunch link, that's much more useful. [http://techcrunch.com/2013/07/25/samsung-q2-profits- up-47-5-...](http://techcrunch.com/2013/07/25/samsung-q2-profits-up-47-5-but- operating-profit-at-its-mobile-division-slows/) seems to confirm the Q2 2013 figure of $5.6bn for Samsung, so that's actually a big increase year-on-year. That Guardian article is very misleading.

</comment></comment></comment><comment><USER20> Must be nice being a chaebol and having the complete backing of your government.

<comment><USER21> Must be nice being an SV company and receiving the adoration of your government and the American people while blatantly dodging taxes and locking customers into a severely restricted platform.

<comment><USER22> There is no American comparison to a chaebol, especially Samsung. Fanboy arguments aside, you can't compare the two.

It would be like if Apple built your car, held your insurance policy, and owned the apartment complex you lived in. None of that comes close to having to buy digital apps on your Apple phone from Apple.

<comment><USER23> Apps, Phones, Tablets, Accessories, Cars, TVs, Home Entertainment systems.

While I agree a direct comparison is unwarranted, the future of Apple's closed ecosystem is slightly worrying.

</comment></comment></comment></comment><comment><USER24> (Haven't used this account in a while, not sure if it's shadowbanned. Hope you can see this.)

No matter what you think of Apple, or Google, and their respective ecosystems, I'm curious what people think of Samsungs popularity. They're a massive South Korean company that until recently was well known mostly for ripping off other companies products and out-marketing them (I'm not making this up, these accusations go back decades now covering a variety of consumer products, go ahead and Google it). Some people, myself included, don't really believe this practice ever ended. Say something were to happen to Apple and Samsung truly pulled away as the technology leader in the future. Are you as a consumer happy putting your eggs in that basket, so to speak? Do you think Samsung is going to embrace a culture of innovation, vision and design? I honestly don't see it. As a designer, I've stayed clear of Samsung products because they just come off as cheap (or expensive) imitations. As a market leader, you have the privilege to introduce consumers to exciting new technologies, UI innovations and ideas. Samsung isn't built for that. Their idea of great design is hiring 1,000 good designers and taking a little bit from each one. That's not how design works. You have to have a unified vision with a great idea behind it. Consistency is so important. I don't care if Apple is the leader for the next decade but I'd rather a more creative company took the reins.

<comment><USER25> Samsung coasts on Google's creativity in pushing Android. If they had to rely on Tizen or Meego (or god forbid Symbian), they'd be dead in the water... and that's not considering Google's very popular 1st-party Android apps (ie, GMail, Maps, etc).

Without Google, Samsung has no trump cars in the hand. They know it, which is why they put any money at all in to other OSs.

What is amazing is that Google is letting them dominate the Android market so completely. If Google hopes that a strong Samsung will ward off a strong Apple, they better watch their own back.

</comment></comment><comment><USER26> Déjà vu, it's Windows all over again.

<comment><USER27> How is it Windows all over again?

Windows 3.0 and 95 were built on top of DOS which already had the majority of the market. Apple never had a large portion of the world-market in the 80s and 90s.

Samsung doesn't make the operating system but only the phones. Google doesn't profit directly from Android. So neither of those two companies are similar to Microsoft of the 80s.

DOS was incredible strong in the enterprise sector and that's how Windows really grew. Mac was weak in that sector. Android isn't built on top of anything similar to DOS. It also isn't stronger in the enterprise sector than iOS.

The battle between Windows and Mac was not about "free" versus proprietary. Hardware vendors didn't get Windows for free. Microsoft made its money selling Windows.

Windows didn't "win" because of just _one_ company. Although IBM did push DOS, they didn't push Windows. Windows "won" because of many companies.

Apple wasn't the largest IT-giant in the 80s and 90s. It is now. It has a fortune in the bank and plenty of smart people.

It isn't really Android that has the majority marketshare. It is Samsung! I.e. one hardware company.

So it really isn't anything like Windows and Mac from 80s and 90s. This is something different.

It is however a battle of marketshare involving Apple, and right now they are losing share to something that looks similar to iOS, just like they lost to Windows that looked similar to Mac in the 90s. However, the situation and premises are not the same.

What will be interesting now, is if Samsung and Google will continue to get along and if Samsung will want to differentiate themselves more from stock Android. I think they'll have to, in order to compete against even cheaper phones in the long run; The Android market could implode in a massive price- war with profit margins dropping to 0 everywhere.

Apple can also still fight back. iOS is a reasonably solid foundation, and right now Samsung is their only real competitor. Traditionally, these devices compete on Software, design, and hardware capabilities. Apple is a much stronger software and design company than Samsung... So who knows how this will end?

<comment><USER28> >Windows 3.0 and 95 were built on top of DOS which already had the majority of the market. Apple never had a large portion of the world-market in the 80s and 90s.

The Apple II predated the IBM PC. Apple had virtually the _entire_ market in the '80s.

<comment><USER29> This is untrue. They had the people who made the most noise in the 1980's and barely touched anywhere outside the US.

<comment><USER30> It was tough selling the Apple II in a lot of places because there were cheap Asian clones at a fraction of the price.

That lasted until Apple started suing them. Then the Asian manufacturers switched to making PCs and peripherals.

</comment></comment></comment></comment></comment><comment><USER31> Are the smartphone divisions of Motorola, LG and Sony still operating at a loss? I wonder how long these companies will continue to throw money at a market they seemingly can't compete in.

<comment><USER32> Motorola are losing much money right now, they are rolling the dice on the Moto X launch that's coming up. Google will make a huge marketing push for that one.

LG, Sony and HTC are making modest amounts of money on phones. HTC has nosedived to that level and the other two have turned around losses to be there. They need to do better, but they have little reason to pack it in.

<comment><USER33> > They need to do better, but they have little reason to pack it in.

[http://allthingsd.com/20130705/htc-profit-misses- expectation...](http://allthingsd.com/20130705/htc-profit-misses- expectations/)

They're still profitable, but for how long? If they don't engineer a turnaround, they'll be solidly in the red a year from now.

At that point, they have plenty of reasons to pack it in.

<comment><USER34> It's unfortunate, because I've owned the HTC 8x, and now the HTC One Google Play Edition. These are both some of the nicest phones I've used/seen.

</comment></comment></comment></comment><comment><USER35> Why not compare the companies based on their overall strategies/profits? Do people actually make investment decisions based on a single line of business?

</comment><comment><USER36> Apple devices are ridiculously expensive. iPhone5 is $900 here.

<comment><USER37> Apple's prices are fine here (the US) but it's hard to compete when everyone else is selling competing products at a loss (Barnes and Noble is selling off its Nook HD+ inventory at $129, Google has spent billions on Android and more buying Motorola for little apparent income, Amazon's business model is to sell razor blade handles at a loss so it can sell blades at break even, and Microsoft is paying Nokia to make Windows phones almost no-one buys — how can anyone compete with that on price?)

<comment><USER8> Apple still has huge profit _margins_ , and so far made the mistake (IMO) of holding on to those margins instead of trading them down a bit to increase market share. They've done a lot of damage to themselves with this strategy but they still have a lot of room to maneuver.

<comment><USER38> Don't you think they might have damaged their brand by "trading them down a bit to increase market share"? Why don't BMW or Mercedes go trade down their margins to sell more cars?

I know engineers don't understand marketing very well, but they should at least understand the very simple principle of brand building.

<comment><USER39> This is where the car analogy breaks down: we can reasonably expect that a BMW or Mercedes can use the same roads as a Dacia. But once Apple doesn't have a significant share of the smartphone market anymore, Google and others could easily lock them out further by making services that are Android-only. It's hard to ignore a 40% audience, it's attractive to bully a 10% audience, that is willing to pay huge margins, into switching to Android.

<comment><USER8> Exactly. You'd think there would be people left in Cupertino getting an uneasy sense of deja vu right now.

</comment></comment></comment></comment></comment></comment><comment><USER40> I don't think Apple designed iPhone to become the world's most profitable mobile phone maker. Apple just happened to become the one with its "Apple II attitude" to mobile computing.

Compared to how Apple II got obsolete in the personal computer market in 1980s, iPhone/iPad has much brighter future from its solid ecosystem.

It's just the time for Apple to start selling low-priced iPhone models to compete against Google in developing countries.

</comment><comment><USER41> Apple partly helped make Samsung popular with their ridiculous patent lawsuit. It was a lot of free press for Samsung.

</comment><comment><USER42> People are delusional if they think ios has better ui than android. The app store has a terrible ui on iOS where many times it doesn't load at all. And dumbing down the ui to one button is not so great.

</comment><comment><USER43> Anyone who follows The Guardian's tech coverage in the UK would not be surprised to learn that the reporter for this article is not a certain Apple fanboy..

</comment><comment><USER44> So the Android strategy of delaying/preventing OS updates to make customers purchase new smartphones after 1-2 years finally paid off.

<comment><USER23> This is not an 'Android strategy'. Downvoting you for lying.

</comment></comment><comment><USER45> I don't think Job's would have allowed this to happen?

</comment><comment><USER46> It is over, Apple is finished.

<comment><USER47> So some outfit called Strategy Analytics, who no one has ever heard of, (but who will no doubt turn out to have Samsung as a shareholder or customer) says that their estimates of Samsung's profits exceeds their estimates of Apple's profits. And the fandroids lap it up.

<comment><USER48> To be honest, your comment comes across as more of a fanboy remark than the guy you were responding to.

And to be honest, I'm just sick to death of how every Apple discussion (and on every forum) ends up as a heated flamewar against brainwashed sheeple who value brand loyalty above their own sanity. And I'm not singling Apple customers out; I'm talking about Samsung / Android zealots in Apple threads as well.

It's as if we, the developed world, have nothing better to do with our time than start arguments on the internet about inconsequential bullshit because someone dared criticize our favorite brand.

<comment><USER49> Android fans care about open source, not Google or Samsung. There's a big difference between that and Apple fanboyism.

<comment><USER48> I disagree. Most Android fans don't follow open source that closely (eg they're Windows users on the desktop). And most open source fans (myself included) don't consider Android _that_ open.</comment></comment></comment></comment></comment>


"True Crime Addict" and the Problem of Internet Sleuths - <AUTHOR> http://www.newyorker.com/books/page-turner/true-crime-addict-and-the-problem-of-internet-sleuths?currentPage=all <comment><USER2> One recent example is Reddit trying to "catch" the Bostom marathon bombers, where Redditors went through the security cams, "identified" a university student as the culprit, which led to immediate harassment of the student's family, and all the self-congratulation you could stomach until the subreddit was deleted, since that student was innocent.

But if you want to read a great, long story of a private sleuthing gone well, I can recommend "The Hunt for the Death Valley Germans" (set aside a few hours for the read): [http://www.otherhand.org/home-page/search-and-rescue/the- hun...](http://www.otherhand.org/home-page/search-and-rescue/the-hunt-for-the- death-valley-germans/)

<comment><USER3> > One recent example is Reddit trying to "catch" the Bostom marathon bombers

I feel like something has been lost in the retelling. That thread was also full of self-aware posts warning about mob mentality, posts criticizing baseless or racist speculation.

A lot of the photos posted resulted in pretty balanced debates about whether they were worth flagging for the FBI or just completely useless. Then again, every photo was completely useless, so every photo "of interest" that was identified was a special failure.

For those who don't know how it emerged, there was a photo gallery posted online that collected photos from the event. There were thousands of photos, people were just dumping their entire SD cards in there. It was obvious the set was full of noise, so the thread was designed to just put a lot of eyes on these images, ala mechanical turk, and reduce the thousands to a few dozen that were most likely to be of interest.

As it happened, the full set contained no images of any value.

The primary mischaracterization of the thread is actually about the student from Brown University. Speculation about him really emerged from the broader social media phenomenon. (Remember the thread's purpose, and that the student would not have been in any of the photos being reviewed... he came from completely external speculation.)

That theory was primarily spread by /r/news and twitter, but /r/findbostonbombers took all the blame for it anyway, even though that was the only place with rules in place designed to prevent exactly this sort of thing. From the sub's creator:

"My particular subreddit never allowed posts about him — they were immediately deleted, as a name is personal information."

...

"In regard to "Find Boston Bombers," I think the media is talking like everything to do with the Boston bombers was posted there, when it's clearly not true."

[http://www.thewire.com/national/2013/04/reddit-find- boston-b...](http://www.thewire.com/national/2013/04/reddit-find-boston- bombers-founder-interview/64455/)

Sure, it was hopelessly naive as a project, and very tiny mistakes can lead to devastating outsized consequences when you're involving that many people. But, I don't know, the thread wasn't quite so thoroughly dominated by misguided monsters as the prevailing narrative suggests, and I think it's a bit of a scapegoat for how awful the entire internet was that week.</comment></comment>


Ask HN: How are you planning your retirement? - <AUTHOR> <comment><USER2> My employer is paying the mandatory statal pension fund on my behalf, and that's it.</comment>


A Brief, Incomplete, and Mostly Wrong History of Programming Languages - <AUTHOR> http://james-iry.blogspot.de/2009/05/brief-incomplete-and-mostly-wrong.html

<comment><USER2> In case you might be wondering why you don't get huge number of upvotes and comments on this, some of us have seen it before. Here are a some of the previous submissions:

<https://news.ycombinator.com/item?id=599164> (+)

<https://news.ycombinator.com/item?id=1310127>

<https://news.ycombinator.com/item?id=1327746> (+)

<https://news.ycombinator.com/item?id=1475826>

<https://news.ycombinator.com/item?id=3503896> (+)

<https://news.ycombinator.com/item?id=3507566>

<https://news.ycombinator.com/item?id=4586462>

<https://news.ycombinator.com/item?id=5129062>

<https://news.ycombinator.com/item?id=5377944>

<https://news.ycombinator.com/item?id=5695816> (+)

I've marked the ones with some discussion/comments.

It's also here: <https://news.ycombinator.com/item?id=5728844>

</comment><comment><AUTHOR> My bad. Was relying on the URL for duplicate checking.</comment>


New to HN, Overloaded by Information - <AUTHOR>

I'm an outsider to the development community.  I enjoy thinking about software and media, however, and came up with an idea that I've been working on for a year now.  I started my own LLC and began contracting with freelance developers.  As a recent applicant to the YC winter session, I'm told to participate and post on the forum to give the YC crew an idea about how I think.
There's a big problem though: I don't know the language of the profession well enough to contribute my input to the vast majority of content I see on the forum.  I feel like attempting to participate in a discussion in which I know %40 of what is really going on only sets me up to look woefully incompetent.
Any help out there for guys like me who are new to the culture of developers? <comment><USER2> First of all, WELCOME!

I don't profess to know a perfect path for you, but the basics for HN are fairly simple, and they also apply to learning lingo and the areas in which they are used (programming, marketing, seo, finance, ...).

0.) Read. You'll learn more by reading than posting.

1.) Be Nice (note: I'm not always nice)

2.) Answer Your Own Questions. If you try to answer your own questions, you may or may not succeed, but at least you'll be far better prepared to both ask better questions and better understand the answers. --You won't get much out of an exchange unless you actually put something into it.

3.) Give Your Best Response. If you respond with an answer or even an opinion, do the work necessary to provide supporting references. As you can see, this is closely related to #2 in the sense of making the homework a bit easier. I've actually seen (and even made) one-line jokes, but the person who replied with a reference link was up-voted more than the joke itself.

4.) Remain Positive. There will always be things you don't understand being discussed, but believe in your own ability to understand them through study and effort.

5.) The Jokes Actually Are Funny, Even If You Don't Get Them, And Even If No References Are Given.

6.) Respect Decisions. Some people can not or will not give specifics of their business ventures. It's their choice.

7.) Everyone Is Busy. If you submit a story or write a comment, consider the time and effort of the reader will spend on it. The time invested is multiplied by the number of readers, so your contribution should have as much merit as possible. --You will both succeed and fail at this, (I do) but the goal is to try your best.

8.) Read the "Guidelines" [1] and the "FAQ" [2]

[1] <http://ycombinator.com/newsguidelines.html>

[2] <http://ycombinator.com/newsfaq.html>

</comment><comment><USER3> Welcome aboard.

A few things, quickly, then I need to get back to coding. ;)

It's fine to lurk a bit, or to ask questions, or to simply post links that you think are relevant to the general developer/entrepreneur community. I think PG et al. would rather see you asking earnest questions than being mute.

Most of the people here have strengths in either programming, business development/marketing, or strategy/execution. You'll see "customer development" and "lean startup" terms coming up a lot, which combine biz dev and strategy. Some people here have design/UX chops, too, although those topics don't come up as much. I'd suggest keeping an eye on the newest threads (<http://news.ycombinator.com/newest>) and seeing where you can contribute either by adding your own insights, or by asking thoughtful questions.

</comment><comment><AUTHOR> I'm glad to see these responses, this forum moves so fast I thought I could have been lost in the shuffle. A big thanks to both of you for taking some time to help me out!

Each time I get into something new it's so important for me to learn the language of that area. Sometimes it takes a while to really be able to understand and operate within a new system.

I'll keep my eyes open and do the best I can.</comment>