Model aircraft operators free to operate commercially in US, rules federal judge - <AUTHOR> http://www.dronehire.org/blog/drone-operators-free-to-operate-commercially-in-us-airspace-rules-federal-judge <comment><USER3> It's not quite so big as the headline, but it's still good. Here's the scoop:

The FAA has long had rules for model aircraft, which would include many small "drones", and under which you can personally operate them now. You're supposed to stay low and away from stuff you could damage.

They also (as of fairly recently) have some rules for UAS (unmanned aerial systems) that are more like the rules for real aircraft, and are working on integrating them into real airspace. Thus a UAS requires a certificate and permission to fly--but they're still working on how to do that, so you can't get one yet. If you were to buy your own Predator you couldn't fly it, 'cause it might run into an airliner. Fair enough.

However, they also declared that commercial use of an otherwise-model aircraft turned it into a full UAS, which you currently cannot fly. So you could use a quadrotor to take aerial photos--but you could not get paid for it.

This ruling, in a nice display of common sense, disposes of this last bit, making operation of "model aircraft" the same regardless of intent. You still have to fly safely, and in limited space, but now you can get paid for quadrotor photography, as the FAA no longer has a basis to fine you. You still cannot fly that Predator, though. Sorry.

But I'd be careful before making too much investment based on this decision. At the very least, check into how the appeals process on a ruling like this works; dunno how final it is. You'll also want to check carefully to make sure your intended use can be performed safely by model aircraft; fully unmanned systems probably aren't going to pass muster (unless perhaps your automated avoidance system is really good).

<comment><USER4> What's the difference between model aircraft and UAS? Is it line of sight flying?

<comment><USER5> Looks pretty grey

 _" There are already hobbyists that operate "drones" by any reasonable definition. The term in the hobby is "FPV" (First Person View) - you install a camera and a transmitter on your aircraft and pilot it from a first-person perspective using a monitor on the ground. The radios on these operate by line-of-sight, but the range is far beyond visual range. You can find plenty of videos on Youtube just searching for "fpv radio control" or variations thereof. Operation of these for recreational purposes is currently unrestricted in the US. This may also change."_

[http://boards.straightdope.com/sdmb/showthread.php?t=673706](http://boards.straightdope.com/sdmb/showthread.php?t=673706)

<comment><USER6> I'm interested in controlled drones not by radio control, but with waypoints, and telemetry provided over LTE. Further investigation required!

<comment><USER7> Very much possible. Ardupilot is one of the more full-featured open source packages, but there are simpler autopilots out there as well. It's pretty common practice to at the very least have a GPS based "return to launch" system on long-range FPV craft as a failsafe for the connection to the ground station being dropped.

[http://ardupilot.com/](http://ardupilot.com/)

<comment><USER8> We loooove ArduPilot. Using ArduPlane and ArduCopter (firmware versions of ArduPilot) as the primary platform for our LTE-Telem box.

The current software for configuring ArduPilot boards has tremendous depth, but I think the UI could use some work. Especially for non-hobbyist users.

</comment></comment></comment></comment></comment></comment><comment><USER9> This appears to be the video that upset the FAA:

[http://www.youtube.com/watch?v=OZnJeuAja-4#t=17](http://www.youtube.com/watch?v=OZnJeuAja-4#t=17)

And here is the complaint the FAA originally filed, which includes flying through crowded streets, flying through a tunnel with traffic, flying as high as 1500ft AGL, flying at an individual causing them to jump aside [apparently moments before crashing into a hedge], and flying within 100ft of the UVA Medical Center's heliport [though the video was being filmed for UVA].

[http://www.suasnews.com/2013/10/25471/the-faas-complaint- aga...](http://www.suasnews.com/2013/10/25471/the-faas-complaint-against- trappy/)

<comment><USER10> Man, that looked rather dangerous and the pilot seemed to have a complete disregard for potentially crashing into buildings and harming someone if that thing fell to the ground or went through a window. If he was just meandering around in what would have looked like a safe manner I wouldn't care as much, but intentionally getting extremely close to buildings and doing acrobatics in a populated area seems pretty reckless.

<comment><USER8> To my knowledge, "Trappy" (nickname of the pilot) is one of the best RC pilots around. He flies for Team Blacksheep, and is a big figure in the drone community for encouraging safety, education, and progressing the tech.

He's definitely known for pushing the envelope on reckless flight, but I get the sense that he would take responsibility if something happened.

These flying wings (foam plane model) absorb a lot of force on impact. Even with the GoPros and all radio equipment loaded on. Aside from causing commotion, I think it's unlikely that you'd severely injure someone. Possible, but unlikely. A quad-rotor heli falling out of the sky would really hurt, though.

<comment><USER11> The issue is the example being set. Trappy is definitely one of the best, but his videos don't demonstrate his hours of experience, or safety considerations, to a novice pilot. The affordability of the machine plus some examples of fancy flying are sure to put dangerous machines in the hands of idiots, and that's best avoided. Remember - these things fly out of the box with no training.

Trappy also has access to many more multicopter spares than the rest of us. This may have something to do with his reckless flying!

<comment><USER8> Agreed.

</comment></comment></comment></comment></comment><comment><USER12> So as a pilot of a manned aircraft what does this mean for the safety of my flights? Do I need to start trying to avoid unlicensed, unlit, and unannounced drone aircraft whenever I'm below 400ft AGL?

Edit: Thanks to everyone below for your thoughtful comments. My replies are as follows: 1) Regarding model aircraft - I would argue that the low density of these operations at the moment is what has prevented an incident between a manned aircraft and model aircraft. Also the nature of radio control has necessitated that the model aircraft generally be withing sight range of the operator, and as such the operator is still able to avoid other aircraft to some extent. This may not be the case for automated drones.

2) Regarding 400 ft AGL. How do I know that the drone operator won't accidentally end up at 600ft+ AGL (for example), which happens to be at the low end of a standard traffic pattern altitude (800ft)? As far as I know there's no way to know what altitude your drone is above the ground except possibly GPS which does not always give you an accurate MSL (or AGL) altitude. Will all drone operators in populated areas be made aware of local air traffic patterns? What if I want to exercise my privilege to operate below 500 ft. AGL in unpopulated areas? I can think of a lot of cases where I've been below 400ft AGL during takeoff and landing while over densely populated areas.

My perception is that automated drones with no mechanism to avoid manned aircraft at or near traffic pattern altitude at densely populated locations is a big problem.

<comment><USER13> I think you're pushing it a bit there. If you exercise your privilege to operate below 500ft AGL, you'd better be _sure_ the area is unpopulated. Since the unmanned aircraft are required to stay within LOS, one would argue that the area there is not unpopulated and hence you are required to maintain 500ft clearance.

As for "will all drone operators in populated areas be made aware of local air traffic patterns?", it seems unlikely that someone wouldn't notice the local air traffic pattern if it includes aircraft at < 500ft AGL.

<comment><USER14> To operate below 500ft AGL the area _doesn 't have to be unpopulated_. As long as it is not a _congested area_ (as in city center) and the pilot is stays 500 feet (distance) from any person, vehicle or structure that pilot is within legal regulations to operate below 500ft AGL.

</comment></comment></comment><comment><USER15> Okay, time to build drones full of atmosphere sensors! The weather forecast is about to get a lot better....this is excellent news for crowdsourcing remote data about the atmosphere. I've been pulling pressure measurements from smartphones for a while, but a core problem is that a lot of weather develops over areas of low smartphone density.

Sending out drone fleets will be a most excellent solution; they're reusable, so you don't have to make 200M of them. They're connected and already carry many required sensors. They're coming down in price and at the start of a thriving commercial ecosystem. Can't wait to start building!

Edit: I wrote about this idea last year: [http://www.jacobsheehy.com/2013/03/living-in-the-future- star...](http://www.jacobsheehy.com/2013/03/living-in-the-future-startup- ideas/)

<comment><USER3> Unless you're collecting your data under 400 feet, this ruling isn't going to enable such a system. Only "model aircraft" operation is involved.

<comment><USER15> Actually I'm exclusively interested in data under 400 feet! Surface-level pressure observations are my target; recent research suggests that a dense network of atmospheric pressure observations (taken on the surface) will produce a significantly higher accuracy forecast. Smartphones work nicely for this except for their lack of even geographical distribution.

<comment><USER6> Get in touch . I'm working on making a low cost sensor box from Raspberry Pi's for wide dissemination; atmospheric/temp sensors, precision GPS receiver, software defined radio for grabbing AIS and ADS-B data, etc, and then open sourcing all of the collected data sets and the live streams.

I would love to integrate with Cumulonimbus! My email address is in my profile.

<comment><USER16> Cheaper than a cubesensor? Where can I subscribe?

<comment><USER6> Different market per se. Not cheaper; its made to help contribute to a sensor fabric, less about your home environment.

</comment></comment></comment></comment></comment></comment><comment><USER17> This reads more like the recent Net Neutrality decision than anything else.

It's less "Drones are free to operate commercially" and more "If the FAA wants to regulate (commercial) drones separately for any other model aircraft, they need to create explicit regulations that apply to them"

What seems explicitly ruled against, is selectively interpreting existing regs as applying to an imprecise (and shifting) definition of "drone" _and_ trying to use a "Policy Statement" as de facto law (by claiming a request for voluntary compliance, but then suing for non-compliance), without following the appropriate procedure or meeting all of the requirements of new regulation.

</comment><comment><USER18> Here is the FAA UAS initiative [1]

In my experience (I don't deal with them directly, just an engineer), FAA is bullish on UAVs, but is obviously very cautious.

This [2] is also a good read.

[1] [http://www.faa.gov/about/initiatives/uas/](http://www.faa.gov/about/initiatives/uas/)

[2] "Integration of Civil UAS in National Airspace System": [http://www.faa.gov/about/initiatives/uas/media/uas_roadmap_2...](http://www.faa.gov/about/initiatives/uas/media/uas_roadmap_2013.pdf)

</comment><comment><USER19> From a different article[0], it sounds like the guy being sued in this case may have been operating the drone irresponsibly, which opens a window for legislators to put laws in place that will gives the FAA power to regulate drones:

> Pirker operated the aircraft within about 50 feet of numerous individuals, > about 20 feet of a crowded street, and within approximately 100 feet of an > active heliport at UVA, the FAA alleged. One person had to take "evasive > measures" to avoid being struck by the aircraft, the agency said.

[0] [http://m.kspr.com/nationalnews/Drone-pilot-wins-case- against...](http://m.kspr.com/nationalnews/Drone-pilot-wins-case-against- FAA/21053270_24851746)

<comment><USER20> You can watch the video of the flight that triggered the lawsuit:

[http://www.youtube.com/watch?v=OZnJeuAja-4](http://www.youtube.com/watch?v=OZnJeuAja-4)

Definitely some questionable flying in my opinion.

<comment><USER21> yeah even for an experienced pilot, in fact, everyone knows - its not if you crash, its when you crash. as a pedestrian i'd be pissed if the wing was busing me at a couple of feet above my head. its reckless.

</comment></comment></comment><comment><USER22> IANAL, but can we get a reading of the actual decision?

As much as I'd like to take this on face value, dronehire.org may have a bias.

<comment><USER23> The article linked has a link to the actual decision:

[http://www.scribd.com/doc/211088332/Pirker- Decision](http://www.scribd.com/doc/211088332/Pirker-Decision)

<comment><USER22> Yes, but IANAL. There's a reading above by not a lawyer as well, which was helpful.

</comment></comment></comment><comment><USER24> Without a law that gets passed otherwise, this also opens up the floodgates to full law enforcement use of drones in public/private airspace. If the sky's open for for commercial use, it's automatically available for law enforcement as well.

I had hopes that there would be some rules/regulations in place first...

edit: assuming the decision allowed use in populated areas, full disclosure that I haven't had a chance to actually read it yet

<comment><USER24> edit: this was an administrative law judge's decision from the national transportation safety board

aka not set in stone

</comment></comment><comment><USER25> Let's stick with some facts (I'm a pilot and work closely with the FAA for my dayjob so I know a bit about this space) ...

\- The FAA is responsible for the safety of U.S. airspace from the ground up. This misperception may originate with the idea that manned aircraft generally must stay at least 500 feet above the ground.

\- There are no shades of gray in FAA regulations. Anyone who wants to fly an aircraft—manned or unmanned—in U.S. airspace needs some level of FAA approval. Private sector (civil) users can obtain an experimental airworthiness certificate to conduct research and development, training and flight demonstrations. Commercial UAS operations are limited and require the operator to have certified aircraft and pilots, as well as operating approval. ... The FAA reviews and approves UAS operations over densely-populated areas on a case-by-case basis.

\- In the 2012 FAA reauthorization legislation, Congress told the FAA to come up with a plan for 'safe integration' of UAS by September 30, 2015. Safe integration will be incremental.

So don't get too excited your drones won't be taking the skies anytime soon.

<comment><USER26> It appears this issue is exactly what the decision addressed. At issue was whether the definition of "aircraft" applied to the model aircraft that Mr. Pirker was flying. You're correct in stating that every aircraft, as defined under the regulations, must have FAA approval (in most cases, a COA). The judge concluded specifically that "aircraft as defined in 14 CFR Part 1, Section 1.1 does not include model aircraft.[1] The conclusion to be drawn is that the FAA approval process does not apply to model aircraft. This finding was in addition to finding that the FAA policies on model aircraft - <USER2> the ban on commercial use - are not legally enforceable.

[1]"Neither the Part 1, Section. 1.1, or the 49 U.S.C. Section 40102(a)(6) definitions of "aircraft" are applicable to, or include a model aircraft within their respective definition."

<comment><USER7> And one of the issues here is that the existing regulations didn't make much sense. The _exact same_ aircraft that would be considered a model aircraft if you would fly as a hobbyist would suddenly be classified as a UAS the instant you took any payment to fly it.

So, I could go out to a field and zoom around a field and record footage to my heart's content and be completely kosher. But if my buddy decided it'd be neat to have a photo of his neighborhood and gives me $5 to fly over and snap one, I'm illegally operating a UAS. Absolutely nothing has changed in terms of what the aircraft is and the level of danger it does or does not pose.

</comment></comment></comment><comment><USER27> Here at my little company Fighting Walrus [1] (we make a radio accessory so small commercial UAVs can be controlled via iPad) we are really excited that there has been some forward movement on the legal front. My personal view has always been that commercial drone use would be worked out in the courts before the FAA really got a handle on their (much delayed) roadmap for integrating them into the national airspace. However I would caution that the FAA is probably going to appeal the decision to the full five member safety board. The FAA is not going to give up regulatory control of this class of small unmanned aerial vehicles (SUAVs) easily.

[1] [http://www.fightingwalrus.com](http://www.fightingwalrus.com)

ps. If this stuff interests you come to the SF Drones Startup Meetup my Co- Founder Bryan organizes - [http://www.meetup.com/SF-Drones-Startup- Meetup](http://www.meetup.com/SF-Drones-Startup-Meetup) (About 700 members so far!)

</comment><comment><USER28> I hope when automated delivery is a reality, those of us who live on high floors of apartment buildings can affix some machine identifiable sticker to the outside of our chosen delivery window.

When that happens, I will know I'm living in the future.

</comment><comment><USER29> YES! I have several business ideas that I've been sitting on because of the restrictions.

Is there a good source someone here can hook me up with already made drones? I can do software, but i'm not really a hardware guy.

<comment><AUTHOR> DJI and 3DR are two of the most popular manufacturers of RTF (ready-to-fly) drones. If you don't have much experience with flying model aircraft, I'd definitely recommend that you practise with a micro multicopter such as the Hubsan X4 H107C. You could also join a drone user group - see dugn.org - there's a group in San Francisco that is focused on startups.

<comment><USER29> Thanks, i'm actually based out of Boston. I'll try to find some groups here.

</comment></comment></comment><comment><USER30> Huh, so if Amazon really wants to start sending out those drones they no longer have any legal hurdles? I expect to hear stories of college kids capturing them before EOY.

<comment><USER31> Capture, hell - I'd enjoy shooting them down with my Remington 877 Express (with gooseload), or maybe my .243 Ruger rifle....but only if they are hovering.

<comment><USER32> So you go around randomly destroying other people's property?

<comment><USER33> That question is as appropriate as "So, you go around randomly trespassing on other people's property?"

<comment><USER34> I'm curious what property owners rights will be for private drone overflight. What altitude will they have to be? I also wonder if I put a 70ft radio tower (amateur radio) with guy wires for support, will the amazon drones be smart enough not to run into my equipment when overflying my house.

</comment></comment></comment></comment></comment><comment><USER27> So as expected (by me at least) the ruling has been appealed by the FAA and will go to the full NTSB so the opinion is stayed until the board rules: [http://www.faa.gov/news/press_releases/news_story.cfm?newsId...](http://www.faa.gov/news/press_releases/news_story.cfm?newsId=15894)

I think the FAA _may_ lose the appeal but we will have to wait and see. This is really political for the FAA; they want to be in control of this area as much as possible so they will fight very hard to get the lower court ruling overturned. There is a large heated discussions thread on DIYDrones.com [1] if anyone is interested in opinions of folks with boots on the ground so to speak.

[1] [http://diydrones.com/profiles/blogs/commercial-drones-are- le...](http://diydrones.com/profiles/blogs/commercial-drones-are-legal-in-the- us-court-roles)

</comment><comment><USER35> Not really. It just means the FAA has to come up with rules just like for any other flying planes. No one wants drones flying into protected airspace, crashing into things, etc. It's not a sudden free for all. They just can't refuse to come up with rules because it's a drone. The rules could still be hard to meet.

<comment><USER36> Can the rules be "they can't fly", or something so prohibitive that it makes it so?

<comment><USER37> Sure. But then all sorts of things will be banned: footballs, baseballs, kites, model rockets, frisbees, conventional model aircraft, weather balloons, etc etc. The better way to do it is with common sense safety standards, certifications and clear rules on airspace.

</comment></comment></comment><comment><USER38> I am not a pilot. But I imagine that there should be not problems flying a piloted unmanned aircraft in uncontrolled airspace--which is, I believe, usually under 1200' AGL. If you're operating remotely without a camera, you keep the craft within line of sight, and double the visibility distance for a manned aircraft. Otherwise, you operate by IFR using whatever telemetry you get back.

With a _drone_ , however, I'd think that operating in controlled airspace would require extensive collision avoidance and fault recovery software, which would have to be tested and certified by experienced pilots.

There is a difference between drones and remotely piloted aircraft, and I certainly hope that the journalists can learn it before we end up with another "hacker" situation.

</comment><comment><USER39> This is simply awesome news for startup/small business UAS operators in the US in the short term. I do have some concern, though, that this could cause the FAA to now rush the rule-making process which could result in half baked, ham fisted regulations. This is especially possible if we see several high profile accidents during this new free-for-all period.

Cheap plug: if you want to play with aerial photography but are more of a software guy than a hardware guy, check out my embarrassingly buggy side project at [http://airboss.io](http://airboss.io). It's an app that lets you use an old Android phone mounted on a drone as a photography/video platform with real-time first person view streaming using WebRTC.

<comment><USER25> You seem to misunderstand you cannot commercially operate a UAS in the US. This is not "awesome news" for all your "disruptive" startups. You cannot "disrupt" the FAA and I highly suggest you do not attempt too; that path is littered with corpses. The FAA does not joke around and your little UAS is no where near up to the 50+ years of standards, processes and regulations in place for modern aircraft. Why do you think new aircraft manufacturers are not popping up every year? The ignorance and complete disrespect for an industry no one of this forumn truly understands is appalling. Your drones are not going to be delivery packages or flying passengers anytime soon (most modern airlines are not flown but "operated" like a giant computer anyways). That is about as close as it is going to get for awhile so dream on.

</comment></comment><comment><USER40> This sounds similar to the UK's CAP722, which is the basis for commercial UAS flying over here. As jccooper said, the immediate industries affected by this will be those which gather imagery or video.

In the UK, there is a restriction against flying out of line of sight. Most operators will fly using a GPS lock for stability but will not be using video streams from the aircraft for anything other than framing shots. Here, commercial UAS are often used as a low-cost, faster alternative to scaffolding; I recently got up a 4am to help an operator survey the exterior of an old hotel in the centre of a large city, looking for damaged pipes. He did the entire hotel in the course of three 3 hour sessions.

</comment><comment><USER41> I read the original motion for this, and it's a good read.

The government has some pretty big restrictions on binding regulations from agencies. Restrictions that make a lot of sense when you realize that most law is made by elected officials with constituents, ie representative democracy. Regulations aren't made like that, so you have a lot of rules to prevent abuse.

One of the restrictions is you need to have defined periods for public comment on new regulations. Which the FAA did not do, as I understand things. It just came up with new rules without following the defined regulatory process. If for no other reason then that, the UAV rules were invalid.

</comment><comment><USER42> After reading the pdf, I'm still not clear: does this mean UAVs can operate in regular airspace (above 400 ft) with proper licensing, or are they still (for now) limited to under 400 ft, and away from populated areas?

<comment><USER3> UAVs (UASs) can operate above 400 ft with a Certificate of Airworthiness (or similar.) However, the FAA will not yet issue you one, as they don't yet have to rules to do so.

UAVs that qualify as "model aircraft" can operate in that domain, as they always could. But now commercial use doesn't automatically turn them into license-requiring UAVs.

</comment></comment><comment><USER25> This is ridiculous. The coming (and fictitious) drone/UAS revolution every little rich punk in Silicon Valley is just that ... day dreaming.

I cannot wait to watch the FAA mow down your dreams. You have NO idea the power of the organization you are dealing with and their commitment to safety.

UAS are not and will not be (for decades) up to the FAA standards. If you are an investor putting money behind these outlandish businesses proposed here then you are even stupider than I thought.

<comment><USER21> somebody's jealous.

</comment></comment><comment><USER43> What if I got 100 drones that picked up a tarp and carried me around (i.e. use them for transport, claiming that they carry the tarp and I just happen to be on it)? Or how about using drones in mass by a non-profit to intimidate at political gatherings?

I like drones, but I have a feeling this is a decision that will get overturned within 5 years.

</comment><comment><USER44> I have yet to see a practical solution that provides separation between UAV and manned aircraft. All flights under VFR are responsible for their own separation by way of see-and-be-seen. I have yet to see a UAV that can visually recognize an approaching aircraft and take evasive action.

<comment><USER45> Perhaps do the separation by height above the ground? In most of the world light aircraft are not supposed to fly below 500ft apart from landing. You could limit drones to flying below 200ft say. It would also reduce the impact when they pack up and crash on you!

</comment></comment><comment><USER46> Is anyone doing an orbiting UAV as a signal transponder for microwave radio? Ie line of site networking. Internet off the commercial backbones. The privacy and security implication should be clear.

<comment><USER47> Sure. Just bounce your signal off the moon:

[http://en.wikipedia.org/wiki/EME_(communications)](http://en.wikipedia.org/wiki/EME_\(communications\))

(There are also plenty of amateur satellites that you can use for communication. You won't like the rules, though: no encryption. You also won't like the realities of powering a radio transmitter in space: with a few minutes of sun per orbit onto a tiny solar panel, you get less radio output power than your WiFi network has.

If only some company were using tethered balloons to provide networking...)

<comment><USER46> An advantage aerial over satellite is lower latency.

</comment></comment></comment><comment><USER48> Now this suddenly became a valid activity for your CV.

[http://nodecopter.com/](http://nodecopter.com/)

</comment><comment><USER49> Just tell me if the burrito deliver network is now possible!!</comment>


How Nextdoor and Nest Cams Are Helping Cops Solve Crimes - <AUTHOR> http://www.wired.com/2015/12/nextdoor-crime-nest-cams/ <comment><USER2> They're also being used to intimidate people - lots of people using Nextdoor to complain about people having the temerity to be the wrong color and walk in their own neighborhood. Link is in the article, but this is worth reading in full as there's a lot of extra depth: [http://www.eastbayexpress.com/oakland/racial-profiling- via-n...](http://www.eastbayexpress.com/oakland/racial-profiling-via- nextdoorcom/Content?oid=4526919)

</comment><comment><USER3> Is this an advertisement? Why does the author plug Nest Cam every other sentence? It would be interchangeble wjth any other home security camera here.

</comment><comment><USER4> Surveillance is unstoppable - even if we don't let the authorities to have security cams it will be the population that will have them.

</comment><comment><USER5> How long before HOAs start flying drones over their members' backyards?</comment>


The Periodic Table of Data Structures [pdf] - <AUTHOR> https://stratos.seas.harvard.edu/files/stratos/files/periodictabledatastructures.pdf <comment><USER2> This is very inspirational but not sure if this is done in the best way. The core value of Mendeleev's approach is to find gaps and predict things that should exist but we haven't found yet. However for this to happen, one must isolate the _" atoms"_ that can't be further broken down and identify the pattern in these atoms. The periodic table created in Figure 4 of this paper doesn't exactly sounds like isolation of "atoms" of data structures.

<comment><USER3> I am fascinated with unifying theories such as the periodic table (Mendeleev's) and the Copernican view of planets orbiting the sun. The previous, Earth-centric model had more deviations than predictive power. The periodic table is also an example of a structure with tremendous predictive power.

I think it's also interesting to distinguish between systems that reveal intrinsic order (e.g. periodic table), and systems that superimpose external order (e.g. a performance review framework).

Behavioural economics is an example of a field that desperately needs a modern-day equivalent of Mendeleev to come around and structure.

I am craving more examples of this, please, anyone, share!

<comment> r-bryan I can't find it now but I recently read of one or two guys who systematically tabulated juggling tricks. Gaps in the table led to new tricks which astonished experienced jugglers -- the way gaps in the periodic table led Mendeleev to predict properties of undiscovered elements. One guy gives talks on juggling at math conferences and on math at juggling conferences.

<comment><USER4> This reminds me of the effort to enumerate all ways of tying a necktie: [http://www.tcm.phy.cam.ac.uk/~tmf20/tieknots.shtml](http://www.tcm.phy.cam.ac.uk/~tmf20/tieknots.shtml)

</comment></comment></comment></comment><comment><USER5> I want that read/write/space-optimized triangle prominently featured in every languages documentation, filled in with the different data stuctures from that language.

Need quick reads? Use Y. Quick writes? Use X. Etc.

<comment><USER6> I think I saw it popularized as the "RUM Conjecture" on HN a while back:

[https://medium.com/databasss/on-disk-storage- part-4-b-trees-...](https://medium.com/databasss/on-disk-storage- part-4-b-trees-30791060741)

[http://daslab.seas.harvard.edu/rum- conjecture/](http://daslab.seas.harvard.edu/rum-conjecture/)

<comment><USER7> Same authors as the OP btw:

Manos Athanassoulis Postdoctoral Researcher

Michael S. Kester Graduate Researcher

Lukas Maas Graduate Researcher

Stratos Idreos Assistant Professor of Computer Science

</comment></comment></comment><comment><USER8> About the gaps

"""Mendeleev was a friend and colleague of the Sanskritist Böhtlingk, who was preparing the second edition of his book on Pāṇini[47] at about this time, and Mendeleev wished to honor Pāṇini with his nomenclature.[48] Noting that there are striking similarities between the periodic table and the introductory Śiva Sūtras in Pāṇini's grammar"""

More: [https://en.wikipedia.org/wiki/Dmitri_Mendeleev](https://en.wikipedia.org/wiki/Dmitri_Mendeleev)

</comment><comment><USER9> The generalized form of the "Periodic Table" is the Morphological Analysis. [http://www.swemorph.com/ma.html](http://www.swemorph.com/ma.html)

Most of the theoretical work is in picking the right properties that expose the right trade-offs. Beyond that, the method is deceptively simple.

</comment><comment><USER10> this is probably off topic, but I've waited before asking until I found the closest topic from my perspective:

A while back (order months or years but certainly within last 2 years) someone mentioned a paper, I believe it was here on HN either as the topic or in a comment, but perhaps it may have been on IRC.

I am no longer able to find back this paper, and have only a vague recollection of it (I had read the abstract and the introduction and then postponed reading until I forgot about it).

It dealt with the problem of say 2 peers each having their own list or set, and part of their list is in common, but both may also have entries the other doesn't have. The problem was finding the most efficient way such that both end up with the union of both lists or sets. A brute force way would be to each send a copy of their list to the other, a slightly less brute way would be to have only one send a full copy, and have the other return his difference. But the paper detailed a more efficient method, which obviously I can't remember...

Does this description ring a bell? Does anyone know the paper I am trying to locate?

<comment><USER11> I actually have a similar question to yours--I lost track of a set of notes that was linked to in a HN comment, and would like to find them again!

The notes were a (draft?) PDF for a textbook on algorithms--much like _Mathematics for Computer Science_ by Lehman & Leighton [1]--but instead, the topic was narrowly restricted to algorithms with a cryptographic or otherwise number-theoretic basis. In particle, hashes, content-addressable storage, and Merkle-trees were covered.

[1] [https://courses.csail.mit.edu/6.042/spring18/mcs.pdf](https://courses.csail.mit.edu/6.042/spring18/mcs.pdf)

<comment><USER12> Not this one by any chance?

Boaz Barak, "An Intensive Introduction to Cryptography"

[https://news.ycombinator.com/item?id=17896692](https://news.ycombinator.com/item?id=17896692)

<comment><USER11> Very interesting. I can't actually decide if this was what I had in mind, but it actually looks better. Thanks!

</comment></comment></comment></comment><comment><USER13> I was reminded slightly of the taxonomy of abstract data types (as opposed to data structures) that appears in Sally Goldman's _A Practical Guide to Data Structures and Algorithms using Java:_

[https://books.google.com/books?id=xT8qBgAAQBAJ&lpg=PP1&dq=A%...](https://books.google.com/books?id=xT8qBgAAQBAJ&lpg=PP1&dq=A%20Practical%20Guide%20to%20Data%20Structures%20and%20Algorithms%20using%20Java&pg=PA22#v=onepage&q=A%20Practical%20Guide%20to%20Data%20Structures%20and%20Algorithms%20using%20Java&f=false)

</comment><comment><USER14> A few months ago I saw a program like this that would derive a data structure for you based on what operations you wanted to perform (inserts and queries, for example) but I haven't been able to find it again.

<comment><USER15> Is this the one you're thinking of? [https://blog.acolyer.org/2018/06/21/generalized-data- structu...](https://blog.acolyer.org/2018/06/21/generalized-data-structure- synthesis/)

<comment><USER14> That's it! Thank you.

</comment></comment></comment><comment><USER16> Here's the citation from parent link seas.stratos.harvard.edu:

S. Idreos, et al., "The Periodic Table of Data Structures," Bulletin of the IEEE Computer Society Technical Committee on Data Engineering, vol. 41, no. 3, pp. 64-75, 2018.

</comment><comment><USER17> You could make a periodic table of many things. Websites, languages, databases, etc. Maybe some new ideas could be uncovered.

</comment><comment><USER18> Should "Data Structures" be followed with "is"? I was under the impression that since it's plural, we'd have an "are".

<comment><USER19> In this case, yes.

> This is why many argue that research on algorithms and data structures is

"is" refers to "research", not "data structures"

<comment><USER20> The sentence in question is

> _Data structures_ is how we store and access data.

wich is arguably just a bad sentence.

<comment><USER21> The grammar is still correct if the reference here is to data structures as a singular group which is actually what the sentence appears to do.

<comment><USER22> Whether it's correct or not, it's not a great sentence, and would benefit from a rewrite.

Language is weird sometimes, so I'm not certain, but your argument seems circular and incorrect. Use of 'is' doesn't cause 'data structures' to be singular a collective noun. The noun is plural, so the correct verb is 'are'. The sentence would need to name the singular collective in order to use 'is'. For example: "A set of data structures is how we store and access data." That would be correct. Arguing that "Hard disks is how we store and access data" is correct and that "hard disks" is a singular collective noun, because the sentence used 'is', is not normally accepted grammar.

</comment></comment></comment></comment></comment><comment><USER23> If this works, a universal method to an exact solution for all differential equations would be on there. Good luck with that.

</comment><comment><USER24> Reminds me of GoF patterns (the approach), but the result here seems more pedagogical...

</comment><comment><USER25> I see Tarjan cited but no Sedgewick, or CLRS. I'm against obsequious citations, so I'll give the benefit of the doubt that these aren't needed.

<comment><USER26> CLRS is wildly overrated; it's got a lot of odd gaps in the data structures that it does cover, and wastes a lot of time and space on esoteric junk.

<comment><USER27> What's your preferred reference?

</comment></comment></comment><comment><USER28> A Cartesian product is not a periodic table</comment>


From Losing Money to a Profit Margin in 5 Months - <AUTHOR> http://nathanbarry.com/profit/ <comment><USER2> From one of the linked articles:

> I've been a fan and customer of Freshbooks for years. They were self-funded > for a very long time until recently raising a large round of funding when > they had over 200 employees. I'm pretty sure Mike's dealt with similar > problems. Unfortunately I just missed a great opportunity to ask him about > it.

Freshbooks was not self funded until they had over 200 employees. One of the founders' parents put in money and a very prominent CEO of a major tech company put in money and a very large financial company put in money and then they hit 200 employees.

2nd Site Inc., the previous name, was self-funded / bootstrapped(ish). But they weren't Freshbooks for very long without no longer qualifying by any stretch of the imagination as "bootstrapped" or "self-funded".

<comment><USER3> Ah, I didn't know that! For some reason I always thought of them as self- funded until that funding round.

<comment><USER2> It isn't really your fault. The media generally took Mike's comments from years back out of context and continued running them while they were no longer true.

</comment></comment></comment><comment><AUTHOR> > Outside cash is expensive.

I think this was my biggest takeaway from the article.

It's also really interesting to compare and contrast this with Buffer's very open blog concerning profitability and growth - [https://open.buffer.com/layoffs-and-moving- forward/](https://open.buffer.com/layoffs-and-moving-forward/) . I believe Buffer is a few years farther down the line than ConvertKit, but it's interesting to note their decision making throughout the entire process.

<comment><USER4> Had exactly the same thought, especially when he mentioned about growing the team to 20, lots of similarities, hopefully with some good lessons for ConvertKit from Buffer's transparency.

</comment></comment><comment><USER5> > Silicon Valley Bank declining to talk to us about a line of credit since we > aren't VC backed—even though our profitability, cash on hand, and growth are > far better than most VC backed startups.

Going from the VC world to bootstrap has been a night and day experience for me at the new gig. It's surprising how hard it is to get credit lines established, even if you are shedding cash.

<comment><USER3> Yeah, now that we have a decent amount of cash on hand Wells Fargo and other banks have offered to reconsider on smaller lines of credit ($100k).

<comment><USER6> Go to a small bank. I'm a bootstrapper and I have lunch every couple of months with the owner/ceo of the bank we do business with. They have about 25 branches within their family (under 2 brands).

Small banks still do business the old fashioned way. Credit isn't an issue if your cash flow supports it.

The best (banking) move we ever made was switching from a huge bank to a small bank.

<comment><USER7> This is really solid advice. Small bankers are interested in actually _banking_. I know that sounds silly but the larger "big name" banks are answering to a different master (no I'm not sure who that is, but it certainly isn't the small to medium business customer!)

<comment><USER8> Just don't get too addicted to that line of credit. If the bank yoinks your ability to borrow when cash is tight, you'll be hurting.

</comment></comment></comment></comment></comment><comment><USER9> As another company that's part of the 'open financials' movement (or whatever you want to call it), it's been amazing to witness ConvertKit's skyrocketing growth over the past year. Great to now see the other side.

<comment><USER10> I'm also very grateful for this blog post.

It doesn't seem fair to consider this a case of it taking 2 years to reach 3K MRR, I don't think. I assume it was more like a 5 month stretch of work, then a year mostly taken off, then another 5 month stretch with 50k invested.

I would like to hear Nathan confirm or deny this if he has time.

<comment><USER3> I worked on it pretty consistently all along. Though there were a few months in there where I only did 10-15 hours a week on ConvertKit.

</comment></comment></comment><comment><USER11> Congratulations, Nathan – and thanks for continuing to be so transparent with how you run your business. It's inspiring, instructive, and just plain generous of you to share so much.

</comment><comment><USER12> _" I totally understand the business reasons for their decision, but some days it feels like the game is rigged against bootstrapped companies."_

I guess they grew to trust each other and the business system they developed. In order to be trusted, outsiders require real evaluation, which is expensive and thus - avoided most of the time. That is something that occurs in other domains of activity too.

<comment><USER3> A friend described it to me as AWS wanting to get a few multi-million dollar per year accounts. By offering tiny amounts of credit to every YC startup, they know they have a good shot of getting a couple of those each year.

Which totally makes sense.

</comment></comment><comment><USER13> Your savings from the contract renegotiations is impressive.

Can you provide a little more insight on this "Then with our email infrastructure provider we were able to switch to a managed service, saving about $900 per month."

What email infrastructure did you have in place before and is the managed service you are now using dedicated servers or something else?

<comment><USER3> Those are mostly from asking for volume discounts. At that time we were spending over $4,000/month, so it wasn't more than a 20% discount.

Now that we're at $10,000 per month I was able to get another $1,500 knocked off.

</comment></comment><comment><USER14> Sucks that Amazon doesn't recognize non-VC startups. This is why I love Bizspark- great benefits and easy to join. It was a big factor in me choosing Azure to build my side business on.

</comment><comment><USER15> Look into Indie.vc as a funding vehicle - it could be perfect for you right now. From my understanding it is a loan that converts into equity if you take VC investment in the future, unless you've paid it off. It's an experiment though it looks like it's going well as they're increasing the max loan sizes.

</comment><comment><USER16> It would be interesting to see how the first six months worked out. Did you work on it full time? Do/Did you use the product yourself? (dogfooding). When did you get your first user. What was your marketing strategy.

</comment><comment><USER17> What I never fully understand is why not focus on being profitable on an ongoing basis instead of a profitable business being an "event". Seems to me the basic purpose of business is to make a profit, not to hire people and "grow"(sans profit).

<comment><USER18> If you're trying to sell software to mid-sized businesses, it can be hard to be profitable.

If you want a big market, you need to implement a lot of features. That involves many many people-hours of development.

You can specialise into one market and not need as many features, but then your market is smaller, and you're high-end.

If you're selling things that cost $50-$100 a month, and you're at 10 employees, you need a pretty big amount of businesses that need onboarding to reach profitability. And it's hard to convince people to use your software! It takes a time (and of course a money) investment.

But the counterpoint is after you hit profitability you'll probably stick to it for a while. if your company is at 4-digit LTVs for customers, that's basically like selling cars.

But in order to have your "cars" to sell you need to build a lot of things, and sell to a lot of people.

Thought experiment: Your product costs $50/month. Let's say you're the only employee. Do you think you could manage selling 100 subscriptions to reach "decent" profitability by yourself?

<comment><USER19> > If you're trying to sell software to mid-sized businesses, it can be hard to > be profitable.

This is not true whatsoever. I've executed diligence services on more than 15 software companies in the last year alone. Many of these are very profitable (80% gross margin and 30% EBITDA) and growing at steady 10-20% rates....you just don't read about them on TechCrunch because they aren't perceived as unicorns.

<comment><USER18> Sorry, I wasn't clear.

Very easy to be profitable in the mid-to-long-term. Things like Drip, WP Engine, And here, ConvertKit all prove this. In theory you don't need 10 years. I was talking more about the initial years.

I'm wondering though, how many of those software companies were profitable in the first year? Usually the fastest way to get to profitability is to be very unprofitable at first to build up your base, and then rely on (hate the word but) virality and scale to cross the threshhold.

But totally agree that it's very feasible to build a very profitable business in less than the 8 years or so it took FB.</comment></comment></comment></comment>


What's the best website prototyping/wireframe/greyscreening product(s) you have used? - <AUTHOR>

I am curious to know what processes/practices/products/tools people here are using for creating wireframes and greyscreening their websites and web applications?<p>What have you found that works particularly well for you and is there anything you think deserves mentioning? <comment><AUTHOR> Currently, I mostly follow a process outlined nicely in the link below (expect for greyscreening interactively, my grey screening is done with everyone sitting and editing a Dreamweaver template based solution together)...

[http://www.newfangled.com/web_development_prototyping_proces...](http://www.newfangled.com/web_development_prototyping_process) (If you don't want to watch the video above it is summarised in 4 nice pictures at <http://onwired.com/portfolio/>)

I am thinking about using Drupal (or even Joomla to a lesser extent) as the CMS just for interactive greyscreening just so it can be done asynchronously and on a distributed basis.

</comment><comment><USER2> Paper & pencil works best. Pen works as well.

If you're looking for more technical whiz bang option, I like Freehand which used to be made by Macromedia.

Photoshop works too.

Visio has always seemed like a poor tool for the task. Might be my lack of knowledge on how to use it.

Dreamweaver is nice too. I like to just pick a standard template to start with and try to add as much content as I think the final site will have. Design can come later.

Now that I'm thinking about it, WordPress could be used to hash out content as well.

<comment><AUTHOR> Pen and paper is best for very early concept design but quickly becomes a chore for complex sites.

To resolve this, I have tried LucidSpec (<http://www.elegancetech.com>) and AxureRP-Pro (<http://www.axure.com>) which are better in many ways than using Visio and even Freehand to a lesser extent. I like my early prototypes to focus less on graphical elements and more on functionality, user flow and interaction, and the latter tools make the mock look "too real" hence people focus on elements that are not so important at the early stages e.g. colours.

Dreamweaver remains the best for balancing creativity and productivity (concepts can be realised quickly as they are already partially built). Photoshop seems to be best for pure creativity (provided you have sufficient skill to cut up your designs and implement them).

What I am really interested in is the grey screening part. Thoughts? Thanks.

<comment><USER2> I just checked out the videos of the two websites. They look fantastic, especially Axure. If I building a complex app, I'd probably use it.

As for grey screening, I've never heard the term. I searched on Google and it didn't turn up anything.

What is grey screening?

<comment><AUTHOR> Watch the video in the link...

[http://www.newfangled.com/web_development_prototyping_proces...](http://www.newfangled.com/web_development_prototyping_proces..). (If you don't want to watch the video above it is summarised in 4 nice pictures at <http://onwired.com/portfolio/>)

I..it is baciscally creating an interactive wireframe without the graphics and focused on structure and interaction.

I am a developer, not really a designer, and working with others i have found we have some many different interpretations of meanings it is just easier to create things on the fly together. Unless you sit together in a room, this can be hard. Hence I am thinking of using Drupal as a base system for doing this.

</comment></comment></comment></comment><comment><USER3> I downloaded Smart Draw (<http://www.smartdraw.com/>) last week and it seemed promising for tedious tasks like layouts and site maps, not so much for the graphic design side. Seems like a nice tool but they have a ridiculously anti- user trial period of "7 Application Launches before time out". I didn't feel that I was able to try it out enough before it timed out on me so I didn't buy it.</comment>


I broke down crying: Canadian video game creators face grueling crunch hours - <AUTHOR> https://www.cbc.ca/news/entertainment/burnout-crunch-canada-1.5109599 <comment><USER2> My fist job was with a company that had also hardware projects and we had a hard deadline to not miss the re-stock of supplies of big retailers. So since management decided to change one of the core features 6 month before the deadline we worked on weekends in exchange for money. I was young, felt very close to the team and also needed the money to pay off my student loan. After a summer without weekends to relax I was pretty burned out and I realized how the money wasn't worth it.

After working there a while I also realized how the company used the coolness factor of the products and the feeling of belonging to the team to get people into working a lot while paying less than the rest of the industry. I think this is also often done in the game industry

My question is: after your first crunch time, don't you think about priorities in life? Also, at least the programmers won't have a really hard time to find other jobs why do you stay in this rather abusive industry?

<comment><USER3> The industry filters first against people who don't want to crunch or to move: the old hands of game development are almost uniformly workaholics and willing to uproot themselves to a new country for each gig. They are numb to these particular pains. But most people are not, and it shows in the turnover numbers.

The second promise that keeps people in tends to be built around having multiple tiers of employee: the ordinary worker, and the lead/senior/director/etc. - where the higher rank gets more sway and less vulnerability to layoffs, as they are the "core" of the studio identity, and as a core member they hold some more bargaining power and creative freedom. Most of the employees are there to fill in the ordinary stuff - the small props, environmental details, and minor features.

Even with the programmers this holds true: the core technology groups of the large publishers tend to be at some distance from the teams working on a product. These top level people are also the folks that can most easily crossover from high-profile tech in games to high-profile tech in another field. Many of the people who write shipping code that is not the core engine(customized gameplay features, event scripts, etc.) get positioned - willingly or no - as specialized grunt labor, making a career move harder later. There's a lot of little stuff shaping narratives here.

On that note, one of the things that is on the table for game unionization efforts is standardization of job titles.

<comment><USER4> > standardization of job titles

I've long thought that this was needed industry-wide. As it is, job titles are largely meaningless. It shouldn't, and doesn't have to, be that way.

</comment></comment></comment><comment><USER4> It may be worse now, but the computer game industry has long been one of the worst in terms of the conditions that devs work under. It is, perhaps, the most cutthroat sector of our industy.

That's why I left it -- I can do exciting, impactful, cutting-edge things in other sectors without having to endure death marches and crunch times.

<comment><USER5> Obligatory Coupland reference [https://en.m.wikipedia.org/wiki/JPod](https://en.m.wikipedia.org/wiki/JPod)

</comment></comment><comment><USER6> Just work for a small game company that doesn't ship products or advertise physically and hence has much less crunch requirement (much easier to delay a digital product). Plus, typically the Owner is working himself as a designer or programmer, so any crunch for the team means crunch for him.

With the launch of the Epic Games Store and the coming explosion of platforms, plus mature middleware like Unity and Unreal, times are great for well- organised Indie teams.

<comment><USER4> Smaller companies tend to have less financial room to maneuver, though. Delaying a release means delaying revenue while at the same time still having to pay salaries, etc. Sometimes, a company can't afford that delay.

Still, my personal bent is that I'm more likely to be willing to do that for a small company (whose owner I likely work with, and I have a greater personal investment in) than a large one.

That's one of the several reasons that I prefer to work for small companies.</comment></comment>


The Myth of the Rockstar Programmer - <AUTHOR> http://www.hanselman.com/blog/TheMythOfTheRockstarProgrammer.aspx <comment><USER2> After reading numerous posts on the subject of 10x software engineers, I reckon they fall mostly into two categories:

\- _`I have worked with / seen code of such ones'_ (often examples follow)

\- _`there were no such ones on any team I ever managed '_, with OP falling into this category.

Which is to say, the existence (or absence) of 10x software engineers appears to be party recognition problem -- managers do not want to believe one `rockstar' is responsible for most of team's output.

The other part, is the sampling bias: managers don't get to work with the Torvalds, Bellards, etc. Such software engineers often don't need to be, or aren't managed while producing their most important code. Neither they do respond to ``we are hiring rockstars'' types of job ads...

<comment><USER3> There also seems to be some ideological motivation for claiming rockstars don't exist.

The existence of rockstars provides fodder for individualist ideologies. Many people are more collectivist, so therefore feel the need to dispute the existence of rockstars. This is a little bit evident here - you need a rockstar team, with _diversity_. It's far more evident in the last post on this same topic.

(Not quite a dupe, but it might as well be. [https://medium.com/about- work/6aedba30ecfe](https://medium.com/about-work/6aedba30ecfe) )

Amusingly, it's also a very corporate philosophy. "No programmer is worth more than any other, therefore to advance you must enter management." Tends to be self selecting in such corporations, since everyone who isn't mediocre leaves.

<comment><USER4> > No programmer is worth more than any other

I don't think that's what's being said. IMHO the message is:

\- No programmer is worth 10x the average. (though some might be worth 1/10 * the average).

\- A high-functioning team is more important than a high-functioning individual, and these two are sometimes at odds if you give free rein to the "individualist ideologies".

Both are debatable and IMHO are _often_ true, but "No programmer is worth more than any other", i.e. "all programmers have exactly the same worth" is not Hanselman's point. It is an corporate anti-pattern.

"each person has different strengths and weaknesses and is growing at their own rate" is recognised implicitly in a healthy working environment. Whether management gets it or not.

<comment><USER5> In the observation that kicked off the meme, a 10x engineer was someone who was 10x more productive than the least productive members of the team, not 10x more productive than the average.

<comment><USER4> Yeah. If the least productive member of the team is clueless and gets nothing done, then a competent programmer is literally _infinitely_ more productive than that. It's not a very well-calibrated metric.

<comment><USER6> It's pretty typical, I'd say, for the least productive member of a set of 10 programmers to have negative productivity...

</comment></comment></comment></comment></comment></comment><comment><USER7> In the same vain I responded to Shanley's post: this is missing one type of engineer that is common in our field:

* Average Engineer - Creates complex _problems_ in response to simple problems...

This is where the desire for rockstars / 10x engineers comes from. One person to clean up the mess made by 10 others.

<comment><USER8> That's exactly what I thought as well.

I'd very much prefer having the 10x engineer meme replaced by that of the 0.1x engineer: the one that gets the same task done with 10% of the code and effort.

The times I've felt by far most valuable is when I found a way to make that multi-month project simply obsolete by just changing a couple hundred lines of code in an unexpected place.

<comment><USER9> See also: [http://folklore.org/StoryView.py?story=Negative_2000_Lines_O...](http://folklore.org/StoryView.py?story=Negative_2000_Lines_Of_Code.txt):

 _" In early 1982, the Lisa software team was trying to buckle down for the big push to ship the software within the next six months. Some of the managers decided that it would be a good idea to track the progress of each individual engineer in terms of the amount of code that they wrote from week to week. They devised a form that each engineer was required to submit every Friday, which included a field for the number of lines of code that were written that week.

Bill Atkinson, the author of Quickdraw and the main user interface designer, who was by far the most important Lisa implementor, thought that lines of code was a silly measure of software productivity. He thought his goal was to write as small and fast a program as possible, and that the lines of code metric only encouraged writing sloppy, bloated, broken code.

He recently was working on optimizing Quickdraw's region calculation machinery, and had completely rewritten the region engine using a simpler, more general algorithm which, after some tweaking, made region operations almost six times faster. As a by-product, the rewrite also saved around 2,000 lines of code.

He was just putting the finishing touches on the optimization when it was time to fill out the management form for the first time. When he got to the lines of code part, he thought about it for a second, and then wrote in the number: -2000.

I'm not sure how the managers reacted to that, but I do know that after a couple more weeks, they stopped asking Bill to fill out the form, and he gladly complied."_

</comment></comment></comment><comment><USER10> He's empirically wrong because I've worked with 10x developers.

A few years ago I worked with a guy there whose output, productivity, and smart solutions combined with godlike C++ coding ability made him probably 100x more effective than anyone else in the place.

This was in the front office at Goldman Sachs, so the rest of us weren't completely useless. He was just in a different league though.

I have also worked with a 10x developer who carried a small company of around 50.

<comment><USER11> > He's empirically wrong because I've worked with 10x developers.

I believe you meant "He's anecdotally wrong because I've worked with 10x developers."

To be empirically wrong, you'd have to contradict it with some empirical rather than anecdotal evidence.

<comment><USER12> Anecdotal evidence _is_ empirical evidence. It's just not very convincing because it doesn't come with any information about how common experiences like those are, or what confounding factors might be at play.

Now, in this case, confounding factors probably aren't a problem, but if 10x developers are one in a million or one in a billion, an anecdote about how someone, somewhere actually met one once isn't very helpful to the rest of us.

<comment><USER13> Validity of the observation is a potential confounding factor. There are clearly people who impress their coworkers to the extent that those coworkers believe the person is a 10x-average programmer. That's what this kind of report establishes. But is the judgment of those coworkers correct? Is the person _actually_ 10x more productive in any kind of rigorous, verifiable sense? Generally these reports don't come with enough evidence to establish that.

</comment></comment></comment></comment><comment><USER14> Collaboration overhead. If you replace 10 average programmers with 1 good programmer he doesn't need 10x productivity to match the combined productivity of 10 programmers (which is not a sum). On top of that, programming productivity is also a qualitative measure that goes beyond feature X working correctly. One person can code it in such a way that every time it needs changing it's easy to work with - thus saves uncountable hours in the future.

Not all men are created equal - I don't see why anyone would rail against that. Some people are stronger than you, some people are better coders than you - it's OK. Compare yourself with last year's you instead.

<comment><USER15> "Some people are stronger than you, some people are better coders than you - it's OK. "

What some people fail to get is that coders have over human powers. A strong person can't surpass human limits. He can't lift a car with his hands. But a person with a machine can.

You can't short all the words in a book as a person, but a machine can in less than a tenth of a second.

<comment><USER16> Typo. Should be: You can't SORT all the words...

<comment><USER17> Maybe he really meant to reply to the Goldman Sachs comment :)

<comment><USER16> :)

</comment></comment></comment></comment></comment><comment><USER18> This isn't backed up by evidence or a sound argument, and comparing the capability of women to have babies with the productivity of programmers nicely sums up the intelligence of the argument.

Teams follow the 80/20 rule as well. 20% of the developers do 80% of the work (there is actually evidence in support of this, but I'm not going to look it up now)

Rockstar developers are a real thing. I work with some. I like to think I am one. I'm not talking about loud developers which the author seems to conflate with rockstar developers. I'm talking about the quiet thoughtful guys who have an amazing grasp of how everything fits together. They see the problem in amazing detail with all it's hairiness and then devise a simple, elegant solution for it.

Rockstar developers are the guys who solve the right problems. And there's an infinite gap between them and the bottom guys, because for some problems, the worst developers will never solve them. They tend to be around 10x as productive as above-average developers on the hardest problems. On easy problems there's a much smaller difference.

In my free time I work on a multi-threaded high-performance ACID relational database with concurrent algorithms, custom memory allocation and layout, hybrid index data structures and garbage collection algorithms. I don't know too many developers who can solve those kinds of problems, so I like to think I'm special. But all humans like to think that, so maybe I'm not actually a rockstar developer and I'm really just average-delusional. Who knows.

</comment><comment><USER19> > Reality is a normal distribution curve. Lots of good average senior > developers, some amazing outliers and some junior folks with potential. (and > some folks that suck.)

Strange, but this doesn't seem to be the case for me, or at least the people that I've had to interview and work with. I've run into far too many developers who have no business installing apache much less making anything of use for a client.

I don't consider myself a "rockstar," but when you put me next to one of these folks my productivity is going to be 10-fold better _at least_. On top of that, the things I build will be reliable and maintainable -- their will be a mess of technical debt that breaks every few days.

As a sidenote, I find this obnoxious:

> I hate Quora so I won't link to them, but here's a modification of a great > answer from Nate Waddoups that was taken from some internal engineering > paperwork:

"I hate Quora, so I'll just steal their content and post it here."

<comment><USER20> > As a sidenote, I find this obnoxious: > "I hate Quora, so I'll just steal > their content and post it here."

It's not Quora's content. Quora's TOS explicitly states that users retain ownership over their contributions. Quora only gets a non-exclusive license.

Scott Hanselman works for Microsoft. Nade Waddoups works for Microsoft, wrote an internal document at Microsoft, and then posted part of it to Quora as an answer.

Therefore: The copyright is held not by Quora, or even by Nate Waddoups -- but by Microsoft. And since Scott Hanselman is performing a PR function at Microsoft through his blogging, he has the right to post that content on his blog.

<comment><USER21> That's a little complex of an explanation. I could still argue fair use. Regardless, it's a coincidence that this guy works for MSFT. I don't know him. I just stumbled on the Quora post.

The link from my post also explains why Quora is evil, I'm detail, FWIW.

</comment></comment></comment><comment><USER22> It doesn't take a "rockstar" or a "ninja" or "guru" or what-have-you to be a significantly above average developer.

Often the biggest hindrance to product quality (including performance, reliability, and usability) as well as to development velocity is technical debt. Having a team member who consistently churns out lots of new stuff of excellent quality is great but not nearly as important as someone who is sensitive to and adamant about eliminating technical debt. The cost of such debt balloons exponentially over time and becomes more and more difficult to pay down the longer it's allowed to grow. But even a fairly modest amount of effort consistently applied before technical debt grows out of hand can realize massive gains compared to the more typical scenario where the technical debt is allowed to grow until it threatens the viability of the entire product before it's addressed.

This may not seem very "rockstar" but ultimately it is such folks who keep the system clean who have the most disproportionately large impact on the quality, viability, market success, and total development cost of big projects.

<comment> UK-AL Its the guys who layout the overall design, making it is easily extensible and not prone technical debt who make a software project. They may not be the most productive in producing code, but they allow others to be so.

It's usually the same guy going over others peoples code, and reducing technical debt.

<comment><USER22> Another thing, a lot of the most important work in development is relatively unglamorous. Most of the time it's better to have a craftsman at work than a diva steering your product in the wrong direction for the sake of looking cool in the moment.

</comment></comment></comment><comment><USER23> >>People love to say that a rockstar can do the work of 10 regular engineers. That's just nonsense. 9 women can't have one baby in a month, and 10 "rockstar" developers can't replace 100 regular ones.

A somewhat confusing attempt to use the 9 women analogy here - it doesn't prove the author's point in any way.

I've worked with rockstar coders and engineers and my empirical experience suggests he's wrong.

</comment><comment><USER24> My theory is that the time taken for an engineer to solve a problem is a hockey-stick/exponential curve based on the complexity, something like __/

The key thing is the knee of the curve is in a different position for different engineers. Basically, up to a certain point, you can crank through a problem pretty well. But once problems reach a certain level of complexity you'll slow down. And at a higher level of complexity, you're just going to go in circles and not going to get anywhere.

The point of a "rockstar" is not that they are 10x faster on the flat part, but their curve is shifted so they are on the flat part while another engineer would be on the exponential part. In other words "rockstar" depends on the problem. Knuth is unlikely to build a basic CRUD application 10x faster than an average HN programmer, but if the problem is building a typography system, he's probably 100x as productive. Likewise, if I had to build a Javascript compiler engine, a self-driving car, Minecraft, or a translation system, I would be stuck around 0% productivity while a "rockstar" would deliver. But "rockstar" depends on the project: on a simpler project, many more people would be able to deliver well.

TL;DR: for a particular project, people who can do that project well are 100x more productive than people who are overwhelmed by the project. But this line moves depending on the complexity of the project.

</comment><comment><USER15> I disagree strongly. I created a software company, I have an amazing team, I know a little about this.

Rockstars programmers exist and they do because they can do machines do work for them, instead of having five people do the work the can do the code 5x to 100x or 1000x faster.

They could automate almost everything, even coding(creating new languages when needed specially for the task) and debugging itself, creating testing code, making failures very hard to happen.

A normal programmer will create new problems, not solve it. She will put mechanisms in place in order for the company to depend on her. She could not be faster but she could certainly make the others to slow down to her level. Beware is she gets to manage Rockstars, she will do everything to put others down, pointing fingers. They are experts excuse makers.

If you look at all big software accomplishments you will discover a very small team of incredible rockstar developers.

What this man is saying is that you need a team, no divas. But who says that Rockstars can't create teams?

One thing you can't do of course is putting Rockstars at the orders of some mediocre person or even argue when you don't know what you are talking about(you need to do your homework first). It is not comfortable.

What this person is saying is that he fears managing a team of people smarter than him, so he just prefers having people that are "normal".

<comment><USER25> > _Rockstars programmers exist_

Of course they do. The laws of probability ensure that. People and their traits usually follow a normal ("bell curve") distribution. Some individuals are at +2.5 standard deviations, and some even at +3.0 but they are rare.

Using the table from [http://www.mathsisfun.com/data/standard-normal- distribution-...](http://www.mathsisfun.com/data/standard-normal-distribution- table.html) we can get some nice numbers to show just _how_ rare they are.

A +2.5 developer is better than 99.38% of the entire population. (1 in 160)

A +3.0 developer is better than 99.87% of the population. (1 in 770)

That kind of talent can not be easy to find, let alone attract. So relying on getting such stars is gambling against some pretty bad odds. Some companies no doubt have found that they can improve the odds of attracting those off-the- charts developers, but for the rest of us mortals...

<comment><USER26> You're mistaken about the laws of probability. The normal distribution arises from sums of the same distribution. This is most frequently found in sample averages, which is . More accurately, sample averages follow a student T distribution, which converges to a normal distribution as sample size increases to infinity.

In general, humans do not follow a bell curve for complex traits. For instance, it's common to see bimodal/multimodal distributions when there are major demographic differences in the population such as gender, race, economic class, etc. Standardized tests have bell-curves because they are "normed." Experimental questions are thrown out if they are not correlated very well with the result.

Also based on the Chebyshev's inequality, +2 std dev has a minimum percentile of 75%. +2.5 has a minimum percentile of 84%. +3 has a minimum percentile of 89%. +k has a minimum percentile of 1-(1/k^2)

<comment><USER3> Not only that, he seems to be conflating standard deviations with productivity multipliers (I'm not exactly sure how to translate his +2 to productivity, I could be misinterpreting), which is definitely wrong.

<comment><USER25> Heavens, no. That wasn't the idea, and certainly not my intention. It was merely a numerical standard deviance value, nothing more.

Granted, the people at the high end of the scale are _probably_ more productive when facing more difficult problems but that's all. "How much more" is then an altogether different question. I'm not sure if one could even put a figure on it.

</comment></comment></comment></comment></comment><comment><USER25> I would have preferred somewhat more content, but the article still had this absolute gem at the end:

> _it 's diversity of thought and experience in a team that makes a Rockstar > Team_

People who complement (and cover) one another's skills, are mostly self- directing and are not afraid to ask "stupid" questions - they are incredibly valuable, together more so than as individuals. I've had the joy of working with/in such teams twice in my career. Problems didn't just vanish, they very rarely materialised.

Eventually all good things must end. Projects end, priorities change, people move on and teams get disbanded. The reality check after such a joyful experience can be shocking.

</comment><comment><USER27> My main takeaway from the rockstar/ninja programmer thing- many people seem to believe that the average programmer produces net negative value, i.e. causes more problems than they solve.

I'm still uncertain whether I believe this, although I'm sure we all feel like we are carrying the team some days. If it were true, it would mean that firing half of all programmers could be the biggest improvement to the software industry ever seen.

</comment><comment><USER28> Each time something like this is posted to HN many are quick to come to the defense of the 10x engineer as not a myth. Since so many HNers are founders/CEOs/CTOs/whatever I wonder how many of them making comments that 10x engineers are "responsible for most of team's output" are actually paying their "rockstar" engineers ten times average.

The best baseball players make much more than the average player, the star of a Hollywood film makes far more than most actors, and true "rockstars" make a heck of a lot more money than the vast majority of musicians.

Anyone know any companies that pay their best engineers multi-million dollar salaries? (if so please let me know where to apply!)

<comment><USER29> Because it's notoriously difficult to measure programmer productivity, companies are generally going to be incredibly hesitant to offer "rockstar" programmers salaries that match their capabilities. There's no box office take or album sales or stadium-filling metrics to rely on.

"Rockstar" programmers generally need to go and (co-)found their own companies to make their multiples of millions. The great difficulty is that being a rockstar _programmer_ doesn't always make you a good product/business person, and the best programming can't save a crappy business. But people like Gates and Zuckerberg are the ones who make it happen.

But if one day we find the holy grail of accurately measuring programmer productivity... (though I don't think that's possible...)

<comment><USER28> That's another thing I've found funny...often the very same people who say measuring programmer productivity is difficult are the ones saying some devs are ten times more productive than others.

</comment></comment></comment><comment><USER30> Allow me to retort: Fabrice Bellard, Linus Torvalds, John Carmack.

<comment><USER31> Pity...go to any job board, you'll see 50 of them needed on any given day

Those aren't the "rock stars" hiring companies are talking about. They don't need & couldn't afford Linus.

Rock star is just a label they slap onto the job description.

<comment><USER32> >Rock star is just a label they slap onto the job description ...

... often to arouse the ego of possible candidates.

I can't imagine why any recruiter wouldn't see the deliberate attempt at patronising candidates when they advertise "Looking for a Rock star programmer." Oh, hang on ... I know why: appealing to and strongly arousing ego is one of the quickest way to get responses.

The team matters more than the individual. Hiring with overt calls to rock stars is surely going to damage communication and collaboration with the current team.

</comment></comment></comment><comment><USER33> Isn't it obvious that the myth or reality of the 10x engineer has a lot to do with what the engineer is supposed to do?

Say that the engineer has to independently develop the general theory of relativity to solve a problem, then I'd say Einstein would have been about Inf times more productive than the average engineer at solving that particular problem.

If on the other hand it's the usual "migrate this crap code from that crap platform to this shiny new golden one" kind of work, then you'd have more of a bottleneck in how fast you can push the buttons on the keyboard...

You can't talk about productivity without defining the task, and software engineering is a field with extraordinary span in the difficulty of tasks.

</comment><comment><USER34> > People love to say that a rockstar can do the work of 10 regular engineers. > That's just nonsense. 9 women can't have one baby in a month, and 10 > "rockstar" developers can't replace 100 regular ones.

This is completely unconvincing, and begs the question: why is software development a sequential fixed-time process like having a baby? Where is the evidence for that?

On the other side of things, there are lots of people - just look in the comments here and in previous related stories - of people that clearly say they have worked with devs that are 10x more productive then the average. Why does the author feel the need to deny that? That's the real question.

</comment><comment><USER35> The author is exactly backwards on the issue of team scaling.

Even if I grant his premise that 10x engineers don't exist (which I don't), let's just presume 2x engineers exist. So is a team of four 2x engineers equivalent to a team of 8 1x engineers? No -- the smaller team is vastly more effective, because of the n^2 communication problem.

This is why strong individual performers are so valuable. Give me my top pick of 10 developers, and we will ship the product at least as fast as any organization _of any size_. Bigger organizations can still work on more separate projects in parallel, but they won't out-develop us on any particular one.

<comment><USER36> "n!" communication problem, not just "n^2".

</comment></comment><comment><USER37> Well, you can't get into electronics and not hear about Bob Widlar, Jim Williams or Bob Pease..

There is such a thing as rockstar engineer. The thing they had in common though was that they're really good, yet are kind on others. They were also extravagent, but that's just who they were. Read about how Jim Williams behaved during his interview, and you'd see what I mean (for the less curious, he was in shorts and sandals, moved really close to the recruiter and started to interrogate him).

</comment><comment><USER38> "In fact, it's diversity of thought and experience in a team that makes a Rockstar Team" \-- this, a million times this. You don't get rockstar results without deep thought and questioning everything. The most efficient way to do this, and the easiest way to create this in your company, is to build a diverse team.

I believe that this is the real secret behind Google.

</comment><comment><USER39> The most important reason we have to insist on the "rockstar programmer" being a myth is that it takes attention away from the CEO that wants to be the rockstar. Rockstars also have more leverage, which chaffs the suits who want you to be just another drone that they can shuffle around like an office chair.

</comment><comment><USER40> I suspect that the strong disagreements between people on this thread on whether 10x engineers exist or not say more about the diversity of HN'er team composition than anything else.

If you put a competent coder among a bunch of not-entirely-stupid, well willing, but mediocre programmers, he can quickly be 10x as productive. He will also clearly stand out as such. Put the same coder among other competent coders, and nobody will notice anything special.

If this is true, there can only be two options:

        - Hanselman only ever worked with mediocre engineers
        - Hanselman only ever worked with truly competent engineers.

Hm. Given recent stories about Microsoft's employee quality downfall, something about my thesis must be wrong. That, or Microsoft really does mostly hire people in the rightmost quartile of a bell curve.

But anyway, no matter whether this idea makes sense, I believe that it never pays to try to hire "10x people". If you find that you managed to find one, it simply means that the most of your team has been underperforming. Get rid of them and replace by one or two other decent ones. Maybe the first mr 10x has some friends?

</comment><comment><USER41> The 10x programmer myth is all about relativity. I suggest there are no 10x programmers, only -10x programmers which make the normal ones look really good.

And people who say that 10x programmers do exist because they have worked with one, are in fact themselves the -10x guy.

</comment><comment><USER42> I never liked the words rockstar and programmer being associated together. The only valid use case for that is if a member of a very successful rock band, with fans and groupies becomes a programmer as a second job. Only then he's a rockstar programmer.

</comment><comment><USER43> In my experience, Managers often mistake Cowboy Coders for Rockstars.

[http://c2.com/cgi/wiki?CowboyCoder](http://c2.com/cgi/wiki?CowboyCoder)</comment>


Elixir vs. Erlang, is Elixir safe bet for my time investment? - <AUTHOR> http://stackoverflow.com/q/37964709/257501 <comment><USER2> Either you learn Erlang, or you learn Erlang _and_ Elixir.

This seems to be the case for languages running on a VM originally developed for another language:

Writing in Scala, Kotlin, or Clojure? You'll still need to know Java. Coffeescript or Dart? You'll still need to know Javascript.*

Usually this comes up during debugging or interfacing with existing libraries.

For some of these, they're really just a pretty syntax on top of the same semantics as the 'host' language. Others can offer both a new syntax and some improved semantics (to the extent of the capabilities of the underlying VM).

Whether the overhead of keeping the mental models for two languages in your head is worth the gain I think depends on what you're familiar with and which of these language pairs you're looking at.

For this pair in particular, I don't think you're getting around learning Erlang. The syntax of Erlang is 'weird', but that ends up not being the hard part of writing Erlang. The hard/wonderful part is the semantics, and Elixir doesn't fundamentally change those.

Personally I don't think the benefits of most of these is worth the hassle of keeping two languages in your head, but I do like the idea that people are writing new languages and syntaxes trying to figure out how to make our lives easier...

*(this also seems true to a lesser extent with Swift and Objective-C, but I think that has more to do with Cocoa and the library interface than the underlying runtime/debugging issues)

</comment><comment><USER3> I tried Erlang years back, but since sampling Elixir, it is going a lot faster for me. I am not a web dev or Rubyist; it's just working out that way for me.

I like Lisp, and came upon LFE, and so I am doing a small task in both LFE [1] and Elixir to see which I prefer. My work is not making huge web sites or the like, so I can afford the luxury of choosing one for fun. I was going to use LFE in a Lisp game jam, and after posting the idea to the LFE Google Groups, an example was made and provided for me ant others using SDL by one of the LFE contributors [2].

I am also working my way through The Handbook of Neuroevolution Through Erlang [3], using LFE. Slowly but surely, but it is a good way to pick up a language, and concepts in the OTP.

[1] [http://lfe.io/](http://lfe.io/) [2] [https://github.com/lfex/sdl2-examples](https://github.com/lfex/sdl2-examples) [3] [http://www.springer.com/us/book/9781461444626?token=prtst041...](http://www.springer.com/us/book/9781461444626?token=prtst0416p)

<comment><AUTHOR> I stumbled on this book earlier. How would you rate it, it is pricey.. Does it provide solid explanation of the concepts with the code to go with it?

<comment><USER3> I bought this book because I wanted to learn Erlang in the context of a subject I am interested in - ANNs. I have been reading books about ANNs and playing with them since the late 80s. Most high-level books on them are filled with math, few diagrams, and assume some knowledge to start.

This book covers a special type of ANN, a TWEANN (Topology and Weight Evolving Artificial Neural Network), and more importantly, how Erlang's distributed computation model ties in really well with modelling this and other ANNs. You may find the expository writing on the basics to be a rehash, but if you are interested in this particular type of ANN, and Erlang, the book has many applications.

The code is inline with the explanations in the book. I bought the book, because for this type of learning I like to have it open in front of me and my computer. I have seen bootleg PDFs here and there online, but I think the book is well worth it.

The author is very enthusiastic about his work. Somebody has started or completed the code in Elixir, and there is a start on the book in LFE too. Sorry but I don't have time to find links just now.

</comment></comment></comment><comment><USER4> I think it depends on your goals and your background.

Already familiar with functional programming and the actor model? Elixir. You'll pick up enough Erlang as you do to be fluent in both; except for macros it's essentially just a syntax difference.

Not familiar with either functional programming or the actor model? Erlang. Because the fact that almost none of the syntax is familiar I found helpful to absorb the concepts, and the right way of doing things. I can't speak to Elixir directly, as it wasn't around when I learned Erlang, but other functional languages that offered me familiar constructs invited me to misunderstand them and misuse them, and either write non-idiomatic code, or to get frustrated when things behaved in ways I did not expect (and even Erlang isn't perfect here, the 'if' construct behaves very differently than most languages, and was a stumbling block for me initially).

In short, I found the unfamiliarity of the syntax helpful for grokking the concepts. YMMV.

</comment><comment><USER5> I've been doing some reading about Elixir this morning...seems like the reviews are overwhelmingly glowing. Though people argue that developers should choose Rails (over Phoenix) because of its ecosystem...I haven't seen anyone argue that they prefer Ruby to Elixir.

For folks who have switched over, what are the things you don't like about Elixir?

edit: nm, plenty of discussion on this in the Elixir 1.3 thread: [https://news.ycombinator.com/item?id=11945389](https://news.ycombinator.com/item?id=11945389)

<comment><USER6> So I switched from Python to Elixir for web backend stuff, but I also have experience with other functional languages like Scala, Clojure, Haskell. I've recently been learning Swift. I really like Elixir overall, these are the parts that I find frustrating.

1) Erlang's (and by extension Elixir's) persistent data structures are great but there are times when (for performance reasons) they're completely unusable and you have to resort to things like using ETS or spawning a process for each value you want to store. There are times when I would kill for something like Clojure's transients.

2) The syntax has some weird edge cases, particularly around first-class functions. For example, having to call closures as "closure.(arg1, arg2)" rather than "closure(arg1, arg2)" or having to (seemingly) immediately invoke a lambda to make it fit in a pipeline like "7 |> (&(&1 * 2).())". I know WHY those two bits of ugliness exist but it doesn't really make me any happier about them.

3) The BEAM VM is very much a world of its own, with limited and well-defined entrance/exit points. It's very easy to do anything in Erlang/Elixir that stays inside the VM or communicates via network socket. It's difficult to do things that interact with the host OS or native processes, things that would be trivial in Perl/Ruby/Python.

The reason why none of these are deal-breakers is that I understand that they're the result of tradeoffs, not poor engineering. It would be easy to design a new language that has none of the above problems but it wouldn't have the massive benefits that the BEAM VM gives Erlang and Elixir.

<comment><USER7> Agree with what you have said but check out porcelain + goon (which is written in go) for handling external processes [1] - it's really great.

[1] [https://github.com/alco/porcelain](https://github.com/alco/porcelain)

Also erlport looks interesting: [http://erlport.org/docs/python.html](http://erlport.org/docs/python.html)

<comment><USER6> Wow, I actually thought about writing a process monitor in Go for my current Elixir project before deciding to just muddle through/learn how to use ports instead. The inability to send signals from Elixir was and continues to be a pain point. I'll be trying out porcelain/goon, thanks!

</comment></comment></comment></comment><comment><USER8> I started watching RailsConf 2016 - Rails to Phoenix by Brian Cardarella [https://www.youtube.com/watch?v=OxhTQdcieQE](https://www.youtube.com/watch?v=OxhTQdcieQE)

as suggested in some comment yesterday and it has some stuff on whether learning Elixir is worth the time. Good talk in general.

Edit link to comment thread: [https://news.ycombinator.com/item?id=11945747](https://news.ycombinator.com/item?id=11945747)

</comment><comment><USER9> I have been playing with Elixir for 6 months or so. As far as I can tell, if you do anything serious other than Phoenix (web framework) you _will_ have to understand Erlang. Not necessarily be able to write Erlang, but you will at least need to know how to read the code and the doc.

So if the choice is between Erlang and Elixir, I would say go with Elixir, and on the way, you will learn some Erlang anyway.

<comment><AUTHOR> Understand Erlang in what sense? You would still write Elixir code but would need to understand Erlang code and syntax because there is larger amount of docs and examples for Erlang ? Have you ever felt that you miss something greatly in Elixir?

<comment><USER10> For example, at one point (presumably very soon) you'll need to understand the difference between Erlang strings (char lists) and Erlang binaries which are called "strings" in Elixir. There might be quite a lot of confusion if you don't understand the context in which Elixir lives.

<comment><USER7> It is in the 6th section of the Elixir Getting Started Guide:

[http://elixir-lang.org/getting-started/binaries-strings- and-...](http://elixir-lang.org/getting-started/binaries-strings-and-char- lists.html)

<comment><USER10> Yeah, I was just giving an example. Not saying that this in particular will be a stumbling stone.

</comment></comment></comment></comment></comment><comment><USER11> Isn't it the better UTF-8 support what is in favour of Elixir?

</comment><comment><USER12> If only the Erlang VM would be a little bit faster at string operations and number crunching at runtime. Using Elixir is really really great, but if I could do some heavier text analysis without resorting to NIFs it would be great.

Maybe we need some NumPy equivalent or the like for the Erlang VM.

<comment><USER3> I wonder if this is where Pony lang will fit in? It is an OO actor-model new language that is supposed to be real fast, and yet have all of the positives of Erlang. I believe it is currently duplicating the OTP features as well if I understand it correctly [1].

You don't send a 'poison pill' to kill off actors like in Erlang's more manual management. It is automatic in Pony.

[1] [http://www.ponylang.org/](http://www.ponylang.org/)

<comment><USER12> I am fed up with OOP languages for now and Elixir itself as a language just "clicks" for me, like Ruby did years ago. I worked with dozens of languages in the past, and only very few of them made me outright happy while reading/writing:

Ruby (earlier versions), Elixir and more increasingly: Rust. Others have advantages, too, but finally I value my own happiness higher than individual features. It's an emotional thing.

This aside, Elixir already maps to the way I think about problems, with pattern matching, piping and OTP it is a breeze to translate (or: "streamline") complicated business requirements into "sequential" code that is very easy to read, write, test and maintain.

For me, any task that software should accomplish is basically a initial state, a target state and I just have to fill the gaps with the needed transformations in between, mostly sequential but also some in parallel. So:

result = state |> func |> func |> func |> func.

and every "func" is defined for special cases individually through pattern matching on its arguments. It incredibly clean and easy to understand how stuff works even for curious non-tech stakeholders.

With the old OOP systems you can "model things" in different ways and then define interactions between. This works also, but is _way_ more complicated in the long run IMO.

As I said, Elixir is quite a perfect language for me. Its just that the occasional raw computation tasks are slow. Something like NumPy/SciPy to call into would be a major improvement here.

Not only this, but actually Elixir (and Erlang) is a incredibly cool language to learn AI concepts because of the way how OTP works, especially when grasping ANN. For general ML techniques the language itself is very great, but ... slow.

</comment></comment></comment><comment><USER13> Go Elixir. You'll be able to do more, and you'll end up learning Erlang anyway. ;)

</comment><comment><USER13> Yes.</comment>


Shoshana Zuboff: Secrets of Surveillance Capitalism - <AUTHOR> http://www.faz.net/aktuell/feuilleton/debatten/the-digital-debate/shoshana-zuboff-secrets-of-surveillance-capitalism-14103616.html?printPagedArticle=true#pageIndex_2 <comment><USER2> This part I think sums it up well....

"The significance of behavioral surplus was quickly camouflaged, both at Google and eventually throughout the Internet industry, with labels like "digital exhaust," "digital breadcrumbs," and so on. These euphemisms for behavioral surplus operate as ideological filters, in exactly the same way that the earliest maps of the North American continent labeled whole regions with terms like "heathens," "infidels," "idolaters," "primitives," "vassals," or "rebels." On the strength of those labels, native peoples, their places and claims, were erased from the invaders' moral and legal equations, legitimating their acts of taking and breaking in the name of Church and Monarchy.

We are the native peoples now whose tacit claims to self-determination have vanished from the maps of our own behavior. They are erased in an astonishing and audacious act of dispossession by surveillance that claims its right to ignore every boundary in its thirst for knowledge of and influence over the most detailed nuances of our behavior. For those who wondered about the logical completion of the global processes of commodification, the answer is that they complete themselves in the dispossession of our intimate quotidian reality, now reborn as behavior to be monitored and modified, bought and sold."</comment>