How hard is it to get access to investors in the Silicon Valley? - <AUTHOR>

<comment><USER2> You don't even need to be in Silicon Valley. I've gone thru the process there and in Seattle. Its not hard to get funding... if you know what you're doing.

The replies on slashdot disagreed with YC ideology, but that does not make them pure garbage. Slashdot is read by an older (more experienced) crowd than news.yc. It would be a good idea to understand some of where they are coming from-- after all they were around during the last boom when the average YC foundre was not yet a teen!

People whose business it is to fund companies are always lookng for good companies. IF the person who is looking to invest is a good person-- then you will have no trouble getting in touch with them-- if your idea is good.

People who don't quite know how to start a business may need coaching before they can communicate... and remember, of course that %95 of the people who represent VC funds in the Bay Area (and anywhere else) are flatline idiots.

so, think of it as a test of their intelligence, whether they get your idea, rather then your worth.

Also it seems to be common that people think that "connections" are important-- they aren't. Not at all.

You often hear the advice "get someone who knows them to introduce you"... that's if you're chasing money. But don't chase money. Build your think, network with your peers, and the money will chase you. Because your peers will say "damn that's cool" and the money will hear it.

Hell... why do you think VC firms hire all the MBA fools from HARVARD who know nothing about technology and whose only education at harvard was doing lines of coke off the bellies of hookers? their only purpose is to find deals.

<comment><USER3> I disagree. I think that it's who you know.

<http://siliconvalleystartupjournal.blogspot.com/>

<comment><USER4> I don't know a lot about getting funded but I know posting a snippet of information on your blog (for two companies no less) and then spamming the URL is not likely to be very fruitful. Have you considered a picking a single idea then creating a prototype, web site, and full pitch? Investors like that kind of stuff.

</comment></comment></comment><comment><AUTHOR> In the comments section for the "Y Combinator Boot Camp" story posted on Slashdot, most replies were pure garbage, but there was one decent opinion. One person said he was rejected from YC but later found out it's easy to get funding in the Silicon Valley. How true is that overall? Has anybody gone through the VC or angel process (in Silicon Valley or otherwise) without YC?</comment>


Full Stack is more than Front end: Every engineer needs to be a DevOps engineer - <AUTHOR> https://syslog.ravelin.com/full-stack-means-more-than-frontend-why-every-engineer-needs-to-be-a-devops-engineer-9c01610d7e21 <comment><USER2> I have come to think of DevOps as an all encompassing term that includes everything. Why not just say the person's a 'wizard' and leave it at that? It's actually not a derogatory term and I would be happy to be called a wizard or even a generalist.</comment>


Copenhagen interpretation of quantum mechanics - <AUTHOR> http://motls.blogspot.com/2011/05/copenhagen-interpretation-of-quantum.html

<comment><USER2> _That's why one can also hear that the Copenhagen school may (or even must) interpret the wave function as a real wave that collapses much like a skyscraper when it's hit by an aircraft on 9/11._

Really? That's the best metaphor you can come up with? Sad.

<comment><AUTHOR> He's making fun of people who look for meaning that is not there in "the collapse of the wave function" by coming up with a outrageous metaphor.

<comment><AUTHOR> Motl's humor is not always in the best taste.

</comment></comment></comment><comment><USER3> Finally a good explanation about QM interpretations!

QM is no fancier than classical probability theory. (just generalized to vectors and subspaces as the event space)</comment>


$100B Tech Vision Fund to Get Bigger - <AUTHOR> https://www.wsj.com/articles/softbanks-vision-fund-is-rapidly-running-low-on-cash-11549466923 <comment><AUTHOR> I used the title from the print edition, which is shorter</comment>


Ask HN: Consider blocking sites that block EU citizens [GDPR]? - <AUTHOR> I think this is a rather different issue than the often rehashed paywall discussion.<p>There is no easy way around it for a large portion of us, and most likely the sites are blocking EU citizens because they are throwing around so much personal data, that they believe it would be impossible to adhere to GDPR. <comment><USER2> I'm so tired of this assumption that because you don't want to deal with the costs of GDPR compliance you are obviously throwing around and selling data. I suspect this is actually a rare case and clearly you are not an engineer or work at a startup. If you did you'd understand that the potential compliance overhead is non-trivial including having a EU representative, legal review of your terms and conditions.

</comment><comment><USER3> I don't consider censorship as a standard tenent of my developer career, and supporting such actions directly goes against my principles, this is why I wouldn't do such a thing, as I'd rather change jobs than fight that.

The sole concept of blocking part of the world from accessing your service because you don't want (or can't) let them access what you have on them, or remove said data, is pretty weird per se. Overly collecting data without consent sure is a problem, and excluding citizens under protection laws made to avoid abuse of said data can only considered as either censorship or law- bypsas.</comment>


Show HN: Free to use static generated landing page template for your mobile app - <AUTHOR> https://github.com/sandoche/Mobile-app-landingpage-template <comment><USER2> I like the minimalistic style. I really like that you included the "Launch as Web App" button. Did you create it?

<comment><AUTHOR> Thanks a lot, yes I did :)

<comment><USER2> Great work. Could you share a .svg version of it on GitHub? Maybe commit to [https://github.com/webmaxru/progressive-web-apps- logo](https://github.com/webmaxru/progressive-web-apps-logo)</comment></comment></comment>


A deep dive into APL - <AUTHOR> https://curtisautery.appspot.com/5776042744610816 <comment><USER2> I am blown away to see how frequently APL seems to come up on HN these days, a language I used professionally for over ten years.

As much as I love it I have to say one of the issues with APL is that it was way ahead of it's time. Because of that it struggled to run on computers of that era.

I was introduced to the language in 1982~ish. Like I said, I used it extensively, attended and presented at APL conferences and even have a picture of my younger and dorkier self with Ken Iverson (creator of APL).

This struggle to run on hardware that could not handle the huge expansions and contractions of memory utilization inherent in the way APL works multidimensional data sets like putty meant it could not compete where other languages had no issues at all. On PC's you were limited to 640K of RAM. It would be years before you could have enough memory to almost not care about utilization.

As the language didn't really catch the attention of the CS masses it failed to evolve as it could have over the years. And this is the reason I would suggest today it is not much more than a curiosity.

I'm sure there are some out there using it professionally. If I were to guess i'd say it must be mostly companies with a significant installed based of APL software they don't dare try to rewrite.

I firmly believe that the future of computing has to be in an APL-like language. By this I mean that we need to evolve to a notation for computing, rather than text for computing. Iverson himself wrote an excellent paper titled "Notation as a Tool for Thought".

The issue is that in order to evolve APL one has to have a deep understanding of APL. And, frankly, there are but a few of us around who have that understanding. Not sure how many of this group would embark on the mission to create a true next-generation APL worthy of it's lineage.

I read and I smile every time I see the language come up on HN. I taught my kids some APL and they are always blown away by it. Not sure where to go from here.

<comment><USER3> > Not sure where to go from here.

For the past few years I've been telling people about the APL family of languages. The clincher for me was seeing the video of an APL version of Conway's Life mentioned in the submission. The impressive part wasn't its brevity, it was how they approached the problem.

In APL you have a 'rotate' operator that shifts data in a particular direction. If you have a vector and you rotate it once, every element moves to the next position and the last element then becomes the first.

The nice thing about APL is that most operations work on data regardless of its dimensionality. So, to do Conway's Life, you take your 2D matrix of cells and produce rotations of it in eight directions (N,NE,E,SE,S,SW,W,NW). You then take those rotated versions of the matrix along with the original and conceptually stack them. Then, for each grid point, you sum downward, producing a new matrix that contains the neighborhood count of the original matrix. From that you can create the next Life generation.

This sort of problem doesn't come up everyday, but the thing that I think is profound is that the existence of these operations allows us to think about problems in different, possibly simpler ways. They are untapped potential and they could be as well known as map and fold.

APL and its derived languages are hard to approach but there isn't much that keeps us from importing the data structures and operations in more approachable languages.

<comment><USER4> Hey Michael, been a fan since reading 'Legacy Code'.

Do you believe that refactoring a large APL codebase would be inherently easier than something like, a large legacy C++ codebase?

What is the relative complexity of comparing, say 1000 lines of APL to 10K lines of C++?

I remember reading an interview between Arthur Whitney and Bryan Cantrill where they mentioned something about recognizing idioms in the dense code much more easily in K than in something like C because it took so many less characters. Do you see any sort of refactoring advantage to that?

I've also recently seen work on the Co-dfns compiler in APL where the author mentioned that APL allowed him to easily refactor compared to traditional codebase, and looking at the github library, there is something like 3 million edited lines over the span of several years in a codebase this is a few thousand lines of code. I find this fascinating because my hope is to eventually start a small software business and I think reducing complexity in the number one priority in order to make it sustainable in the small (the goal isn't to have a team of 50 developers).

Thoughts?

<comment><USER3> Nick, I think that the primary win is referential transparency. APL idioms raise the level on that base. The tradeoff, though, is the same as we have for functional but further along the road: if you develop a codebase that doesn't use common idioms it's harder to hire people to work in it.

I think array languages, or at least their operation set and idioms, will move into the mainstream in the same way that functional is, but it will take time. Sustainability for your business would be more an issue of hiring and retaining talent.

Reach out if you want to talk about this more: @mfeathers

</comment></comment></comment></comment><comment><USER5> Sorry, everyone, looks like choosing to host my site on appspot was incongruous with high traffic, since I only get 1 gig of outgoing bandwidth per day.

Here's the cache: [https://webcache.googleusercontent.com/search?q=cache:K-e7Jh...](https://webcache.googleusercontent.com/search?q=cache:K-e7JhLlJ4YJ:https://curtisautery.appspot.com/5776042744610816+&cd=1&hl=en&ct=clnk&gl=us)

</comment><comment><USER6> I'm just going to leave this here: [http://www.ccs.neu.edu/home/shivers/papers/rank- polymorphism...](http://www.ccs.neu.edu/home/shivers/papers/rank- polymorphism.pdf)

<comment><USER7> "APL, and its successor J [...] provide a notational interface to an interesting model of computation: loop-free, recursion-free array processing." How is APL loop-free, exactly?

Later they say: "Under this implicit lifting, the iteration space is the argument frame rather than a sequence of loop indices." So if I understand correctly, we have iteration, but no loop. But that doesn't seem like a really important distinction...what am I missing?

<comment><USER8> The key feature is _abstract_ iteration, like functional maps, filters and folds, and _implicit_ iteration, where operations "penetrate" to the items of a vector or matrix automatically, rather than _explicit_ iteration like a "for" loop.

Abstract iteration is useful because it results in programs with fewer "moving parts"\- no loop induction variables to misplace or mutate in the middle of a loop body. Programs are necessarily expressed in a more rigid manner and some irregular algorithms can be difficult to express.

Summing a vector with an explicit loop in K (very non-idiomatic!):

        r:0;i:0; do[#v;r+:v@i;i+:1]; r

The equivalent using the "over" adverb:

        +/v

Both examples perform the same calculation. The latter is more concise and easier to reason about.

<comment><USER9> Stuff like +/v is easier to reason about, but it's also handled by special code which runs a lot faster. At some point I need to do a blog on all the horrible things that happen inside your computer (cache hits, memory being swapped in and out, stacks popping) when you do an interpreted, explicit loop; bytecode, AST or whatever. There are R&D interpretors which claim to remove this overhead for trivial for loops,which are the main kind that end up getting used in numeric code, but none of them ever seem to make it into production (I'm sure someone will correct me if I am wrong; I am pretty sure Art wasn't doing this in K4, though he was probably best positioned to do so).

The real reason we like +/v besides less typing; it can be handled with special code which runs close to the theoretical machine speed. Lots of small places and languages this fact can be exploited in. R and Matlab basically have a subset of operations you can do +/v type things with. APL is the main class of languages where this sort of thing is built into the semantics of the language. If you're dealing with numerics in an interpreted language, it should be built into the semantics of your language, and that's how you should do things. Really it should be in compiled languages too, and that's how people should reason about code, but it's probably asking too much since APL has only been around since the 70s...

<comment><USER10> > _handled by special code which runs a lot faster_

This is just another way of saying "we don't have a compiler, so don't process data at the element level if you want speed".

It is not an advantage of the language, but a disadvantage.

If you have a compiler, then it's only valid for aggressive, machine-specific optimizations. This is articulated by statements like "the library function is marginally faster than an open coded loop, because it uses some inline assembly that takes advantage of vectorized instructions on CPU X".

If I write an FFT routine in C myself, it will not lose _that_ badly to some BLAS/LAPACK routine.

<comment><USER9> Forcing your compiler to figure out you're doing something trivial on a rank-n array is silly. So is writing all the overhead and logic (where a typo can break things) which goes into a for or while loop instead of two characters: +/

I encourage you to try writing an FFT routine in C yourself and compare it to FFTW, where they basically wrote a compiler for doing FFTs. It's also worth doing in an interpreted language in an array-wise fashion versus with a for- loop. You should get something like a factor of 100,000 speed up.

<comment><USER10> > _Forcing your compiler to figure out you 're doing something trivial on a > rank-n array is silly._

What is the alternative, if there is no canned procedure for it?

The procedure has to be written somewhere, somehow, in some language.

If compilers are silly, assembly, I guess?

<comment><USER11> The analysis to recognize whether a "canned procedure" is applicable is nontrivial, to put it lightly.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> Looks like the site is hugged to death :-(

My only experience with APL-like languages was playing with K for a few months. It's amazing, no other language can do so much in a few characters. Here's a list of hundreds of snippets: [http://code.kx.com/wiki/Qidioms](http://code.kx.com/wiki/Qidioms)

To give a taste of K style, I'll try to explain one of those snippets here. The problem statement is to merge three arrays x, y, z under control of another array g. Don't worry, it will make sense in a moment. These are the definitions of x, y, z and g, followed by one line of code solving the problem, and the result:

        x:"abcd"
        y:"123456789"
        z:"zz"
        g:"101121211010101"
        (x,y,z)[<<g]
          "1a23z4z56b7c8d9"

First of all, (x,y,z) is just the concatenation of three arrays, and [] is the familiar array indexing operator. The twist is that [] can also accept an array of indices, so e.g. "ab"[0 1 1 0] returns "abba".

But the really clever bit is <<g. A single invocation of < returns the sorting permutation of an array, i.e. an array of indices x such that g[x] is sorted. After two invocations of < you get the sorting permutation of the sorting permutation. In other words, the inverse of the sorting permutation. In other words, the permutation that turns sorted g into regular g. In other words, exactly the permutation that you need to mesh x, y and z together!

By any reasonable programmer's standard, that's way too much cleverness. But if you want a lot of functionality in a few characters, that's the price to pay, and K programmers seem happy to pay it. It's also really fast, because you're combining optimized bulk operations, and dropping down to individual elements only in special cases.

<comment><USER13> What do you gain from using the << syntax over a verbose but reasonably clear function name like "sorted-permutation"?

Clarity in function names is one of the main reasons I prefer Lisp and Scheme over languages like APL, K, and Haskell, which seem to favor the use of something like a mathematical notation, which I've always found obfuscating. This obfuscation is made worse by the aversion to comments that I've seen in some of these languages, while in Lisp and Scheme, the verbose and explicit function names are in a way self-documenting.

For someone who prefers a clear and explicit programming style, the terseness of some programming languages is a real turnoff.

<comment><USER8> The function "grade up" has the symbol "<". The composition of this function with itself "<<" is not a special case- it's "grade up of grade up". Compositions of functions are first-class objects in K, so you could certainly give it a name if you like (as well as eliding some of the brackets in the above example):

          ordinal: <<:

          (x,y,z)[ordinal g]
        "1a23z4z56b7c8d9"

          (x,y,z)ordinal g
        "1a23z4z56b7c8d9"

The idiom << is common enough, though, that K programmers learn to recognize it when they see it in code. I'd have to look up the definition of "ordinal" to be certain it did what I think, but << is totally unambiguous. Contrary to your argument, naming short idioms like ,/ << +| and so on actually makes a program _less_ explicit.

</comment></comment></comment><comment><USER14> Nice to see APL lives and people still try to teach it. For software historians, all the 1970s-era manuals are at bitsavers[1]. The language was quite a bit simpler then; several of the primitives this tutorial thought appropriate to introduce didn't exist then.

[1] [http://www.mirrorservice.org/sites/www.bitsavers.org/pdf/ibm...](http://www.mirrorservice.org/sites/www.bitsavers.org/pdf/ibm/apl/)

</comment><comment><USER15> This recent thread about an APL compiler for the GPU was so interesting: [https://news.ycombinator.com/item?id=13565743](https://news.ycombinator.com/item?id=13565743), that we invited the author to do an AMA about it: [https://news.ycombinator.com/item?id=13797797](https://news.ycombinator.com/item?id=13797797).

</comment><comment><USER16> A+ a derivative of APL is still being used in a certain investment bank. 20 years of projects to deco it and replace it with something more modern haven't managed to completely kill it off yet. Main issue I had with it was the inability / cost to hire people with any experience, and the off-putting / steep learning curve. Once you get the hang of it though it's a great language for solving certain more numerically orientated problems.

<comment><USER17> Morgan Stanley. They open sourced it ~15 years ago at aplusdev.org. The project was led by Arthur Whitney, who went on to become Mr KDB.

<comment><USER18> Mr. Moneybags...well earned from what I hear.

</comment></comment></comment><comment><USER19> I really liked the way that Iverson built up concepts in his [Arithmetic (PDF)]([http://www.jsoftware.com/books/pdf/arithmetic.pdf](http://www.jsoftware.com/books/pdf/arithmetic.pdf)) manual for J. I found it very intuitive and useful even if you never plan to use the language. There are others at the site like his manual for Exploring Math and one for Calculus as well.

<comment><USER18> I thought they were great too!

</comment></comment><comment><USER20> I've slowly been going through "J Tutorial and Statistical Package", which teaches J (Iverson's evolution of APL which uses only ASCII characters) in the context of building a library for statistics[1]. I've found that it's a great way to learn the language, and that stats is a domain where APL languages work very well. I also read an interesting paper about using APL to create a notation for statistics, such as "normal prob between 0 2"[2]. Another nice thing about J is that it's GPL'd and free to use commercially.

[1] [https://webdocs.cs.ualberta.ca/~smillie/Jpage/jtsp.pdf](https://webdocs.cs.ualberta.ca/~smillie/Jpage/jtsp.pdf)

[2] [http://archive.vector.org.uk/art10501700](http://archive.vector.org.uk/art10501700)

</comment><comment><USER21> The core language is good enough but the object oriented stuff they put on top later on is just a hell of an eyesore.

</comment><comment><USER22> Is APL still used for anything now? It seems like it could be a useful language for _something_.

<comment><USER23> I dunno how _widely_ used it is, but there is Kdb+[1], "a column-based relational time-series database" built on the K[2] language, a descendant of APL. I mainly see J[3] used for code golf, but at least that means a decent number of people know it.

[1]: [https://en.wikipedia.org/wiki/Kdb%2B](https://en.wikipedia.org/wiki/Kdb%2B)

[2]: [https://en.wikipedia.org/wiki/K_(programming_language)](https://en.wikipedia.org/wiki/K_\(programming_language\))

[3]: [https://en.wikipedia.org/wiki/J_(programming_language)](https://en.wikipedia.org/wiki/J_\(programming_language\))

<comment><USER24> Kdb+ is incredible. It blows away any of the current attempts at time series data stores out there (eg; InfluxDB, OpenTSDB). Unfortunately, Kx Systems failed to allow it to reach mass popularity by keeping licenses extremely expensive. Startups simply can't afford to outlay $100k+/year for a tiny cluster.

<comment><USER25> I wonder if anybody compared Kdb+ with Jdb, a J DB system.

<comment><USER18> I tried googling this awhile back. I assume kdb+ is closed source?

</comment></comment></comment></comment></comment><comment><USER26> The main problem with (GNU) APL for me is the line editor: I can't feel comfortable using a REPL to write a program without keybindings like ctrl-a, ctrl-w. Everytime I try to learn APL I eventually give up.

<comment><USER27> I haven't tried it out, but maybe rlwrap can help here.

<comment><USER26> Unfortunately it doesn't seem to work.

</comment></comment></comment><comment><USER7> I thought it was super cool when I found out you could overload operators in Julia. I wonder if you could re-create some APL-like syntax that way.

<comment><USER28> You might enjoy this one: [https://www.youtube.com/watch?v=XVv1GipR5yU](https://www.youtube.com/watch?v=XVv1GipR5yU)

<comment><USER7> I really did enjoy that. It reminded me of how I use R and then drop down to C++ when I need speed. This interpreter is analogous: use Julia and then go to APL when you want compact expression. Although, I'm not sure how advantageous it is. At least _prima facie_ it's not as compelling as the speed gains you get from dropping to C++ from R.

</comment></comment></comment><comment><USER29> Is this sorcery?

<comment><USER30> It's APL. First time I heard about it was in those "how to shoot yourself in the foot" lists [0]:

* You shoot yourself in the foot and then spend all day figuring out how to do it in fewer characters.

* You hear a gunshot and there's a hole in your foot, but you don't remember enough linear algebra to understand what happened.

[0] [http://www.toodarkpark.org/computers/humor/shoot-self-in- foo...](http://www.toodarkpark.org/computers/humor/shoot-self-in-foot.html)

<comment><USER18> Second bullet point is pretty funny. I really liked linear algebra, but I'm sure it could get frustrating if you're not an expert. I wonder if it makes sense philosophically for code to be more mathematical like APL or like a spoken language like Python.

<comment><USER31> "SciPy – the embarrassing way to code"

[http://www.vetta.org/2008/05/scipy-the-embarrassing-way- to-c...](http://www.vetta.org/2008/05/scipy-the-embarrassing-way-to-code/)

<comment><USER18> I enjoyed this article. Thanks!</comment></comment></comment></comment></comment>


Hi-Vision Laserdisc – HD in '93 [video] - <AUTHOR> https://www.youtube.com/watch?v=LkQEobE2RUk <comment><USER2> I cannot recommend Techmoan's videos enough. He usually reviews past video and audio formats, some of them are really niche products. Really interesting!

<comment><USER3> He does spend some time getting around to the point though doesn't he? This ends up being 40 minutes of video and if you're just interested in the Hi- Vision part it could probably be 10 minutes. He spends a lot of time talking about the timeline of various video formats, goes over repairing his machine, etc. The interesting part is maybe the last 5 minutes of this video and then the 2nd part.

<comment><USER4> He's not an engineer that I know of so his videos lean on the history side more, and I am fine with that. The context he puts into his videos really helps you understand the "whys" of the tech.

</comment></comment></comment><comment><USER5> Something similar from also 1993: D-VHS HD demo tape shot of NYC

[https://youtu.be/fT4lDU-QLUY](https://youtu.be/fT4lDU-QLUY)

</comment><comment><USER6> If you want a more complete (although _dry_ ) overview of how we got from NHK's MUSE to the USA's NTSC-8VSB / MPEG-2 system, the book _Defining Vision: How Broadcasters Lured the Government into Inciting a Revolution in Television_ is a good resource:

[https://www.amazon.com/Defining-Vision-Broadcasters- Governme...](https://www.amazon.com/Defining-Vision-Broadcasters-Government- Revolution/dp/0156005972/)

The TLDR is that the USA took so damn long to make up their minds about a standard (while cleverly keeping the spectrum tied up and away from others that wanted it) that digital coding and compression was able to develop and mature into a system that worked. MUSE was an analog standard that would never fit into a single channel in the US system.

<comment><USER7> I'd really like to know what happened in Australia. From the outside it looks like the Government tied us to MPEG2 because they were basically giving away the set top boxes to get people to change over from analog TV. I'm pretty sure the BBC in the UK was already using H264 at that point.

Result: we've only just changed over to H264, everything's hilariously low- bitrate and H265 is years away.

</comment></comment><comment><USER8> There's a little bit about this on the Wikipedia page for LaserDiscs:

[https://en.wikipedia.org/wiki/LaserDisc#MUSE_LD](https://en.wikipedia.org/wiki/LaserDisc#MUSE_LD)

<comment><USER9> From that article: it's analog video, 1125 scan lines in a 5:3 aspect ratio. 1991 technology, super expensive.

Here's a list of disc releases, no idea if it's comprehensive. Star Wars is not on it. [https://www.lddb.com/list.php?format=ld&list=muse](https://www.lddb.com/list.php?format=ld&list=muse)</comment></comment>


Justice Dept. Is Set to Execute Native American Prisoner - <AUTHOR> https://www.nytimes.com/2020/08/25/us/politics/native-american-death-penalty.html <comment><AUTHOR> "Had he not been Native American, not one of those statements would have counted against him," said his lawyer, Jonathan Aminoff. "Not one."

Just US Government doing its normal thing...

This whole article infuriates me.</comment>


Ask HN: Why are Twitter bots tweeting my stuff? - <AUTHOR>

I have a few online games, that have Tweet buttons on them. Lately I've been noticing tweets from these buttons from Twitter profiles that seem to be bots. They have no profile picture, typically no followers, and only 1-10 tweets. The tweets they have seem pretty random as well. Some examples:
https://twitter.com/hamim1922
https://twitter.com/Grsdixiewp
https://twitter.com/elbunny205
https://twitter.com/ClintonGoodhue
Some of those have only one tweet, which is the one from my buttons.
What is happening here? Do Twitter bots just search the net for Tweet buttons and tweet the message from them, to make themselves look more real?
I just think this can make me look bad, particularly fake profiles with a single tweet from my page, it looks very much like I'm building up a twitter botnet to promote my stuff, which I'm absolutely not doing.
Can I stop this somehow? Generate the tweet button dynamically or something? <comment><USER2> That is bizarre. I've never seen that happen. Probably part of some sort of botnet as you hypothesized. The easiest thing is for you to go ahead and report the profiles as spam.

Assuming it continues, perhaps add tracking to the Twitter button in your analytics suite and see if they all come from the same user agent, location, IP, etc.

<comment><AUTHOR> That's probably a good idea, to just report them. The ones that have more than one tweet still seem very much like bots, but the ones that just have my tweets are just bizarre. They don't even follow people, so what's their purpose? I would have thought the purpose of bots on twitter was either to boost follower counts or retweet counts, but these seem to do neither. Unless they're just spamming people with private messages or something

<comment><USER3> >I would have thought the purpose of bots on twitter was either to boost follower counts or retweet counts

Another idea: Could be that the bots first establish a base-line as "non- spammy", i.e. legit, users by posting by themselves without sending any links directly to people. This goes on for a couple of weeks, until Twitter's automated anti-spam-process classifies them as "legit", after which the bots switch over to "spam-mode" and start spamming. Just an idea.

<comment><AUTHOR> Yeah, it must be some kind of starting up thing, behaving normally for a few days or weeks. But even so, these are then really bad at it. ClintonGoodhue for example has one tweet, which is a link to my game, no profile picture and only follows one person. Maybe it's just someone's first attempt at creating bots :)</comment></comment></comment></comment>


Ask HN: If GitHub is social coding, why can't I 1:1 communicate with users? - <AUTHOR>

<comment><USER2> A private conversation would not be social because only two people benefit and everyone else get nothing from it (e.g. It would be anti-social!).

Anyway most active people on GitHub list their email and/or twitter handle. Contact them those ways for 1 on 1 discussions.

</comment><comment><USER3> If you're talking about Github code, why not talk publicly?

If you're not talking about Github code, why talk on Github?</comment>


Why Good Developers Are Promoted into Unhappiness (2007) - <AUTHOR> https://robwalling.com/2007/06/27/why-good-developers-are-promoted-into-unhappiness/ <comment><USER5> I've been reviewing a lot of career path documents recently for different engineering orgs, and every one is fairly uniform in that you either progress into management, team leadership, or architecture (or some blend of the three). If not, you'll stagnate at a pretty high level, but stagnate none the less.

I've been noodling on this for a while, and I think maybe a fourth track at a lot of organizations should be special projects. Small teams (3 people max) given autonomy and clear objectives (revenue goals, user growth goals, etc). For a pre existing company, this likely means "hacking" on an existing product, experimenting on something new, tackling huge debt... Pick your poison.

This is a fine middle ground for someone with a lot of experience who doesn't want to manage, but still wants some growth opportunities. For many people who don't want to manage or be an architect, autonomy is the number one thing I regularly hear. So, give them the autonomy and some ground rules, then let them loose.

<comment><USER6> A better fourth path is to transition to running your own business. You still get to write the code, and you remove the salary cap.

People sweat about all the "Business Stuff" you have to do in addition, but I find it's not really any more of your day than the normal boring admin stuff of being a rank and file developer. Certainly less than being a manager at a bigco.

It also does away with ageism concerns.

<comment><USER7> So instead of going into management because you don't like management and want to stay an individual contributor, you now become not only the manager of your own company, now you have to worry about marketing, finances, etc.

I go to bed every night not worrying about whether my company remains sustainable. If they don't, as long as it is a microeconomic issue (company failed) and not a macroeconomic issue (economy is in the toilet), I reach out to my network and get another job relatively quickly.

The same amount of money appears in my account every other week whether I go on vacation, call in sick, etc.

And I'm 45. Ageism is way overblown if you keep your skills current with the market and your network strong.

<comment><USER8> One. 45 is the very beginning of when ageism starts to show (at most companies). There are certainly some companies that would be biased against a 45 but maybe you don't work there. Just wait.

Two. You're not going to multiply your salary by 2x-20x unless you start to take on more responsibility, like worrying about sustainability.

<comment><USER9> >You're not going to multiply your salary by 2x-20x

Well damn, I guess I am going to have to make do with 200k being a rank and file developer at a FAANG company.

<comment><USER8> If you're happy with that, great. I am. But we're not really the subjects of this thread are we?

</comment></comment></comment></comment></comment></comment><comment><USER10> You stay in the company long enough and you write less code and spend more time managing people and processes as now you own your projects as the most knowledgable person for these projects.

You start hating it (I did) and look for a pure programming role. But you are not in your twenties any more and you have to align with and follow someone else's designs and decisions and you can't since you are experienced and know more and you have to push back and argue and end up going to lead/architect role again and writing less code again.

<comment><USER11> George Hotz once mentioned in an [1] interview; Managing people just another abstraction in making software. You can think of people kind of like an IDE that you can use to create things... I thought it was an interesting way to view management.

[1] [https://softwareengineeringdaily.com/wp- content/uploads/2018...](https://softwareengineeringdaily.com/wp- content/uploads/2018/08/SED649-Self-Driving-George-Hotz.pdf)

<comment><USER12> Yeah my boss certainly sees me and my colleague as a technical problem solving API: he says "now that I have told you what the problem, it is no longer my problem, and I don't want an update unless it's the solution."

I think this is sort of ok at a high competence level, but fails when the people you work with are less experienced. One could say the same of an IDE I suppose..

<comment><USER13> At a low competence level, this leads to non-solutions that still have to be used because of deadlines.

<comment><USER14> I would argue that the how is up to the team and it is the boss/managers level to ensure the right competencies are present in the team. Having the boss join the team is not sustainable.

</comment></comment></comment></comment></comment><comment><USER15> This is what happens when management is valuated more glorious than any other activity. Systems and hierarchies therefore tend to reward good performances with what they considers as good recompense: management position.

This mindset bias is everywhere, first i noticed it in my european university, where the good teachers were promoted to high responsabilities position, meaning more and more administrative workload and far lesser time for teaching. Leading to the vicious situation where the teacher was not teaching anymore and not happy with his position, and studend loosing a good teacher and having to face less capable teachers. Using management position as a reward should be only used for wanabee managers.

<comment><USER16> > This is what happens when management is valuated more glorious than any > other activity.

Why might management be more valued by the organization? Perhaps because it produces more value for the organization?

A manager who enables 10 developers to achieve a goal (as mentioned in the post) is going to be more valuable to the organization than the same person who cranks out a bunch of code. That's the reason for the prestige and money.

Now, there are two answers to my argument. Either the organization is correct in valuing managers more highly, in which case if you want to stay an individual contributor, you should accept less pay and prestige.

Or the organization is incorrect. The costs to the organization of people being unhappy or leaving are such that the additional value from them leading a project evaporates (in the long run). In which case this should be revealed and hopefully good organizations will make adjustments. As other people have pointed out in other thread, Google does something like this.

</comment></comment><comment><USER17> I think it has a lot to do with wanting to have your cake and eat it too.

Supposing you literally "just write code," there's a ceiling to how much impact you can have. One person can only hold so large of a program (or so many small programs) in their head, and if you are on a project that reaches a certain size you have to start working with other humans to maintain it, and thus the need for technical leadership and/or people management begins.

One of the basic ideas of _good_ management is that a good manager is a multiplier. Suppose you have a team of ten, and individually they can each ship 8 "points" of work in a week. If you turn one of those people into a great manager you lose 8 points of direct work, but everyone else now ships 12 points per week, and you've gone from 80 to 108 points in a week. You could now say the manager is responsible for the 28 point gain.

Similarly with a technical leadership role, doing the architecture and teaching work can multiply the effectiveness of many other people, leading to greater impact than any one individual could have.

When you look at it like this, it's obvious why these higher impact "multiplier" roles get more prestige and pay than the best individual coders.

And I think that's the dilemma. The real question - for many of us, anyway - is do you gain more satisfaction from the higher impact role and the perks that come with it, or from the sheer joy of the hands-on work that got you into this field in the first place.

Its really difficult.

I saw some other posters talking about rotating the responsibilities around - ie. leading sometimes and working in the trenches sometimes, and I really understand the appeal of that. That said, I'm not sure if it's practical beyond the first "rung of the leadership ladder" or so, because leadership is itself a very challenging craft that takes a lot of focus and effort to master.

What appeals to me more, but I haven't seen yet in practice, is for orgs to let their technical leadership (both on the architect and people management sides) take periodic "coding sabbaticals," or something along those lines. The main idea being that periodic returns to the hands-on work will help keep you sharp, up-to-date, and effective as a technical leader. The biggest problem with that is that it's not always easy to just plug a "substitute leader" into the org chart while you're on sabbatical.

<comment><USER18> > Supposing you literally "just write code," there's a ceiling to how much > impact you can have

I'm don't see why a single person can't have a ton of impact merely as a coder.

I mean, this whole website is dedicated to (mostly) discussing tech startups and how (mostly) software disrupts and help scale outdated business models. Isn't the software-making business model also ripe for that disruption, at least in a smaller scale?

Couldn't a single coder (or a small team) help an organization get some competitive advantage when it comes to tools. Or even programming languages? Why does ALL the innovation has to come from outside in our industry?

Fred Brooks talks about "The Toolsmith" it the "Surgical Team" chapter in Mythical Man-Month, and how "the tool-builder will often construct specialized utilities, catalogued procedures, macro libraries".

Facebook made React, Apple made Swift, Google has dozens of those. And the teams doing those tools aren't that huge. Why don't we try new things instead of letting good coders go away or making them stop coding?

<comment><USER19> > Couldn't a single coder (or a small team) help an organization get some > competitive advantage when it comes to tools. Or even programming languages?

Sort of, but:

1) Knowing _what_ to build requires deep knowledge of that the other engineers in your company are struggling with. Figuring this out requires a lot of time spent meeting with people and doing other things that would be considered more management than coding.

2) If the thing you build is good, it's going to start getting a ton of feature requests. Your company will decide that it's worth investing in, and suddenly you're either managing a team or somebody else is managing you and running "your" project.

<comment><USER18> Then get someone to help you run the team, instead of a boss.

</comment></comment></comment></comment><comment><USER18> A solution for that is promoting the best developers that don't want to manage into technical leadership roles. They can still create things and impact the team positively, and will not suffer with managerial tasks.

> if Willie Mays played for your baseball team would you promote him to > manager?

I don't know who Willie Mays is (not in the US), but I'm pretty sure elite athletes get top notch salaries, a lot of times bigger than managers or coaches.

People shouldn't need hierarchy just to remain professional and follow someone else's lead.

</comment><comment><USER20> I wrote code like a madman and then went into management. I like management, but I understand what the author of this article was getting at.

I had an identity crisis early on doing management. I liked to tell people what to do, because I had a big map in my head of where things should go. Because of this developers sort of organically gravitated to me for guidance even before I had the official job. However, I also liked to write a lot of code.

Once I was promoted to management I quickly realized just how much "not coding" that job requires. I struggled with not coding as much. I struggled with wanting to micro manage my staff. I struggled with wanting to write their code for them. I had juniors on my team and I wanted to snatch the keyboard from them and write their code for them.

The defining moment for me was one day, while watching one of my developers deploy something magnificent, that I realized I don't necessarily like to "build things", I like to "see things built". I like to see people succeed. I like to see a scribble on a napkin become a tangible piece of software. Code was a means to an end for me.

I won't lie and say I don't miss coding full time. I still get right in there when I can, but I step aside when I know my management duties are going to let the team down. One thing I don't feel is guilty about not coding as much anymore.

<comment><USER21> So how DO you deal with people under you writing code under you that just boils your blood? Especially if you instinctually see that their contributions are always more counterproductive than not, but everyone else (including their people manager) thinks they're alright?

<comment><USER22> There are a couple ways you can look at this situation:

\- There generally isn't an 'optimal' solution, but there are a lot of solutions with tradeoffs.

\- Everyone has their strengths and weaknesses, and gravitate towards different molds.

\- People aren't born perfect, but what they can do is grow. How can you help them do that?

</comment></comment></comment><comment><USER23> Every time this topic surfaces project management in the form of politics and pushing tickets through Trello is presented as the only option available to engineers. To me, a more natural progression is going into product management. It's a nice intersection of management, product design and engineering. From a job description:

" _We're looking for a product leader to join a fast-paced and transformational start-up to manage various fraud and identity initiatives. While managing product development, The Director of Product, Fraud and Identity will analyze, investigate, and identify solutions to mitigate and prevent fraud and identity compromises. This individual is responsible for developing features, platforms, models, and capabilities to proactively identify sources and patterns of fraud and minimize the company's total exposure to financial and reputational risk. The product leader will develop and execute a long-term vision that will establish Lyft, and its systems, as the industry leader in fraud management, mitigation, and identity-based capabilities and services._ "

Are engineers not interested in product management? Or are those roles not available to them?

<comment><USER24> Can't say definitively, but know that these days if your resume has X and they are looking for Y it's a no-go. Even when X overlaps Y significantly. Hard to even get a job as a programmer in one language with experience in another.

</comment></comment><comment><USER25> This feels like a variation of the Peter Principle ([https://en.wikipedia.org/wiki/Peter_principle](https://en.wikipedia.org/wiki/Peter_principle))

The Peter Principle says people who are good at their jobs will keep getting promoted until they reach a role they're not good at.

In this variation, people get promoted until they reach a role they don't enjoy and eventually leave.

</comment><comment><USER26> I cannot relate to this article at all. It's the polar opposite of my experience.

I've been desperately trying to get into a management position for years. I started programming at age 14 and am now approaching 30. I created projects using basically every major programming language, created and maintained a complex open source project which now has over 5K GitHub stars and several tens of thousands of weekly downloads.

I have experience managing the community around the source project and doing peer reviews. Feedback from the community is overwhelmingly positive. I can't even make a consulting business around the project because it works too well, the documentation is good and the community is very helpful.

I got passed up for promotion many times - In spite of consistently delivering beyond all expectations and despite my background as a long time open source developer. I've had people younger and less experienced than me get promoted above me twice! First time this happened, I quit the company about 1 month later (they were very upset/regretful when I handed my resignation).

Then it happened to me again at my current company - In spite of the fact that they are using my open source software as the core of their product (since before I joined). Even the biggest competitors of my current company started using my OSS project. Still no promotion. WTF do I have to do to get promoted? I've told the CTO multiple times that I want a promotion so it's not like they don't know.

<comment><USER27> In my experience, people are usually promoted into management when they demonstrate leadership. I see you talk about your technical ability a lot, but that is generally not the core competency of an engineering manager. I suggest working on those abilities. It is very much so one of those situations where doing the job will get you the title.

<comment><USER28> > In my experience, people are usually promoted into management when they > demonstrate leadership.

Really? In my experience, people are often promoted into management when they demonstrate political ability.

Often the people who I consider the true leaders - engineers who everyone considers competent, good advisors, mentors and role models, etc - <USER2> quietly being engineers.

Several times, I've seen organizations reward people who were adept at deflecting and spinning projects, goosing metrics and hiring quickly (despite a lack of fit/competence in their hires). The teams that they led were demoralized and rudderless, but you'd hardly know that from how they were rewarded and promoted.

<comment><USER29> Agreed. The definition of leadership that most leaders have in mind is very superficial. They just want people who look and talk like a leader but they're willing to compromise on everything else (all things that actually matter in terms of producing value). Most software companies either are mini-monopolies or they are able to keep securing VC funding through social connections so they can afford to have mediocre leaders who can talk but don't deliver.

</comment></comment></comment></comment><comment><USER30> Thankfully, many if not most top tech companies in the valley realize this and have parallel management and IC tracks (at least for software engineers), with compensation the same.

That said, even as an IC, at higher levels the scope of impact you're expected to deliver at some point exceeds what one person working alone can have, so there's still lots of people _leadership_ skills needed to advance: working cross-functionally and setting direction, communication, and ultimately influencing others to jump onboard and help you out.

(Note that this is different from people _management_ \-- e.g. formal coaching, performance reviews, dealing with HR/org/budget issues, etc.)

<comment><USER31> Many in theory have parallel tracks but in practice it seems either the vast majority choose to go into management or that it takes a more exceptional individual to progress in the IC track (my money is on #2). IMO you don't really need to be an above average person to reach the second layer of management, just put in your time and not fuck up, but everyone I know who hit the same level as IC was exceptionally bright and was like that long before they hit that level

<comment><USER32> In my company it's certainly the case that in order to progress on the technical track you need to be extremely good and more importantly on the right projects. I see a lot of mediocre people advance on the management track but only very few advance above a certain level on the technical track. Considering that salary is directly tied to a person's rank I think it's a very rational decision to go into management even if that's not your inclination.

<comment><USER33> This really depends on the company. I know senior ICs who make a bit more money than the managers they report to.

<comment><USER31> But my guess is that in 5 years their manager will be making more than the senior IC

</comment></comment></comment></comment></comment><comment><USER34> For many developers, they turn out to be good at project management, its not much different conceptually than being an architect, this issue is, once you 'level up' you're expected to stay there, rather than moving back to develop for some period of time, and letting the next guy get tapped for project management - It think more companies rotated those roles around, they'd see greater retention, greater employee happiness, and probably lower costs - <USER3> an engineer, I don't want to be a PM forever, but I might be happy spending 1/3rd of my time over a given long term period wearing that hat.

<comment><USER35> > its not much different conceptually than being an architect

I don't know where you are from, but in my experience the roles are very different.

As an architect you have to provide technical guidance over a domain that you know like the back of your hand.

As a PM, you have to manage a project that straddles multiple domains, some of which are completely alien to you, and you are explicitly limited by the scope, deadlines and your budget.

As a PM, you have to trust (and goad) multiple experts if you want to get anywhere.

</comment></comment><comment> Al-Khwarizmi Funnily enough, it's the same thing in academia/research. You get into it because you like doing research and you (think you) are good at it. And if you are really good (and have a healthy dose of luck), eventually you progress to being a professor, you are principal investigator of some projects, and you find out that your job now consists mainly of managing a group of people -even if you aren't especially good at management and haven't been trained for it- and writing grant applications, and you have almost no time for actual research.

The difference is that in academia is not an explicit promotion that moves you from research to management, but more of a boiling frog kind of situation where you gradually do less and less research and more and more management - or at least this has been my experience.

</comment><comment><USER36> I'm in a senior level engineering role at one of the big tech companies. I was more than happy to receive the promotion, but the time I spent coding has certainly decreased a large chunk. I spend a lot of my time now facilitating projects across organizations, providing guidance to more junior engineers on architecture, sending emails and status updates, etc. at least that's the norm on my current team.

Not long ago, I would be heads down in code all day everyday. My world was laser focused on getting out 1-2 code reviews a day, shipping small features. It paid substantially less, but I really wasn't responsible for projects or deliveries. Business people want a feature? Great... here's a t-shirt size estimate. Heh.

</comment><comment><USER37> Discussed, a bit, at the time: [https://news.ycombinator.com/item?id=32752](https://news.ycombinator.com/item?id=32752)

</comment><comment><USER38> I'm surprised how these traditional organizational structures still exist so strongly today. It sometimes feels like the whole agile/lean revolution (with self-managed teams) never happened.

<comment><USER39> The agile revolution never happened because it's just not how people buy things. Hell, I don't even think it's how we build them.

I love the analogy of a burger joint and ordering a burger with fries, because from a buyers perspective, that's exactly how we want to buy software. We point out some items on the menu, and we expect them to be delivered together, on time and to our specified demands. The person taking our order, and making it happen is the project manager who makes the different cooks do their stuff in coordination and also the person who puts shit together on a tray.

That's exactly how people buy software, or at least how they expect to buy it. Only software is more complicated, and developers keep failing to deliver the ordered project on time. Agile was supposed to help on this, but it hasn't. I mean, it's anecdotal, but I work in the public sector, we track and benchmark the hell out of these things for a bureaucracy that probably never reads the reports. Anyway, agile suppliers fail as often as non agile suppliers, and they have the added problem of wanting to sell us promises.

I mean, a true agile contract can't specify requirements, cost and time at once, but how the hell can you ever enter a contract that doesn't? So they typically end up mixing non-agile sales with agile development. I'd like to note, that we have actually entered into truly agile contracts. Being a digitisation unit in an organisation that largely doesn't understand digitisation gives you a lot of freedom after all. Only agile wasn't better, in fact it's been a lot worse, every time.

In our decade long experience, the only thing that truly works, is when management or project management knows how to make the damn burgers. Which unfortunately means that you need to promote a few developers into unhappiness.

<comment><USER38> > I love the analogy of a burger joint and ordering a burger with fries

I would like to argue that the burger joint is actually very agile. The person taking the order isn't the project manager. He just has the role of placing the order on the kanban board. From hereon the rest of the people all take their self-managed roles to fulfill the order. You can point out such agile (lean) processes throughout the entire delivery chain.

> Agile was supposed to help on this, but it hasn't.

My experience has been exactly the opposite. Those companies that managed to achieve a true agile process (or achieved an agile bubble inside a structured organization) were making the best progress. What I do see, however, is many companies misinterpreting agile. Especially Scrum. They see Scrum as a method for ticking off the to-do list provided by the product owner. I've seen project managers posing as scrum masters and project managers posing as product owners. It's still top-down management and the team is expected to follow orders. They don't seem to understand the principles of the sprint goal or how it's actually the development team that ought to own the sprint backlog. They never really did scrum.

> I mean, a true agile contract can't specify requirements, cost and time at > once

This is indeed a challenge. You can - at most - sell sprints. With agile you say: "You have the dev team for this amount of time". It's an uncertainty for the client. But in my experience this has always led to the most bang for the buck. I'm surprised you haven't experienced these results?

> Which unfortunately means that you need to promote a few developers into > unhappiness

This perhaps is an argument in favor of agile. Those project managers indeed need to know how to make those damn burgers. Then why not just make them your lead dev (chef-cook)?

</comment></comment></comment><comment><USER40> I think it's pretty common to talk about "management career path" and "tech lead / architect career path", and I think it's a mistake. I think there should be three paths: manager, TL/architect, and individual contributor.

I wish Google (I work there, opinions my own) had three ladder flavours for engineers, not two. If we did that, in Google terms (ref. [http://levels.fyi](http://levels.fyi)), I think: \- the IC ladder should go from L3-L6, maybe L7 \- the TL/architect ladder should go from L5-L11 (note overlap with IC) \- the Management ladder should go from from L5-SVP/CEO (I don't know the numbers for SVP, but I'm guessing ~13 or so...).

</comment><comment><USER41> Some companies specifically work to avoid this by having two "tracks": a management track and a technical track. The management track has many titrated ranks (manager..assistant director...) while the technical one still has salary increases and fewer ostensible title "promotions". So an IBM fellow is as prestigious as being a Sr VP or maybe GM, yet the holders didn't climb the "greasy pole" required of traditional management.

I believe IBM was the originator of this approach, but could be wrong.

</comment><comment><USER42> Nowhere it says - we cannot program when we become a manager. What if managers continue to make 0s & 1s dance - half of the time if not full time? Wouldn't that be productive & fun? I would say world is changing towards this side. I have heard stories where VPs & SVPs in big enterprises write code & lead their teams by example.

<comment><USER17> I think this is a question of scale and hours in the day. In my experience when the team grows past 5 it gets difficult to do all the leadership things that "clear the road" for the team and also have enough focused time for effective programming. But at the same time, once you're at that point, if you stop coding you can now handle another 5-10 direct reports. So you have to chose between keeping independent teams quite small with team leads who code, or with allowing bigger teams with a dedicated manager.

The scaling characteristics of those two patterns are different, because inter-team collaboration is pretty much always worse than intra-team, so the small teams are more effective if they are as independent as possible. If not you end up needing an extra manager to coordinate amongst the small teams... and now you have managers who don't code.

</comment></comment><comment><USER43> "Promote developers who demonstrate management skills instead of top notch development skills."

 _Instead of_? No, that would just make developers think that software skills aren't valued at all.

There should be multiple equally-prestigious paths so that there is _some_ way to publicly recognize star developers without turning them into managers.

</comment><comment><USER44> I remember starting as a developer wanting to be respected by my elders, and just looking to become senior as soon as possible. I got it and didn't feel very different.

I jumped at an opportunity to manage the software department and enjoyed the managerial side and representing the team within the rest of the company. I didn't like the politics and I didn't like knowing what I started to know about the company itself. A pretty big weight that took it's toll.

Most of all I missed coding, I wasn't doing it enough and I started to fall behind on the industry.

The idea of a Lead role is something I courted but then realised it may not be rewarding. I'd like to know how other lead's find their role...

<comment><USER45> When I worked as a lead most often I would:

* sit in a lot of meetings with management/other departments

* try to filter company politics from my team (thus absorbing it myself)

* would try to find what work would be most suitable and rewarding (considering interest & future growth) for each of my developers, thus in practice ending up with the most boring bug-fix & other maintenance tasks myself

* participating in a lot of project-management as well as people-management of my direct reports (weekly one on ones, conflict resolution, planning career growth, etc)

In practice I found the role of Principle Developer much more rewarding.

</comment></comment><comment><USER46> Whenever this topic comes up, I'm always reminded of James T. Kirk after his promotion to admiral:

[https://www.youtube.com/watch?v=CL9Dl0i1Ef8](https://www.youtube.com/watch?v=CL9Dl0i1Ef8)

</comment><comment><USER47> I actually enjoy management even when it means more administration at sacrifice to writing code.

What I don't like is when I am mentoring a junior on best practices or techniques to increase their performance or the performance of their code and they get defensive to the point of becoming an insubordinate ass. I understand there is a lot of defensiveness in development, but in the corporate world I expect everyone to be an adult. I also expect junior developers can read, write, and follow simple instructions but I have been surprised by that as well.

<comment><USER19> It sounds like you're not a very good manager, unfortunately. One of the most important things a manager does is understand how to communicate productively with each of their reports. If you have reports whom you believe cannot "follow simple instructions", your first response should be to re-evaluate the way that you provide guidance to that person, not to decide that they're "an insubordinate ass".

<comment><USER47> Should I use crayons and coloring books? That was actually a half serious question. For what developers are paid basic literacy is a safe assumption.

<comment><USER48> Just trying to be helpful:

You come across as a know-it-all and patronizing in the above two comments alone. May be you can start by recognizing that developers are not your extra sets of arms to code stuff. You should limit your self to clearly communicating objectives and measuring them rather than guiding devs (micro- managing ?) at every step.

</comment></comment></comment></comment><comment><USER49> In my previous company all the senior engineers took a few juniors under their umbrella and had very informal one-on-ones with them, just to bypass the troubles with non-technical managers. Hereby I as senior could give practical advices, eg how to deal with politics, without having to go into politics, excel and powerpoint and meeting-hell by myself.

This way the good senior devs didn't had to be promoted to management roles they didn't want, and the bad devs didn't get promoted to senior not to fuck up the juniors with bad advice.

<comment><USER50> You kind of described a highly disfunctional company, where you as a senior sw engineer literally had the power and authority to choose who would get promoted and who wouldn't.

<comment><USER51> I think what he is saying is not particularly uncommon.

Several of the orgs I have worked at have expectation that a senior developer will help juniors, whether that's formalized as a line management and 1 to 1s or informal mentoring.

Tbh expecting to be a senior developer and not give any time towards leveling up the next generation of software practitioners is both selfish and short sighted.

</comment></comment></comment><comment><USER52> The machine is a companion and safeguard against swallowing too much of my own BS, or the BS of others that I get involved with. I'm unhappy without that level of feedback being frequent. Even declaring for Crocker's Rules doesn't get you really honest feedback from humans.

It's really gross that the higher you go up the tech IC ladder the less you code. Your opinions also somehow matter more even though you're furthest removed from knowing if they're valid.

</comment><comment><USER53> I have rejected any calls for leadership positions which would mean I'd code less than 90% of my time. It might have cost me some money but it sure means I can do what I love and I have less than 1h of meetings every week. I still try to do _technical leadership_ (architecture, coding standards, evaluating new products etc) but not _people management_.

</comment><comment><USER54> OP should consider working on some coding side projects and keep his passion alive. Consider the day job as just a means to pay bills.

<comment><USER55> In my experience, this works when you're younger, but as you age, you tend to accumulate responsibilities that take up a lot of your remaining energy. YMMV though.

</comment></comment><comment><USER56> My boss is engineering manager at our company of 60 people (he leads 16 engineers) and still finds time to get down in the weeds solving tech problems in addition to managing us. I'm his number 2, based in another country and am responsible for managing/supervising 7 engineers. I too am expected to do development work AND management of the team.

</comment><comment><USER57> If you are a good developer, you are probably smart, right? So why would a smart person let something happen to him that he can't fix? Would it be possible for a dev manager to apply as senior dev in another company?

I think they are not unhappy. They just don't want to admit it. Either they really enjoy this additional human interaction, or they actually really found coding stressful or meaningless. But of course it helps them bond with their engineers more if they can show that despite their +120% income and despite their more beautiful house and wife, and despite having more power they actually suffer because they are not a fellow developer anymore.

One can also argue that the developer who stays developer his whole career is actually not someone who was overlooked at promotions, but someone who really enjoys the coding grind, the low amount of visibility and the low amount of responsibility. But the bonding with their friends is much higher if they can hate on the management together instead of admiting that they actually like what they do and how they do it.

Altogether these realizations made me more relaxed about life. In the end it's not that the world is full of suffering, but we actually choose the suffering that makes us most happy.

</comment><comment><USER58> When you understand how few lines of code create the business you work for, you realize the value is in taking risks on new product lines, which, are politically discouraged by most companies. for example, google.com could fire all employees tomorrow and still dominate search $ for 10 years based on an idea from 1999.

</comment><comment><USER59> Make a lot of money doing boring management work for a large company. Save as much of it as you can and retire early. Then code as much as you want - <USER4> my plan at least :-)

</comment><comment><USER60> What do people think about "technical lead" roles?

</comment><comment><USER61> I've been writing code since 1965 and have been fortunate to have evaded management. I'm still writing code and it's the funnest job there is.

</comment><comment><USER62> I've enjoyed the challenges that each level of promotion bring. That said my company has always allowed coding all the way up to top-level architect.

</comment><comment><USER63> But eventually he jumped into marketing.

</comment><comment><USER64> The author Rob Walling co-hosts the podcast Startups for the rest of us: [https://www.startupsfortherestofus.com](https://www.startupsfortherestofus.com) which is the best podcast I know of about bootstrapped startups.</comment>


Fish shell 2.0 - <AUTHOR> http://ridiculousfish.com/blog/posts/fish_shell.html <comment><USER3> 🐟 Fish rocks. I've been using it exclusively for the last year, and I can't imagine giving it up.

There seem to be a number of misconceptions, which I will endeavor to address. The first is: "Fish isn't POSIX/bash-compliant, so there are compatibility problems." POSIX non-compliance is a feature, not a disadvantage, of the fish shell. It means there is less legacy baggage and syntactical inconsistency. I can count the number of POSIX/bash compliance-related issues I've had with fish on one hand, all of which were easily dealt with. For example, Vim assumes that your shell is _sh_ compatible, but adding _set shell=sh_ in your .vimrc solves that. The only other significant one for me was virtualenvwrapper, which doesn't support fish. Not a problem: Virtualfish solves that handily: <https://github.com/adambrenecki/virtualfish>

Want to run a bash script? Just run _bash fooshnizzle.sh_. Want to switch to bash for a moment? Run _bash_ and then _exit_ when you want to switch back to fish. This POSIX-compatibility topic is, in my opinion, much ado about nothing.

Another misunderstanding seems to be, "I can do XYZ in bash, but fish doesn't support that." Fish purposefully limits the number of "builtins" -- commands that fish includes by default -- in order to maintain simplicity. For me, that's a feature. When I find that there's something I want to be easier to do in fish, I whip up a tiny function to do it. Not only is that extremely easy to do in fish, but then that command performs precisely the way _I_ want it to. I haven't pushed many of those to my dotfile repository yet, but you can check out some of my fish functions there: <https://github.com/justinmayer/dotfiles/tree/master/fish>

Fish is fast, the auto-completion is amazingly helpful, and it's intuitive to use without too much configuration. Give it a try. 🐟

<comment><USER4> I just wish it didn't insist on doing _everything_ differently. For example, PATH is traditionally delimited with colons in just about every shell; fish uses spaces. This instantly breaks compatibility with legacy environment configuration, and for no particularly good reason that I can see.

I was excited to try fish, but I found it impossible to get configured in an established environment with entrenched bash usage (which zsh, by the way, has no problem with)

<comment><USER5> Do you mind sharing more details about your legacy environment configuration? How are you currently setting $PATH? Usually the differences in syntax for setting variables causes more problems than the colons.

Regarding $PATH: it is actually not delimited at all in fish. Instead, $PATH is an array, which is a first class notion in fish. This allows for nice tricks like, say, looping through $PATH:

       for dir in $PATH
            echo $dir
       end

or deleting its last entry:

        set --erase PATH[-1]

Of course, fish flattens $PATH into a colon-delimited string when setting it as an environment variable, and unflattens it when reading it from the environment.

<comment><USER4> PATH gets set the way it always did. For example in bash:

export PATH=$PATH:<new_dir>

As for the larger question of environment configuration; we pull in a number of shell configuration scripts owned by the infrastructure teams. You are right, there is no universal way to set path due to things like "export" vs "setenv", but often multiple shells support the same syntax so you can sometimes use a config script meant for bash in zsh, for example. I had hoped that fish would be able to use csh scripts, because it shares "setenv", but csh of course delimits PATH with colons.

You say that PATH is treated as a colon-delimited string when accessed as an environment variable... Hmm. That wasn't what I was seeing, but it is entirely possible I made a mess of things, or that I broke things when I compiled it.

Anyway, it's unlikely I personally will be able to use fish. I hit many more obstacles than just PATH, but that was the easiest example and I thought I'd share some feedback.

<comment><USER5> Thanks for elaborating. Yes, it's a common issue to encounter configuration scripts, .profile files, etc. that use POSIX syntax, and it's understandable that people will be unwilling or unable to port them to fish. Usually these are just standalone scripts which can be run directly via /bin/sh, but sometimes you want them to be part of your interactive shell.

<https://github.com/fish-shell/fish-shell/issues/522> tracks having a bash compatibility layer - as you can see there's a lot of discussion!

</comment></comment></comment></comment></comment><comment><USER6> I've been a zsh user for a long time and I have to say that fish is great! Its super fast and starts almost instantaneously. On zsh, I would always use fasd[0] to help jump directories, but on fish I dont feel the need. The auto- completion is just fantastic. If I were you, I'd give it a try just for the awesome tab completions. For the 'oh-my-zsh' lovers out there, there's 'oh-my- fish' as well - <https://github.com/bpinto/oh-my-fish>

[0] - <https://github.com/clvv/fasd>

<comment><USER7> i didn't think zsh startup time was an issue

$ time zsh -c "echo foo" foo

real 0m0.005s user 0m0.002s

<comment><USER8> _Might_ be an OS X thing. At work on Debian zsh starts up instantly, at home on OS X it takes a good couple of seconds.

<comment><USER9> It's an oh-my-zsh thing, mostly. Turns out that running a lot of scripts on startup makes startup take a while.

<comment><USER10> Thing is in fish functions and completions load lazily as needed, and basically every customization is done with functions. Startup is pretty much instant regardless of configuration.

</comment></comment></comment></comment></comment><comment> c-oreills Are there still compatibility issues with using fish 2.0 as your default shell? The Arch Wiki [0] advises against it because it's non bash compliant.

I'm going to give it a go regardless but wanted to know if there were pitfalls and what people have done to alleviate them.

[0] <https://wiki.archlinux.org/index.php/Fish#Troubleshooting>

<comment><USER11> "not bash compliant" really is the main deal-breaker. When you're getting technical support on some issue and somebody tells you to paste a command into your terminal, "bash compliance" (or at least POSIX-shell compliance) is pretty important. When your phone rings at 2AM and somebody asks you to urgently fix a production problem and you can't figure out what's going on because the production server doesn't have your custom shell installed, that's a problem.

It's not a deal-breaker, of course. If you become fluent in POSIX-shell you can translate between it and your custom shell, and things should be fine... but becoming fluent in _two_ shells is a lot more work than becoming fluent in _one_ shell.

If you never need to interact with other people's machines, and other people never have to interact with yours, then sure, go nuts and install whatever shell you want.

<comment><USER12> If you install fish on your local machine, you'll still be able to run bash and punch those commands right into it—just do

        $ bash

And hey presto, back in bash land.

I agree that it makes sense to know the lowest common denominator well before you go after something better—especially as you'll know straight away if and why it's "better".

Slightly OT, but I honestly think that "community best of" projects like oh- my-zss and the Vim ones actually do people a disservice since they are _not_ zsh or Vim, but rather someone's opinionated, non-standard version of them.

<comment><USER13> minor correction: I think you meant to write 'oh-my-zsh' above.

</comment></comment></comment></comment><comment><USER14> The documentation needs a lot of work. Every 'help' command I've tried just pops up a web page using xdg-open, which (a) won't work well in a headless SSH session, never mind a plane, and (b) doesn't make it easy to search for specifics.

I also don't like the implementation of the prompt text as a function. It's the first thing I wanted to customize, and it looks like I need to copy and paste the existing definition of fish_prompt and hack it into shape. There's no built-in equivalent of \$, so you need to find out if you're root and do it yourself. And the existing check just does it with a string compare of $USER with 'root', rather than euid==0.

Hacking preferences in like this isn't a problem to begin with. The real problem comes down the road, when the defaults change and improve, and you now have to be concerned with merging your customizations with the new and improved stuff.

<comment><AUTHOR> You can see help pages on command line with 'man commandname' or with 'commandname --help'

Regarding customizing your prompt, try running 'fish_config' and check list of already available prompts from prompts tab.

<comment><USER14> The built-in web browser is a cute feature, but all the prompts waste space with <username>@<hostname>.

Autocompletion - a feature I generally don't use in other contexts - <USER2> reduced functionality seem to be its main USPs. With readline, process substitution and subshells (for ad-hoc fork/join jobs started from the command line) it might be competitive with other shells.

For example, a reasonably common pattern for me, on the command line, is:

        $ for d in *; do
        test -d "$d" || continue
        (
        cd "$d"
        time-consuming-task-1
        time-consuming-task-2
        ) &
        done

I don't think I could do this in fish today without writing a script, as it doesn't have subshells and can't run functions in the background.

There's also a big advantage in having the shell be the same (or highly similar) to your preferred ad-hoc scripting language. It means you can retrieve complex commands from your history and paste them into the script, with only a slight cleanup to parameterize them. A whole complex operation can be spiked and tested interactively before being put together into something reusable - possibly without foreknowledge that the task is going to be that tedious, or needs to be encapsulated. Zsh looks like a better alternative to bash for these reasons.

<comment><USER10> This should be the translation:

        for d in *
            test -d $d
            or continue
            begin
                cd $d
                time-consuming-task-1
                time-consuming-task-2
            end &
        end

However it errors; seems you can't do `end &`. Probably a bug; I'll report it. When fixed, I imagine we could actually do it even better with fish:

        for d in *
            if test -d $d
                cd $d
                time-consuming-task-1
                time-consuming-task-2
            end &
        end

<comment><USER15> Fish currently does not support executing shell functions or commands in the background with &, only external programs. This is a known omission, but the best way to fix it is to make the shell interpreter code thread safe so we can actually write multithreaded shell code. Currently fish only uses threads for potentially blocking i/o operations. But implementing this is quite a bit of work and has not been done yet.

Having said that, `enc &` erroring is indeed a bug, expected behavior would be to run the `begin ... end &` block in the foreground anyway.

</comment></comment></comment></comment></comment><comment><USER16> Why is no one putting in any time to replace the Windows shell (cmd.exe)? The stock offering is abysmal and Cygwin isn't much better. We could really use something with a bit of panache like this... Hmmm..

<comment><USER17> For me, powershell has very slow startup time. So I stick with cmd.exe. But it beefed up quite a bit. I am using:

\- msys-git (I have ls, rm -rf... all unix goodness)

\- clink (better tab completion, history, all around good stuff)

\- console2 (styling)

\- ansicolor (colored prompt)

and also I got some usefull aliases. If you are interested I can write down some steps for other people to follow.

screenshot <http://i.imgur.com/hATwCVI.png>

<comment><USER18> Wow that's a nice setup. I'm already using clink (my brother is the author), but I'm checking the rest out now. Thanks!

</comment></comment></comment><comment><USER19> How long does it take for something to show up in brew? I see that Fish has a pull request issued a five hours ago, but I see quite a number of other items have pull requests going back months.

<comment><USER20> There's the package fishfish whose version is stable OpenBeta_r2.

<comment><USER3> That version is nearly a year old; the fishfish formula was temporary and will be removed from Homebrew as soon as the canonical fish formula has been updated to 2.0. Hopefully the Homebrew maintainers will merge this soon (not sure what the hold-up is): <https://github.com/mxcl/homebrew/pull/19887>

</comment></comment></comment><comment><USER21> IF YOU READ THIS, YOU MUST TRY fish NOW!!!

Really, this 100x better than bash.

        1. download and install[0]
        2. read the tutorial[1]
        3. ...
        4. profit

[0]: <http://fishshell.com/#platform_tabs>

[1]: <http://fishshell.com/tutorial.html>

</comment><comment><USER22> I've tried fish a few years ago and wasn't all that impressed with the features.

That said, the new version is just ace! I gave it 30 minutes and it basically does everything I do with zsh right now. All that with about 5% of the configuration effort I put into zsh. Plus, it's so much faster than zsh.

I'll give fish a go as my main shell. Let's see were this goes.

<comment><USER23> Felt the same. Fish worked out of the box, but left me unimpressed about its abilities compared to zsh (well, I'd give it the same score as to zsh) until I realised I hadn't configured anything beyond generating man-completion files. I'll leave fish lying around so I can alt-tab to it and check it from time to time

</comment></comment><comment><USER24> Thanks for all the Fish!!!

                                                  _J""-.
                      .-""L_                     /o )   \ ,';
                 ;`, /   ( o\                    \ ,'    ;  /
                 \  ;    `, /                     "-.__.'"\_;
                 ;_/"`.__.-"

</comment><comment><USER25> Nice work. Please consider to code-signing the package so that it works nicely with Mountain Lion gatekeeper.

<comment><USER26> Ironically I believe Mr Fish is an Apple employee.

<comment><USER27> was* if I'm correct.

<comment><USER28> he's still listed on LinkedIn as working there..

</comment></comment></comment></comment><comment><USER29> Great.. here I am all ready to try switching to zsh and now here's a new fish..

Which to go for..?

<comment><USER30> I've "skipped" zsh--I tried it a few times, but it didn't seem enough better than bash for it to be worth learning, converting all my scripts, and so on. fish does seem worth the effort, and in fact many of my bash scripts and configuration settings are now unnecessary.

FWIW my (rapidly changing) fish configuration:

<https://github.com/ithinkihaveacat/dotfiles/tree/master/fish>

<comment><USER31> You likely want to move your environment variables to ~/.pam_environment instead of setting them in fish configuration.

<comment><USER30> Is ~/.pam_environment that cross platform? I'm trying to use the same config on Linux and OS X.

</comment></comment></comment></comment><comment><USER32> Can anyone tell me if fishshell 2.0 works with RVM and Virtualenvwrapper?

<comment><USER33> I had to install oh-my-fish[0] and enable the RVM plugin to get RVM to work.

[0]<https://github.com/bpinto/oh-my-fish>

<comment><USER34> The author of that could have been more innovative with the name. The word fish gives a lot of room to play :)

</comment></comment></comment><comment><USER35> As a long time bash user, I thought I can give a chance to fish. But after 30m later, when I see this [1] I went back to bash.

[1] [http://serverfault.com/questions/164305/how-can-i-set- enviro...](http://serverfault.com/questions/164305/how-can-i-set-environment- variable-for-just-one-command-in-fish-shell)

<comment><USER36> What's so hard about typing 'env' in front of the line? `env EDITOR=vim crontab -e`

Also, why are you changing your EDITOR on a one-off basis, that shit should be permanent.

<comment><USER35> Ah! you are right. That didn't occur to me, when I was trying fish.

BTW, My point is not specific the EDITOR variable.

</comment></comment></comment><comment><USER37> I used fishshell for the better part of a year and enjoyed the experience. However, a few things bugged me:

\- Anything that shells out using your default shell seems to assume a bourne- compatible shell. I remember this biting me when using various emacs commands that assumed all the world is a bourne shell.

\- Copypasting commands is annoying too, but I've been evaluating zsh for the past few months and i've been bitten there too...seems like anything that isn't bash will run into that issue, and you can always just use bash for those instances.

\- Virtualenv comes with a fish shell script, but last I checked it didn't actually work.

\- Does fish still throw a hissy fit every time you try and tab-complete a command and your $PATH has a non-existant path in it?

</comment><comment><USER38> I would severely miss the history completion. I can't count how many times I type !vi to return to the last file I was editing while goofing around in between editing sessions, or !scp to re-upload a fixed package. I understand the need for simplicity, but hitting the up arrow an undefined number of times until I see the command I need seems less efficient.

Other than that fish looks really polished and I plan on devoting a few days to it to give it a fair shake.

<comment><USER5> I think you will really like the autosuggestions then. Just begin typing 'vi' and it will suggest the rest of the last command you typed, like doing a history search for free. See [http://fishshell.com/assets/img/screenshots/autosuggestion.p...](http://fishshell.com/assets/img/screenshots/autosuggestion.png) .

One of the nice features of autosuggestions is that they remember which arguments were files, and which ones were not. So if you have changed directories, !vi will edit a file that does not exist - probably not what you meant to do. The fish autosuggestion won't suggest it at all.

</comment></comment><comment><USER39> Somewhat tangential but is there any reason why the IRC chatroom is on OFTC rather than Freenode? I think it's the first time I see an open source project using OFTC.

<comment><USER10> Possibly a historical artifact; fish was created in a time when the controversies surrounding lilo were fresh in memory and lilo was still boss. Actually there is a channel on freenode now, but it's about a third in size.

Other examples of projects officially on OFTC include: debian, tor, open street map, libvirt/qemu and related tech, ceph, awesomewm, gcc, smuxi... So fish isn't all alone there.

There are also projects that operate their own networks, such as GNOME and Mozilla.

</comment></comment><comment><USER40> I just found out the other day that in fish you don't need to use the 'cd' command. You can just type out a path and it'll change to the folder.

<comment><USER41> You get the same in bash and zsh, it's not exclusive to fish.

Bash: shopt -s autocd

Zsh: setopt autocd

</comment></comment><comment><USER42> Interesting idea with potential, but poor implementation. I tried to type sudo apt-get and it didn't even autofill my most used commands. I also use the guake shell client, I would want it integrated in that

<comment><USER43> AFAIK, it tracks its own history separately from other shells. It's not going to read .bash_history (or whatever) to discover your usage patterns - you'll have to use fish for awhile and build some history.

<comment><USER5> In fact, fish 2.0 will import from .bash_history if it has no history of its own. <https://github.com/fish-shell/fish-shell/issues/66>

</comment></comment></comment><comment><USER44> Like many, I have switched to zsh a few months back and have enjoyed the experience thanks to Oh-My-Zsh. I will give it a go, but I don't know if I can really appreciate the difference.

<comment><USER45> I think you will. Perhaps not so much when using oh-my-zsh but when you want to tweak your prompt I find fish's syntax far more sane.

<comment><USER44> Having played with it for the last 30 minutes or so, I think I will stick on Fish Shell. Surprised (and amazed) by how simple it was to get started and set up my traditional startup scripts. And the auto-completion is just amazing.

</comment></comment></comment><comment><USER46> I wonder if keychain now works with fish (didn't with the last version) or is there an alternative to get fish working with the ssh-agent?

<comment><USER3> I've been using fish with ssh-agent for the last year without any problems.

</comment></comment><comment><USER47> Its Very Nice shell & better than bash...

<comment><USER48> how do you change the motd, or remove it entirely?

its annoying having

Welcome to fish, the friendly interactive shell Type help for instructions on how to use fish

come up all the time

<comment><USER49> set -x fish_greeting ""

<comment><USER10> You probably meant set -U because you probably don't want to export fish_greeting to child processes. fish_greeting is already universal though and you don't need the empty string to unset it. This is enough:

        set fish_greeting

</comment></comment></comment></comment><comment><USER50> fish awesome</comment>


The Search for Exceptional Genomes - <AUTHOR> http://www.technologyreview.com/featuredstory/532421/the-search-for-exceptional-genomes/

<comment><USER2> Inspiring. Finding 'human knockouts' is a fantastic example of what becomes possible as sequencing gets cheap.

Steven Hyman (former director of NIMH), recently argued that this approach is also key to developing treatments for depression:

[http://www.nature.com/news/mental-health-depression-needs- la...](http://www.nature.com/news/mental-health-depression-needs-large-human- genetics-studies-1.16300)

[At Nature, but not paywalled, thankfully]

</comment><comment><USER3> The article refers to Google sequencing healthy genomes, and I think I recently read something about Google running a longitudinal health study on employees (a la the Framingham Heart Study) - anyone here familiar with what they are doing?</comment>


OpenBSD Foundation reaches funding goal for 2014 - <AUTHOR> http://marc.info/?l=openbsd-misc&m=139714707927779&w=2

<comment><USER2> To put the number in perspective -- this is about how much a single full time engineer will cost to employ. Let's lowball and imagine that OpenBSD in comparison to firefox is 1/100th the size. Mozilla has annual revenues of >300 million dollars, compared to OpenBSD's $150 thousand.

They are asking for donations to cover electricity costs. The real donations, of course, has been in the time the community has put in this.

<comment><USER3> > Let's lowball and imagine that OpenBSD in comparison to firefox is 1/10th > the size.

What do you mean by "size" exactly? I doubt that OpenBSD has anything close to 10% of Mozilla's workforce, expenses or user base.

<comment><AUTHOR> > I doubt that OpenBSD has anything close to 10% of Mozilla's ... user base.

AFAIK it's somewhat popular on networking hardware. It's a different category of 'users' but it's users regardless.

<comment><USER4> The openBSD foundation is also responsible for openSSH which I think might actually have a bigger install base than firefox...

I wonder if they would get significantly more donations if they renamed themselves to the openSSH and BSD foundation.

<comment><USER5> Forgive my ignorance, but isn't openSSH more or less a done deal? How many man hours are they honestly putting into that now-a-days?

<comment><USER6> Looks reasonably active[1]

[1][http://www.openbsd.org/cgi- bin/cvsweb/src/usr.bin/ssh/](http://www.openbsd.org/cgi- bin/cvsweb/src/usr.bin/ssh/)

<comment><USER7> New releases are made quite regularly.

Dates and changelogs can be found here:

[http://www.openssh.com/txt/](http://www.openssh.com/txt/)

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Just curious: how is FreeBSD's development process founded, in comparison?

...I know software quality is in no way proportional to investment, but the fact that there is so little money invested in OpenBSD's development might alone be a reason for a company not to use it, despite some known qualities! (I know, some will say that by this reasoning we'd all use Microsoft products instead, but if you calculate the money + man hours invested in Linux for example, you'd probably have a figure in the tens of millions or more likely hundreds of millions of $...)</comment>