Numbers.vim - better line numbers for vim - <AUTHOR> http://myusuf3.github.com/numbers.vim/ <comment><USER2> Do you really need a plugin for this?

If you want relative numbers to appear when in normal mode, and absolute line numbers to appear otherwise (e.g., when the window has lost focus), just throw this in your .vimrc:

        set rnu
        au InsertEnter * :set nu
        au InsertLeave * :set rnu
        au FocusLost * :set nu
        au FocusGained * :set rnu

Here's a gist for posterity. Feel free to fork it, leave comments on what should be changed, etc. The above has worked for me on Mac OS X for years, but there's a chance I didn't set it up the "right way". Leave comments on this gist and I'll update as necessary:

<https://gist.github.com/3012145>

<comment><USER3> I just have this in my .vimrc which lets you toggle it whatever way you want in edit mode and it stays however you leave it when you toggle modes

        " use Ctrl+L to toggle the line number counting method
        function! g:ToggleNuMode()
        	    if(&rnu == 1)
            		set nu
    	    else
    		    set rnu
    	    endif
        endfunc
        nnoremap <C-L> :call g:ToggleNuMode()<cr>

<comment><USER4> Quick note: This requires vim 7.3

</comment></comment></comment><comment><USER5> As someone with a low-bandwidth connection and that I often work in cafés I hate it when the only description available is through video when there could easily have been text and screenshots.

<comment><USER6> Even on high bandwidth connections it's annoying. My read speed is much higher bandwidth than videos for things that can be explained in a paragraph or three.

Videos should probably be used when:

1\. Your audience is non-technical.

2\. A (moving) picture is worth a thousand words (eg, words can't do it justice, but a quick video can).

3\. You're not bandwidth constrained (or firewalled).

4\. You're not just video'ing text entry, or if you must, you ensure the user can zoom in or enlarge the video to see it (the embedded video can't be enlarged, I had to open it in Youtube to actually see it).

</comment></comment><comment><USER7> I know some people like line numbers, but personally, I just look at the status bar at the bottom of the buffer.

I find line numbers on the side clutter up my view too much. I always use 80 character terminal widths, to make it easier to stick to my PEP8 validation script we run.

<comment><USER8> That's fine for determining what line you're on, but visible line numbers make it much easier to jump to a particular line. I've only recently _set number_ in my .vimrc and wish I'd have done it sooner.

<comment><USER9> I do that by jumping to the particular line. :<linenum> or <linenum>G does that.

<comment><USER10> I think the point is that it's harder to see what line number you want to jump to if you don't have line numbering on. . . .

<comment><USER11> Right, the alternative is to just sort of guess how much you need to ctrl-u/d or j and k to get to a specific line. Also, I guess it depends on screen size. I usually have plenty so the line numbers' usefulness outweighs the extra space required, at least for me.

</comment></comment></comment></comment></comment><comment><USER12> There's also <https://github.com/jeffkreeftmeijer/vim-numbertoggle> which seems to do the same thing. I've been using that for a few months but i'm still not sure it's actually an improvement. It gets in the way almost as much as being actually useful.

</comment><comment><USER13> FWIW, the example you give would be more easily handled with the built in "dap" (delete a paragraph)

<comment><USER14> Yea, that's what I had in mind while watching the video too. I remember that example as delete around paragraph, to match delete inside paragraph (dip), which differ in how they handle whitespace at the end of the paragraph. Delete inside quotes, di', and delete around quotes, da', work in the same way too.

</comment></comment><comment><USER15> I'm still pondering the "how is this useful?" part... why are absolute numbers useful for you in insert mode?

<comment><USER16> My exact thought. I absolutely love 'relative line numbering' as it lets me use different VIM commands without having to do math. And as I can go to any line number by typing ':<line number>' [generally reported by debugger or other means], I don't really care about actual line numbers anymore.

<comment><USER17> I still feel like I have to do math (albeit simple math) with relative line numbering. If I want to yank a block of code that's X lines long, I have to look at line X, and add one to the number next to it. E.g., when I want to grab 8 lines, the last line I want to grab has a 7 next to it.

I guess I think it'd be more helpful if the numbers were inclusive, and 1-indexed. I'm not sure how to configure that though.

<comment><USER16> Yes, I wish the numbering was 1-indexed. But by now, I have trained my brain to automatically add one. I would definitely prefer a fix where I don't have to do +1.

</comment></comment></comment></comment><comment><USER18> Actually I'm more interested in seeing this guy's tmux config file.

<comment><USER19> He's got that on github, too: <https://github.com/myusuf3/dotfiles/blob/master/tmux>

</comment></comment><comment><USER20> Its these kind of things that I wish to see vanilla vim shipped with, without bothering the user much.

Yes you can toss some commands and code snippets at me and ask me to use them to get these features. But not having to type commands/snippets and have all goodies out of the box is what modern text editors like sublime text are all about.

<comment><USER21> If you don't like typing, vim is not the right editor for you!

<comment><USER22> There's a difference in productive typing and typing to set up your editor. I would compare this to the popularity in Ubuntu vs Arch, too.

<comment><USER21> Well, it's not like it's Eclipse. I've been carrying my .vimrc and other dotfiles around from machine to machine for a decade. Occasionally I make changes, but for the most part there's not a lot of setup with vim for me.

</comment></comment></comment></comment><comment><USER23> Anyone else just use visual mode for that kinna stuff?

</comment><comment><USER24> What's with the funky status bar?

<comment><USER25> Thats his tmux Theme(outer) inner is powerline for Vim(<https://github.com/Lokaltog/vim-powerline/>), with a patched font.

<comment><USER26> That's what I was looking for. I love HN comments</comment></comment></comment>


Show HN: Skor – Drop-in microservice to get Postgres changes as JSON webhooks - <AUTHOR> https://github.com/hasura/skor <comment><USER2> Looks cool. Seems like a good alternative if you can't use listen/notify for some reason.

I've used listen/notify with triggers for a while with good success. The flexibility of my apps controlling what they want to listen for instead of having that config elsewhere.

Downside to l/n is that if you aren't listening you aren't getting changes. Seems like the same is true if the webhook fails here since there isn't a retry.

If you want to check out another cool alternative see Debezium[1]. It's uses PGs logical decoding feature to stream changes. Supports protobufs and JSON output.

[http://debezium.io/docs/connectors/postgresql/](http://debezium.io/docs/connectors/postgresql/)

<comment><USER3> Unfortunately, most of these LR programs don't work in AWS (RDS) land, since they require PG plugins, and RDS LR only supports the built-in test decoder.

I wrote a similar program that uses LR to stream changes to AWS's Kinesis[1], using a mini library that parses the output of the default test decoder[2] as a result, in case anyone else is in RDS and has the same limitation.

[1] [https://github.com/nickelser/pg_kinesis](https://github.com/nickelser/pg_kinesis) [2] [https://github.com/nickelser/parselogical](https://github.com/nickelser/parselogical)

<comment><USER4> IIRC Debezium is RDS compatible since version 0.7.0

<comment><USER3> That's awesome -- wasn't aware that was the case (wasn't many moons ago :). Thanks for the heads up! But, we don't use Kafka internally so it's sadly a non-option still...

</comment></comment></comment></comment><comment><USER5> Interesting. A quick look at the code indicates you're just doing a notify on the whole row. Have you tested with large rows? The postgres notify function fails with a payload larger than 8000 bytes, and that limit cannot be changed at runtime, last I looked.

I wrote a similar thing to notify on changes, but had to just fire notifies on what changed (id, column names) and there was a second step in the listening code to fetch the full details.

<comment><USER6> Yes. That is correct. It fails with large rows. I'll add this to the limitations. The trigger currently sends the entire row but it can be modified to send just the unique identifier for a row. I'll add the documentation to do this. Tracking this here: [https://github.com/hasura/skor/issues/6](https://github.com/hasura/skor/issues/6)

(I work at Hasura)

</comment></comment><comment><USER7> This problem is one of my biggest needs with postgres, although its certainly not limited to pg. listen/notify is fragile - you either have a single point of failure or you run multiple workers and have to deal with de-duping. Logical replication might one day be an answer, but not likely to ever work completely and without issue on cloud hosted instances. (maybe im wrong about this... see debezium comments elsewhere in the comments)

What ive been thinking of lately is doing triggers to write to a different table with a timestamp and doing a rolling log - the worker can listen/notify on that but can also keep track of the last message it saw and can go back and catch up when it first starts, so if it fails you dont lose anything. All I really need is a type (table) and the relevant keys. I think I would prefer a way to configure which tables I want to listen on and which columns (keys) I care about.

Really wish there was a standard postgres provided way to notify an external system of changes though. Its certainly not an easy issue.

<comment><USER8> `table -> trigger to log table -> trigger to notify` is exactly the right solution here. You can even use the same stored proc to replay old logs.

</comment></comment><comment><USER9> I did something similiar, but directly from postgresql triggers: [https://github.com/pramsey/pgsql-http](https://github.com/pramsey/pgsql-http)

You just have to be careful with failing queries and set timeout to low.

</comment><comment><USER10> This looks cool, and another approach is pg_amqp_bridge to send events like this into rabbit. A nice feature is that the triggers don't block:

[https://github.com/subzerocloud/pg-amqp- bridge](https://github.com/subzerocloud/pg-amqp-bridge)

You can then push to websockets from rabbit with STOMP

[https://www.rabbitmq.com/web-stomp.html](https://www.rabbitmq.com/web- stomp.html)

<comment><USER11> > pg_amqp_bridge

Thanks for posting this. Can already see a couple of weekends burned trying to drive celery from pg.

Do you know if it is used in production somewhere; how battle-tested is it?

<comment><USER10> I've used it in a couple production deployments and it's solid. It's only ~300 lines of Rust code, so I'm confident it is simple and even if I had a problem, would be easy to understand.

</comment></comment></comment><comment><USER12> Very cool, at my current job we have a realtime ETL process using Maxwell & Apache Kafka to stream replication events to a set of Node servers for a variety of transformations.

Seeing that this isn't hooked into replication is a bit worrying, but it seems they are going to implement it as a replication client which should make it much more robust.

</comment><comment><USER13> Seems like there are a lot of people here who aren't aware of wal2json and RDS support for wal2json.

</comment><comment><USER14> Does an update of 100 rows result in 100 webhook calls or 1 webhook with a payload of 100 rows?

<comment><USER6> 100 webhook calls as the trigger is executed whenever a row is modified.

Postgres's per statement triggers don't let you capture the rows that are modified and skor doesn't do any sort of batching currently.

<comment><USER15> > Postgres's per statement triggers don't let you capture the rows that are > modified

They do these days. Since 10 you can specify:

      REFERENCING { { OLD | NEW } TABLE [ AS ] transition_relation_name } [ ... ] ]

in a FOR EACH STATEMENT ... AFTER trigger.

<comment><USER6> That's great news ! So the trigger can use json_agg to compose the notification with all the modified rows. We'll document it ([https://github.com/hasura/skor/issues/8](https://github.com/hasura/skor/issues/8)).

</comment></comment></comment></comment><comment><USER16> Very cool and I see myself using this in the future.

Is an approach like this best practise or rather meant as intermediate hack?

<comment><USER17> In general I have not seen the DBMS emitting changes as a best practice. The applications modifying the data should be emitting events or messages appropriately. Someone can correct me if I am wrong.

<comment><USER18> The most reliable implementation of this pattern is to use the replication binary logs of the database. Your application cannot atomically publish a write to both a database and a messaging system (without introducing a massive headache that you will implement incorrectly).

<comment><USER19> Yeah but I think it's important to consider whether any microservice should be able to listen to any other microservice inserts or updates. I think using the replication log as the underlying mechanism is a good idea, but you should really be choosing which messages to expose because it forms a public API.

<comment><USER20> The receivers choose which messages to expose by selecting which events to listen for. The broker then only forwards those events. The question is, how do the receivers specify the event type? Do they use the schema of the publisher, or some intermediate interface at the broker?

</comment></comment></comment></comment></comment><comment><USER21> Cool! Does this handle rate limiting or retries?

<comment><USER6> Currently there is no support for rate limiting or retries of webhook calls. I've opened an issue ([https://github.com/hasura/skor/issues/7](https://github.com/hasura/skor/issues/7))

<comment><USER21> Cool - I didn't expect this, but was curious.

</comment></comment></comment><comment><USER22> Hi! It's very similar to what we built at [https://base.run](https://base.run) :) Take a look!</comment>


Don't Spread Yourself Too Thin: The Impact of Task Juggling on Speed (2010) [pdf] - <AUTHOR> http://www.nber.org/papers/w16502.pdf <comment><AUTHOR> The actual title is over the limit for HN submissions.

"Don't Spread Yourself Too Thin: The Impact of Task Juggling on Workers' Speed of Job Completion"</comment>


Game Developer Magazine archives 1994-2013 - <AUTHOR> https://www.gdcvault.com/gdmag <comment><USER2> I have a few of these in print. The Postmortem articles are invaluable. They follow the same format: describe 5 things that went right, and 5 that went wrong ;)</comment>


Patent attorney recommendations? - <AUTHOR>

And yes, I know software patents are evil.  But sometimes, you have to play the game with the rules that exist today. <comment><USER2> Are you planning on a 4 year journey? Software patents take allot longer, though I suppose investors like the patent pending logo. I would look for someone local as they are much easier to deal with when trying to explain your invention, which is the most important part to the success of the patent. I tried to get a software patent and unless you have a new process... adding redundant code to detect copyright infringement may be a good way to go (and much cheaper).

When you search for one you just need to make sure that they have someone who specializes in software patents. Initially they are going to do the patent search for not a ton of money ($1,000 - $2,000) so you can feel them out a little and switch if you don't like working with them.

<comment><AUTHOR> I'm in SF, and yes, I'm serious about what I'm doing. I'm aware of the timeframe, and I hope that I never have to seek enforcement of any patents. I think its worth it to throw up barriers to any of the big boys that may choose to compete with my product. Patents may also add to the potential acquisition value of the product. I hope few people here will recommend a quality attorney or firm.

Thanks for the comment!</comment></comment>


Computer Scientists Build Computer Using Swarms of Crabs - <AUTHOR> http://www.technologyreview.com/view/427494/computer-scientists-build-computer-using-swarms-of-crabs/

<comment><USER2> Sensationalist title (to say the least). They weren't even able to make a reliable AND gate.</comment>


How I learn things - ideas for constructing your documentation - <AUTHOR> http://andrewducker.livejournal.com/2538286.html <comment><USER2> I started programming with Blitz3D. All the commands have documentation in the form of a little program that shows how it can be used. With one button press you can load the example code into the IDE and run it. A great way of documenting.</comment>


How to Spot a Narcissist (Trump) - <AUTHOR> http://blog.dilbert.com/post/139910704581/how-to-spot-a-narcissist-trump-persuasion-series <comment><USER2> There's something about assuming the position of the reader and talking down to him/her that smacks of frustration with humanity, coupled with the feeling that being patronizing is acceptable.

Complaining about dumb people is so understandable and yet so not productive. That's why it is usually left up to friends and family. You vent to your peers but present well reasoned arguments and suggestions to the masses, once you have calmed down and come up with a potential solution.

Without a solution - you're just another complainer, lord knows we have enough of those, myself included :)

</comment><comment><USER3> > "[...] Narcissists also lack empathy. That's Trump all over. He has no > empathy whatsoever. Sure, he says he loves wounded veterans, underemployed > Americans, and even the undereducated. But you know all of that is lies."

> "How do you know? Simple! You know because you are far smarter than normal > people [...]"

Or perhaps you know by having looked at his proposals and listening to what he has said about people he doesn't need votes from...?</comment>


Diving Deeper into Consensus - <AUTHOR> https://blog.helium.com/diving-deeper-into-consensus-eaf20ddced92 <comment><USER2> I really am excited about the idea of incorporating physical properties of the environment into the Blockchain as they suggest here. Seems like that solves the problem of Oracle data in a much more reliable way, since network data is ephemeral while environment data can be corroborated later with multiple sources.

</comment><comment><USER3> There is also an earlier post related to Proof-of-Coverage here: [https://blog.helium.com/proof-of-coverage-useful-energy- effi...](https://blog.helium.com/proof-of-coverage-useful-energy-efficient- and-fair-f1450c7d94c7)

</comment><comment><USER4> For anyone interested in more reading:

\- The whitepaper that goes into more detail on this can be found here: [http://whitepaper.helium.com](http://whitepaper.helium.com)

\- A lot of the code that makes this possible is pinned to the Helium repo on GH: [https://github.com/helium/](https://github.com/helium/)

</comment><comment><USER5> #buidl with HBBFT!</comment>


CovidAfrica API - <AUTHOR> https://www.covidafrica.info/api <comment><AUTHOR> Access data on COVID19 in Africa through an easy API for free. Build dashboards, mobile apps, or integrate into other applications. Data is sourced from Wikipedia, OurworldInData and covid-19-africa.sen.</comment>


White Oak hiring blitz (Washington DC area) - <AUTHOR> http://www.woti.com/jobs.cfm White Oak Technologies is doing a hiring blitz between now and the end of May.  White Oak has been the main sponser of PyCon for the last few years.
The White Oak mission is "To solve our commercial and government customers' mission critical, largest scale, and most challenging information systems problems by providing the very best staff and "bleeding-edge" technologies."
You don't need a USA security clearance to be hired by White Oak.  But you should be qualified to obtain a USA security clearance. <comment><USER2> Back when I was interested in that whole "job" thing, I interviewed with White Oak Technologies.

I don't say this lightly: They have the most programmer friendly HR team I've seen in a tech company. When I applied they responded quickly and moved through the process quickly. Bruce and Dave (the HR guys) really seemed to get programmers.

When they wanted to do an on-site interview it was clear they had a process and the details were taken care of.

I interviewed at some other companies that didn't quite have their HR act together. Here were the things that got me:

1\. Having to "ask" for a flight to the on-site interview

2\. Waiting three weeks between stages of the process

3\. HR people that look at programmers as common cattle (although to be fair, we probably do the same to them).

If you're bigger than a startup -- talent will walk away from you. To bring this back to WOTI, these guys realize this.

<comment><USER3> Could you describe the interview, I am interviewing with them in a few weeks, Thanks.

</comment></comment><comment><AUTHOR> White Oak Technologies is doing a hiring blitz between now and the end of May. White Oak has been the main sponsor of PyCon for the last few years.

The White Oak mission is "To solve our commercial and government customers' mission critical, largest scale, and most challenging information systems problems by providing the very best staff and "bleeding-edge" technologies."

You don't need a USA security clearance to be hired by White Oak. But you should be qualified to obtain a USA security clearance.

</comment><comment><USER4> Why I Will Not Be Working at White Oak Technologies Inc.: [http://www.washingtoncitypaper.com/blogs/citydesk/2008/08/08...](http://www.washingtoncitypaper.com/blogs/citydesk/2008/08/08/why- i-will-not-be-working-at-white-oak-technologies-inc/)

</comment><comment><USER5> sounds like they got a boatload of stimulus money :)</comment>


Pattern vision - <AUTHOR> http://37signals.com/svn/posts/3341-pattern-vision <comment><USER2> I see a lot of current libraries in the Ruby world taking this Patterns are law approach.

Particularly the Law of Demeter and the Single Responsibility Principle are frequent offenders.

You end up with something that could have been handled in one or two small classes and/or Concerns split up over 30 or so files neatly organized in a module hierarchy.

End result is that every single file has a single responsibility yet it's extremely difficult to see whats going on.

Rails 3 I think unintentionally started this. Through it's use of Concerns. This is good in a very large framework such as Rails and when the Concerns like in Rails contain a decent chunk of related code grouped together in one readable chunk.

I use Concerns within my own apps as well to maintain readable re useable code that can be used in multiple models.

If you have 20 Concerns each containing one or two methods split all over the file system it's difficult to maintain, but even harder to understand.

The Law of Demeter has also brought us ActiveModel wrapper classes that wrap all of this code together and when you add a column to the underlying table you can't use it with the wrapper class since it's not a real AR model. So you now have to fork the library or write your own models.

(edited to use the word Concern instead of the more generic Mixins)

<comment><USER3> _> If you have 20 mixins each containing one or two methods split all over the file system it's difficult to maintain, but even harder to understand._

This is a consequence of the source code persistence mechanism being also used as a browsing and organization system. It's an impedance mismatch problem only Smalltalk tried to tackle in the past. Code Bubbles and Light Table have mentioned it more recently.

What if one could tag code and easily browse it by tag?

<comment><USER2> That is true, but it is still the reality of how we code Ruby today. (also most editors are pretty good at navigating this)

One of the original beauties of Rails was it's pragmatic approach. It took a couple of key patterns and bent it into a less pure yet easy to use way of writing maintainable code.

I'd argue that the directory structure and conventions behind it was DHH's main innovation here. Of course Rails own code base was quite ugly out of necessity before the 3.0 rewrite to handle this.

I think the current trend to use patterns blindly comes from the fact that there are so many large Rails legacy apps now. We need better ways of organizing the code. Yet we shouldn't break what made Rails good in the first place or we end up with the Ruby equivalent of EJB's.

<comment><USER3> So, we should just stick with files, or else we get EJBs? Sorry, it doesn't follow.

<comment><USER2> Thats not what I'm saying.

If we are in the business of writing Rails apps and not innovative new IDE's we need to write code in a way that works with our existing tool belt.

If we start blindly following patterns without being pragmatic about our current tool belt we may very well see the ruby equivalent of EJB's.

<comment><USER3> If that were the only proper strategy, then why wouldn't we be looking at even more optimal codes to fit on punch cards?

</comment></comment></comment></comment></comment></comment><comment><USER4> I saw a tweet that sums it up: "Refactoring to patterns is far more important than designing with patterns."

<comment><USER3> DRY is all you need in a language with a full implementation of blocks.

</comment></comment><comment><USER5> tl;dr - patterns are seductive, and without understanding yagni, they strongly tend to be counterproductive.</comment>


Twitter kills TweetDeck for Windows, automates log-ins for TweetDeck users - <AUTHOR> http://techcrunch.com/2016/03/17/twitter-kills-tweetdeck-for-windows-automates-logins-for-tweetdeck-users/ <comment><USER2> > The company said it made the decision to abandon development on Windows so > it could "better focus on enhancing your TweetDeck experience,"

Haha, what a bald-faced lie.

They absolutely murdered tweetdeck by buying it a few years ago and releasing a "remade" version with 90% of the features removed. Officially abandoning the desktop client just means they've finally finished what they began and taken the old guy behind the shed.

<comment><USER3> > Officially abandoning the desktop client just means they've finally finished > what they began and taken the old guy behind the shed.

Do you think they are really abandoning it for all platforms? I was thinking how different the world was that the Mac is given more attention than Windows now. I remember many years when the opposite was true.

<comment><USER4> Probably because they can share most of the codebase between Mac and iOS.

<comment><USER5> It's built in html/CSS/js

</comment></comment></comment></comment><comment><USER6> I don't think there has been a week since the beginning of the year when Twitter did not make some kind of move that was either hostile to users or developers. I really can't follow their strategy any more.

<comment><USER7> I don't see any strategy, I see fear. I feel sorry for the developers relationship guy who tried to defend Twitter in HN yesterday and was lost in action immediately. I haven't seen anything like that for a company like Twitter. They don't know how to play the game of the big leagues.

I think it will be better to them to close their API and show their real face instead of being ambiguous.

<comment><USER8> Twitter has been always horrible for developers. Makes no sense. If I were doing a service like Twitter I would make firehose available to everyone. It's more important to dominate than control.

<comment><USER9> Not if you have to live off advertising.

<comment><USER10> I don't see why they have to live off advertising. Right now they're charging a ton of money for firehose access through Gnip. They could charge power users for access to cooler features and better analytics, or just charge developers gradually more money for more traffic instead of having a hard rate limit.

<comment><USER11> Social networks need to be free so they can gain as many users as possible and generate network effects. Anything but advertising messes with the incentives. [https://stratechery.com/2014/ello-consumer-friendly- business...](https://stratechery.com/2014/ello-consumer-friendly-business- models/)

<comment><USER10> Ello made things weird for new users. The stuff I'm talking about would only affect commercial users, or people who are already heavily invested in being on Twitter.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> TweetDeck is honestly the only way I've found to make Twitter usable. Twitter the idea is great. Twitter the company is so bad that its existence makes me question how capitalism has survived as long as it has.

<comment><USER13> Check out [http://tapbots.com/tweetbot/](http://tapbots.com/tweetbot/), but don't tell Twitter about them so they don't get acquired and shut down.

<comment><USER14> I really wanted to like tweetbot but it beachballs allllll the time. It's a shame because twitter really screwed up their new version of twitter for mac. I'm left without a usable twitter client atm :/

<comment><USER15> You'd think their team of 2500 engineers could release a working app or two.

</comment></comment></comment></comment><comment><USER16> Now seriously considering abandoning Twitter, which is a real shame. It's the primary communications channel for the world-wide F# community. I guess I have until April 15 to decide. And just after I'd finally cleaned-up my timeline feed by judicious use of mute.

</comment><comment><USER17> And replies are still broken. When you reply to a tweet in TweetDeck, it prepends the new tweet with your handle. Which makes absolutely no sense. Users have been reporting it for over a month and they just don't care to do anything about it.

</comment><comment><USER18> IF they started rolling out TweetDeck features to the official Twitter app on Windows 10, I would find this excusable...but given @Jack's mishandling of virtually ever aspect of Twitter since his return...I have a feeling this is an on going symptom of a much broader problem Twitter has. I think Twitter is a very useful tool, but seriously someone like Microsoft or Google need to buy it and kick out all of the top management to the curb. I have rarely, if ever, seen a major company being so poorly ran in such a public fashion.

<comment><USER19> What about Apple? Wouldn't Twitter be a perfect replacement for Apple Music's Connect feature?

<comment><USER18> I just don't view Apple as an information company like I do Google and Microsoft. Don't feel it mixes all that well with their other verticals. Twitter is a perfect search engine companion.

</comment></comment></comment><comment><USER20> They just updated their UWP app for Windows 10 this week and added a bunch of features. It makes no sense to support two different apps on the same platform.

[https://www.microsoft.com/en- us/store/apps/twitter/9wzdncrfj...](https://www.microsoft.com/en- us/store/apps/twitter/9wzdncrfj140)

Good to see they're focusing efforts on Windows 10.

</comment><comment><USER21> Just when you think "Ok, Twitter has gone pretty low but I'm pretty sure they can't anger their users any more"... they do.

</comment><comment><USER22> I found TweetDeck a few years ago and I gave it a permanent place in the top left corner of my desktop on my browsing machine immediately.

It solved all the problems I was having with the web app - huge memory usage mainly.

If there's no alternative on Windows, then I guess I'm going to get a lot more work done.

</comment><comment><USER23> TweetDeck is useless. I honestly wonder what social media managers with, say, a dozen or more social media accounts (not just Twitter) actually use.

My clueless googling revealed nothing.

<comment><USER6> > TweetDeck is useless.

It is now, but it wasn't always so. At some point it was simply the 'better twitter ui'.

<comment><USER24> And that's why they had to kill it. Instead of investing the time and effort to make the real UI better, their plan was simply to make other clients worse until everyone was forced back onto one giant web platform that they can monetise with adverts.

<comment><USER25> Unfortunately, it looks a lot like Facebook's playbook.</comment></comment></comment></comment>


Johns Hopkins researchers question study linking Sturgis rally to Covid-19 - <AUTHOR> https://www.cbsnews.com/news/sturgis-motorcycle-rally-superspreader-johns-hopkins-research-doubt/ <comment><USER2> _In a paper posted Friday, the Johns Hopkins researchers say the data collected by the San Diego center 's economists (who represent three different universities) in fact support one main thrust of the study — that the Sturgis event led to a spike in COVID-19 cases in the county that hosted the rally as well as in surrounding areas._

Basically, the new paper confirms the first likely effects of the earlier study. These are concentrated, earlier surfacing, and observable in a known location. Downstream epidemiological effects will occur later, be more diffuse, and require contact tracing, i.e. there's more work that can only occur in the future.

We are only a month out from the Sturgis Rally. That's not enough time to collect significant data on it's impacts.

</comment><comment><USER3> The "study" (using that term loosely) was nonsense. The figure that got reported as healthcare cost was actually some kind of Department of Transport figure for the value of a life, adjusted for category of road accident, mapped in entirely arbitrary ways to COVID cases. This is how they ended up concluding an asymptomatic case "cost" $11,000 - an absurd idea that should have triggered a basic sanity check in anyone who read it.

<comment><USER4> What is the motivation behind these hit pieces anyways?</comment></comment>


CBS Killed a Fan Based Star Trek TNG Recreation in Unreal Engine - <AUTHOR> https://discordapp.com/channels/335562769996840970/378690386476007429 <comment><AUTHOR> They had to take down all their content but here is a sample of what it looked like: [https://www.youtube.com/watch?v=FnQ- BS7Ui54](https://www.youtube.com/watch?v=FnQ-BS7Ui54)</comment>


Is Using Twitter Paying Off For You? Check Out Buffer - <AUTHOR> http://www.thetechscoop.net/2011/03/23/is-using-twitter-paying-off-for-you-check-out-buffer/#axzz1HM8SDcPN <comment><AUTHOR> extremely useful means of scheduling your twitter stream</comment>


Nokia releases 3D printing files for Lumia phone cases - <AUTHOR> http://www.slashgear.com/nokia-releases-3d-case-printing-files-for-lumia-820-18265821/ <comment><USER2> This is excellent, but it it important to see it as more than something that enables you to print your own case.

Think, instead, about the number of times you need some kind of mounting bracket or adapter to connect two pieces of consumer goods to each other. Think about mounting a phone on a car dashboard, or on a bike or motorcycle.

If there are N of the first and M of the second, there's no practical way for any manufacturer to support all MN combinations. As soon as some more companies follow Nokia's lead here, you should be able to combine two models, apply any final tweaks or customizations, and print your own adapter, perhaps even iterating over time as you add subtle new features.

This is the future, and you'd better be ready for it!

<comment><USER3> Your NxM problem is generally tackled by RAM Mounts; the common interface is a ball / clamp joint.

</comment></comment><comment><USER4> My company has a variety of 3D printers and we actually produced several iPhone case/adapters in the past. It's a small company, so we all helped out by testing different case designs.

The first round of testing involved a simple case design utilizing all of the plastics and printers that we have available. Most plastics were too brittle and would crack when you snapped them on the iPhone. In fact, only 1 ABS was usable. The consumer models had a hard time with the curved surfaces and felt much grainier in the hand. But once I tried out the final soft-touch part that was produced using injection modeling, I would never go back to the 3D printed model. The difference it feels in your hand is night and day. Oh, and the mass produced cases cost < $.10 per unit. I think we spend more on packing than parts themselves.

3D printers are great for prototyping and hobbyists doing 1-offs. But the tech has a way to go before being useful to the average consumer.

<comment><USER5> I have no idea what you tried for your prototype, but I find it kind of interesting that almost nothing ended up with nice parts. They won't always be nice, but if they're designed with the constraints of 3D printing in mind, they can be significantly better than just a generic part without any care in mind for the characteristics of 3D printing.

> Most plastics were too brittle and would crack when you snapped them on the > iPhone. In fact, only 1 ABS was usable.

I haven't injection molded anything yet, but I have made some 3D objects with my home made fused deposition printer. This may not hold for other types of printers, but selecting the correct infill orientation, fill percentage, and pattern can drastically change the properties of the final printed part.

> The consumer models had a hard time with the curved surfaces and felt much > grainier in the hand.

I'm not sure what kind of printer you have, but if it's correctly calibrated you can print some pretty nice curved surfaces. They'll always feel grainier because the "normal" direction is on the Z axis. With something like injection molding, as you get 'flat' faces everywhere as you have normal surfaces on every part of your mold. SLA does a little better with the layer heights, but the plastic isn't as strong.

> 3D printers are great for prototyping and hobbyists doing 1-offs. But the > tech has a way to go before being useful to the average consumer.

That's absolutely what they're for. What if every piece of tech you had came with a CAD drawing that you could load up and make that thing you wanted but can't buy yet? What if you just wanted one, but someone wanted to buy them from you, and would be willing to skip the design step completely by letting you design it, and them buying it from you. Freelance engineering is getting a little closer (instead of having a full blown design studio, you can make the parts you need for a project in the comfort of your home no matter how bizarre they need to be). Nokia isn't trying to get anyone to mass produce cases with their designs (although they could be used that way), they're trying to entice people with access to a 3d printer and their phone to make something cool. Just check out the search for 'iphone' on thingiverse [1]. People are making anything and everything for them that enhances the functionality of the phone. Nokia wants in.

[1] [http://www.thingiverse.com/search?q=iphone&sa=](http://www.thingiverse.com/search?q=iphone&sa=)

</comment></comment><comment><USER6> This is easily the most exciting thing I've seen out of Nokia in years.

<comment><USER7> Unfortunately I agree. It's such a shame to see what was once the most dominant mobile phone company reduced to becoming yet a another Microsoft OEM :(

<comment><USER8> While the windows phone isn't bad, I think Microsoft made it impossible for Nokia to succeed.

I have a feeling if they had decided to go with android, their phones would have been purchased as a direct competitor with Apple and Samsung, though Samsung may have played a smaller role if Nokia had jumped in sooner.

<comment><USER9> How exactly did Microsoft made it impossible to succeed ?

<comment><USER10> I think the biggest problem is that they charge for their operating system, which is fine for the Lumia 920, but isn't practical on low end phones where Nokia actually still has some market share. Or at least not practical at the rates Nokia is obliged to pay.

<comment><USER11> Are you saying that the charges made Nokia impossible to succeed? What about the patent fees android OEMs have to pay?

<comment><USER10> I don't know if I would say impossible to succeed. But by demanding full price for the OS, even on low end phones, it meant that Nokia rolled out far fewer windows phones. I think that was bad for Microsoft and Nokia, and indicative of old school desktop thinking on Microsoft's part.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> This is nice PR by Nokia but not much more.

Nokia are wrong in saying that they are the first to do this. Granted, Apple didn't realese STL files (which are a huge list of coordinates describing the vertices of triangles). But for several years now Apple released very detailed engineering drawings of their products publicly: <https://developer.apple.com/resources/cases/>. These drawings are actually useful for someone who wants to design and make their own case, whereas Nokia's STL files only let you reproduce whatever Nokia designed for you (modifying STL meshes is possible but the format limits the possibilities).

I also don't understand why Nokia puts a "noncommercial personal use only" license on this. Isn't an accessories ecosystem something they should want? I would have loved to use this design for adding this Nokia phone to an online customization tool for iPhone cases which I run. Thanks to this license my website will stay iPhone4/5 only.

Footnote: One of the Nokia downloads claims to be "mechanical drawings" but it only contains STL files.

Footnote 2: And why on earth do I have to register as a Nokia developer to get this?

<comment><USER13> Someone capable enough to design STL files from a dimensioned drawing is probably also capable enough to make a dimensioned drawing using calipers and the phone.

I agree that it is a PR thing, but I also see that what they are doing as quite different from Apple. Apple is enabling hardware developers, Nokia is letting people who don't have mechanical skills make the cases. I think what would have been more interesting is if Nokia had released both STL as well as CAD files, which would allow for the modification that you point out.

</comment></comment><comment><USER14> Nice. It's been such a long time since I've read something about Nokia and thought, "wow, cool!".

<comment> glass- The last time for me was when they showed off the OIS and low-light capability of the Lumia 920. And the time before that was when they showed off the 41MP camera on the 808 PureView.

Both of which are far more interesting than them throwing up some schematics.

</comment></comment><comment><USER15> Is it compatible with the three 3D Projects from the kickstarter?

[http://www.kickstarter.com/projects/1682938109/robo-3d-print...](http://www.kickstarter.com/projects/1682938109/robo-3d-printer) [http://www.kickstarter.com/projects/formlabs/form-1-an- affor...](http://www.kickstarter.com/projects/formlabs/form-1-an-affordable- professional-3d-printer) [http://www.kickstarter.com/projects/b9creations/b9creator-a-...](http://www.kickstarter.com/projects/b9creations/b9creator- a-high-resolution-3d-printer)

<comment><USER16> Yes, they are .stl files which, for the most part can be opened with any CAD/3D Modeling software and processed by pretty much every 3D printer.

</comment></comment><comment><USER17> This is very cool and may become the norm in the future when 3d printers are abundant.

Instead of purchasing expensive cases, consumers can just go and pick their design and colors and print their cases out.

</comment><comment><USER18> This is quite awesome. It's the next logical step from all the custom phone case services out there (mostly for iDevices, it seems).

</comment><comment><USER19> Very exciting concept for Nokia to come up with. Although, I'm not sure it's any more likely to make me buy a Nokia 820 even though I do own a 3D printer.

</comment><comment><USER20> This is clever, though it'll probably disillusion me about whether even tinkerers can take a principled stand against walled gardens.

<comment><USER21> Expansion? It's not clear what you're saying here; I don't see any walled garden here.

<comment><USER20> Microsoft has asserted the authority to decide what you can and cannot do with phones like this one. I harbor a faint hope that 3D printer owners are the type of empowered people who find that unacceptable.

</comment></comment></comment><comment><USER22> Hope every company starts offering STL files for current and past products.

call me lazy but don't want to signup and login to download it.

</comment><comment><USER23> While cool, the cynic in me says this is driven by nothing but desperation.

</comment><comment><USER24> This is a very cool

</comment><comment><USER25> Its not like you are printing a phone- just a useless case.

<comment><USER26> Why the dismissive comment? And how do you justify the blanket statement that cases are useless, given how many are sold all the time?

Your comment tells me you're the type of guy who, if given the chance to print an _actual_ phone, might just comment "Its not like you are printing an iphone/samsung - just a useless nokia". Some people can never be satisfied, I guess.</comment></comment>


Apply with Me for YC winter '12 - <AUTHOR>

I'm looking for 1 or 2 people to apply with for Y-combinator for this winter round.
I'm still kicking around a few ideas, and i'm open to input from others, but primarily I have been thinking of working on some simple/low-cost hardware solutions for both active and passive data collection. There are already companies working on this in the health and security sectors, but i would like to produce input devices and sensors that can talk with each other and with the web to enable a range of flexible and creative applications beyond even what we might imagine (i'm an infrastructure guy, meaning i like to make tools and open up new possibilities). I'd also like to build a well-designed software suite or API which would support these devices.
We would probably start with some simple mobile apps which would mimic hardware and allow us to prototype quickly, and perform user research. Then build arduino-based hardware prototypes, before securing future funding to go into real production. I can get a lot more specific about this idea and why there is massive potential, when we talk, and i have already built one prototype mobile app.
another idea is for a physical mail version of twitter, in which you enter your mailing address and then you "follow" people, which would allow them to send you physical mail. think: newsletters, short stories, photographs, special news content, coupons, etc. more on this if you want to discuss. it could cost money to follow some people if they want to pass on the cost of printing to their followers. Our company could handle the printing and shipping of content to followers.
A little about me:
I am 25, trained as an interaction designer, visual artist, and cognitive scientist. I taught myself to hack web apps so i could make 'real' stuff myself. I founded Social Print Studio last year, which gave me experience in the start-up game: running a company day to day, designing, hacking, hiring, marketing, writing/presenting, pitching to companies + investors, customer service, etc. I'm ready to start something new, ideally with a good hardworking team. I want to design and build with quality, and I care deeply about the world and creating meaningful, valuable things/experiences.
I'm looking to meet hardware/software hackers who are passionate, self-motivated and have real experience making things happen.  Ideally you are analytical, critical yet still imaginative. please get in touch with me here or by email or phone.
find me at benjaminlotan.com
Cheers! <comment><USER2> I would, but I'm not in the hardware space. Having said that, why look for a founder at this stage of the game. You always see YC entrants after the fact "seeking additional cofounder" etc. There was an article flouting around very recently about this very topic, e.g - Applying as a solo founder, finding a founder. The author suggests and I tend to agree, focus on product, not revenue, not finding a founder until a certain set of criteria are met. Choosing the wrong founder can kill and idea faster than you think, at least that was the ultimate argument. Calculating the risk of not getting "in" as a solo founder isn't bad either. I wish I could point you to the article, but best of luck.

<comment><AUTHOR> I would certainly hope to find the "right" co-founder, and ideally i wanted to test the waters with this post and see who i might make connections with -- whether or not we decide to apply together.

But really I do want a co-founder on this project, because i've worked on enough projects alone, and though i could hold my own for a while, it seems more productive and fun to be working with a partner.

ps. not just looking for hardware people. anyone interested in the space would be great to connect with. Mobile developers would be esp. great to partner with at this stage, because as i mentioned, i really do see a lot of mobile prototyping to kick things off.

</comment></comment><comment><USER3> The article is: <http://news.ycombinator.com/item?id=2942768>.</comment>


Reagent – JavaScript Testing Utilities for React - <AUTHOR> https://github.com/airbnb/reagent <comment><USER2> Not to be confused with Reagent for Clojurescript

<comment><USER3> For this very reason they've opened an issue to rename the project: [https://github.com/airbnb/reagent/issues/46](https://github.com/airbnb/reagent/issues/46)

<comment><USER4> That issue was a bit of a dramatic situation. Looks like the made the right descision though. Good for them!

</comment></comment></comment><comment><USER5> I love ClojureScript, it looks even more neat than React:

        (defn simple-component []
          [:div
           [:p "I am a component!"]
           [:p.someclass
            "I have " [:strong "bold"]
            [:span {:style {:color "red"}} " and red "] "text."]])

<comment><USER6> Quite a subjective opinion.

To me looks very far from "neat".

<comment><USER7> Compare with equivalent JS/JSX and you'll see what 'neat' means in this context.

<comment><USER8> They both look neat to me.

        let SimpleComponent = () =>

I am a component!

            I have bold and red text.

Not having to manage commas all the time is a strong point of both vs. what we were doing with nested JavaScript objects/arrays/function calls before JSX.

</comment></comment></comment></comment><comment><USER9> Change the name.</comment>


Decoding Utility Markings Spray-Painted on City Streets - <AUTHOR> https://99percentinvisible.org/article/colorful-language-decoding-utility-markings-spray-painted-on-city-streets/ <comment><USER2> A coworker of mine shared this neat little book which contains, among other things, descriptions of a lot of the internet infrastructure markings one can find on the streets of NYC based mostly on the author's own observations:

[https://www.amazon.com/dp/B018CH0MX2](https://www.amazon.com/dp/B018CH0MX2)

Definitely something I had never really thought about until recently.

</comment><comment><USER3> I see a lot that say "USA". Always curious what that means. Presumably not United States of America. (this is in California)

<comment><USER4> It indicates that the markings were made by Underground Service Alert, the entity that's on the other side of 811.

c.f. [https://en.wikipedia.org/wiki/Underground_Service_Alert](https://en.wikipedia.org/wiki/Underground_Service_Alert)

<comment><USER5> Thanks!

</comment></comment></comment><comment><USER6> The European standards for pipes as formal plaques on the wall, and the UK one which uses a different notation and premade concrete stub-sign at ground level had me fascinated.

<comment><USER7> Here's some examples of the UK signs:

[https://www.plateandlocate.com/article/1/name/Buried- valves-...](https://www.plateandlocate.com/article/1/name/Buried-valves-and- pipelines-identification)

<comment><USER6> Oh they're far more modern than I was used to.

[http://metricviews.org.uk/wp- content/uploads/070-rc.jpg](http://metricviews.org.uk/wp- content/uploads/070-rc.jpg)

was what I was expecting. Glad they've gone metric and modern.

</comment></comment></comment><comment><USER8> I was putting in a gate once and had them come out to mark the utilities. There was a gas line running through the area, but it was marked at 3 feet off from where I was digging the post holes. When we pulled the auger out of the ground I noticed the gas pipe right on the very edge of the hole. I'm still not sure how the auger didn't cut through it. I'm also not sure how they managed to be so far off the mark.

<comment><USER9> Anecdata, but I worked several years in infrastructure projects (and in the course of that cut numberless pipes, cables - both electricity and communications - and what not), the basic issue in my experience was the sloppyness with which the drawings of the utilities layouts were made or the use of "unreliable" references.

A typical one, is the indication (on the drawing) that a cable is 30 cm from the border of the sidewalk, but in the - say - 30 years since that cable was laid down the sidewalk has been enlarged by 40 cm AND a new cable has been laid down at 30 cm from the new sidewalk AND this other new cable has not been added to the drawing (or it has been added to another drawing by mistake).

So you go there, actually find "a" cable 30 cm from the sidewalk, believe in good faith that it is the one on the drawing, and next minute you cut the one now under the sidewalk.

It is only a few years that GPS positioning is used for cable and pipes layout (which should give better "absolute positioning") but the issues about mis- labeling and mis-reporting (given also the number of different companies, particularly telecommunications ones that may lay new cables) have not changed much AFAIK.

We once had a set of bored piles (Ø 1000 mm) for the foundation of a sustaining wall miss a high pressure large diameter (Ø600 mm) methane pipeline by _millimeters_ (the drilling rig bit the steel pipe covering, making the actual metal of the pipe shiny).

The explanation was that the people making the drawing and maintaining the pipeline took as reference the milestones of the road (that were replaced because a curve was added some kms before and shifted by 100 m) and gave our project the green flag because we were almost 100 m away from the pipeline.

</comment></comment><comment><USER10> As UK'er my first thought was 'Are the UK colour codes the same?'

And yes, They are!

[https://www.cornerstoneprojects.co.uk/index.php/blog/undergr...](https://www.cornerstoneprojects.co.uk/index.php/blog/underground- utility-colour-codes/)

<comment><USER11> I didn't undestand why they said that diggers are on their own in the UK, and then in the next paragraph went on to talk about the UK's colour codes. It seemed like a contradiction.

I have a client who does groundworks and they always know when there's supposed to be something down there. You use the detectors to double check not as your only source. There could be something down there that's old and not on the registry or that HV power cable could be a few feet to the left of where it's supposed to be.

When you're the man taking a circular saw to the pavement and your boss is the one paying for the repairs, you check!

</comment></comment><comment><USER12> For markings of such importance, you'd think they would have a standardized stencil. The video of the worker spray painting seems a little too nonchalant, potentially opening the door to misreading. And if standardized, there could even be a digital reader (like an OCR?) to tell others exactly what it means in the event of confusion or differing interpretation.

<comment><USER13> There's not many options for what it could be, so it's pretty easy to figure out. The color is most important, with some additional info like utility (which are few and welol known) and width.

<comment><USER12> I wonder how they factored in that red-green color blindness affects up to 8% of males. Should color really be the most important? Would be interesting to see what percentage of accidents are attributed to misreading a symbol vs a color vs anything else.

<comment><USER14> It's probably old enough that they didn't. Plus as said elsewhere, where NOT to dig. If looking to intersect it someone who can see the color correctly will have to identify the location.

</comment></comment></comment></comment><comment><USER15> Really hard to read that chart. The font is like 4 pixels tall total with massive compression artifacts.

<comment><USER16> I clicked on it and got a bigger image that was easier to read.</comment></comment>


We just launched OpenSignal for iOS - <AUTHOR> http://opensignal.com/iphone/

<comment><USER2> Just downloaded from the French app store.

Looks cool, but the French translation is so bad in some places, it makes the app incomprehensible. Usually when the translation is bad I'm able to infer meaning by re-translating into English, but I have a hard time doing it here.

For example, "SpeedTest" is rendered as "chiffrier". I had never before seen that term. I thought it wasn't even a word, but it turns out it's an old accounting word that means "ledger".

I appreciate that the app is available in many languages, but it would be nice to be able to switch back to English from within the app.

(Some parts of the app are not even translated anyway; the "about" page is still in English, and so is the "History" button on the SpeedTest page.)

\- - -

The American Translators Association has put together a short document called "Translations: getting it right" (<http://www.atanet.org/docs/Getting_it_right.pdf> \-- PDF) where one can read:

" _Professional translators work into their native language; if you want your catalog translated into German and Russian, the work will be done by a native German speaker and an native Russian speaker. As a translation buyer, you may not be aware of this, but a translator who flouts this basic rule is likely to be ignorant of other important quality issues as well._ "

<comment><USER3> Probably the result of an automated translation. I wrote a tool to use the bing translator and automatically translate an entire resource file for both ios and android (<https://github.com/joelmartinez/LocalAlchemy> probably a bit outdated now since I think the translation APIs changed a bit).

But this was just a starting point because the file was huge ... I'm a spanish speaker so I was helping out with the spanish translation. Some of the translations were fine, some of them were horrendous, but as long as I just looked through the file, I could usually just find the ones that looked funny. Took me a fraction of the time than if I'd done the whole file by hand.

There's no substitute for a native speaker, but tech can help speed up the process immensely :)

</comment></comment><comment><USER4> Just a tip from my opinion: Be more descriptive in the title. To be blunt, no one really cares if you launch something. I'd rather have the few precious characters of the title tell me something about the app.

Other than that, looks like a cool app! :)

<comment><USER5> Haha, thanks for that. We'll bear it in mind in future. Glad you like the look of the app though.

</comment></comment><comment><USER6> I know this is referring to the iOS app, but can I ask why you require the permissions you do for the Android App?

I'm not sure why a network scanner needs access to my contact list, call log and SMS messages. Is this the only way to have access to usage meters? I would of thought they're exposed another way as android tracks that as well natively?

<comment><USER5> Unfortunately those are the permissions required for monitoring usage, so it looks more sinister than it is. It's irritating that in order to count data use and texts sent we have to ask for permission to access texts and contacts, which we NEVER do.

<comment><USER6> Thanks for the reply. I've installed the android version and will play with it on my walk home through boston. Should be interesting :)

I do like that it shows billing cycle, however it appears to be off by ~2 weeks on my device.

</comment></comment></comment><comment><USER7> Just tried the iOS version. A couple pieces of feedback: * On the "Dashboard" screen, the ligt reflection in the upper left of each dial was confusing at first. I thought it indicated something be aimed for in the central "compass". * The compass is also somewhat unclear as to which direction is better (if you've never used a compas before). I do see you addressed this in the "About" section of the app, but you could probably do something visually to make it more apparent.

Overall, great job. Sorry about the nits I picked :o)

<comment><USER5> Thanks a lot, no problem about the nits, we love feedback! Agreed about the compass, we'll have a think about it for the next update.

</comment></comment><comment><USER8> The app crashes constantly on the "Coverage" tab, using the map. I'm using an iPhone 4S, on WIFI, and I'm in the midwest.

</comment><comment><USER9> Nit-picking: It looks like the edge insets on the navigation bar buttons aren't quite set correctly.

Great work though!

</comment><comment><USER10> awesome, but functionality seems limited... I still like knowing about specific towers like this app: <http://bit.ly/13pXgQE>

<comment><USER11> The author on the iTunes market seems quite close to your HackerNews user name. If you are the creator of that app it would be good form to note that in your comment. Also, if you are the creator of the app your icons seem to look very similar to the custom ones we created to use on the OpenSignal website...

<comment><USER12> He is the author of the other app - link to his site is in his Bio!</comment></comment></comment>


Tesla Autopilot failing where there was a fatal car accident [video] - <AUTHOR> https://www.youtube.com/watch?v=VVJSjeHDvfY <comment><USER2> What level of autonomy does Tesla market their latest hardware as? So long as they never label it as being above SAE Level 2 (i.e. don't take your hands of the wheel or eyes off the road _ever_ ) then I have no problem with this tech. The only thing they need to fix then is the name of the product. They shouldn't be calling it autopilot as it gives the impression you can answer an email on your phone while the car is doing the commuting for you.

In my opinion Tesla and all other manufacturers should perfect their Level 2 tech (and not call it autopilot) and then jump straight to Level 5, even if it means it's 3 decades out. We can't have drivers sleeping at the wheel in level 3/4 cars with patchy software. And that's _regardless_ of whether manufacturers can prove that their tech has markedly fewer accidents than often-failing human drivers. I'm happy to take the risk to crash with a sleepy fleshdriver, but I'm not ok with crashing due to a software bug. I think many share this sentiment - which means there is a double standard that setting the bar _much_ much higher for autonomous systems than they will ever be for humans.

<comment><USER3> >I'm happy to take the risk to crash with a sleepy fleshdriver, but I'm not ok with crashing due to a software bug.

I find this very hard to understand, especially when you're making the choice on behalf of others. Would you drive your children to school, knowing that you're making them less safe, just so that if they do die it's your fault rather than that of some programmer?

<comment><USER4> What's the hard to understand part? The programmer is not the one facing a life-or-death decision when a driving hazard occurs -- the driver is.

<comment><USER5> It seems to me that people are actually more likely to take unreasonable risks when they have to make these calls on the spot. We often overestimate our ability to handle difficult situations and are prone to valuing "getting there in time" more than playing it safe.

NASA is known to define a set of strict and absolute mission rules before the beginning of a mission for just this reason. See for example the rules defined for various Apollo missions [1]. Note how those rules define all sorts of limits and abort triggering conditions. This is done because there is always a desire accomplish the mission even when something has gone wrong.

[1] [https://www.hq.nasa.gov/alsj/alsj- MissionRules.html](https://www.hq.nasa.gov/alsj/alsj-MissionRules.html)

</comment></comment></comment></comment><comment><USER6> There is another one: [https://www.youtube.com/watch?v=KEaJW- Mk0Bo](https://www.youtube.com/watch?v=KEaJW-Mk0Bo)

<comment><USER7> Same driver just posted a new video, this time during the day, in which AP behaves correctly: [https://www.youtube.com/watch?v=bkDsozA1Pb8](https://www.youtube.com/watch?v=bkDsozA1Pb8)

<comment><USER6> That's the scary and also dangerous part: the behavior might be ok at some point, and might fail at another point. Tesla's (and NTSB) investigations will likely find out what went wrong in this particular accident and on this part of the road, and likely will improve the systems. But users are certainly not enough aware of that kind of risk: they might try the Autopilot, see that it works, and trust that if it worked, it will work again and again and again... On a daily commute for example, if it worked many days in a row, and then fails for some reason (technical, external, whatever), the user will likely fail to notice.

<comment><USER8> > On a daily commute for example, if it worked many days in a row, and then > fails for some reason (technical, external, whatever), the user will likely > fail to notice

Yup. This is why I won't get into a self-driving car until they're fully driverless.

Drivers become less attentive as the system gets better.

</comment></comment></comment></comment><comment><USER9> I get that the system is designed to follow the white line, and that in this nightmarish freeway design, the white line leads straight into the divider. But I thought that the whole point of LIDAR/whatever Tesla uses for object detection was to be able to detect upcoming objects. This seems to have been a problem in the Uber pedestrian crash as well - while it was clear from that video that a human driver probably couldn't have seen the woman, a LIDAR equipped vehicle should have easily detected that she was there and avoided her (and that Uber vehicle had full LIDAR I believe).

So what is going on here? I'm not a radar expert. Is there some fundamental flaw with this technology that is preventing it from "seeing" all objects under all circumstances? Or does the problem arise from faulty driving logic...perhaps the object detection system reports the object, and for whatever reason the system interpreting that data ignores it?

<comment><USER10> Tesla does not use lidar, only regular cameras.

<comment><USER2> Any car with distance sensing cruise control or collision avoidance at least has some kind of forward looking radar tech, right? So it should at least be able to panic-break when noticing the mistake? It looked like the car had gone full speed into the barrier.

<comment><USER11> Tesla has this radar tech but they get some confusing data sometimes so they decided to put code to ignore some of the detections [https://www.tesla.com/blog/upgrading-autopilot-seeing- world-...](https://www.tesla.com/blog/upgrading-autopilot-seeing-world-radar)

</comment></comment></comment></comment><comment><USER12> Loss of even 1 life is far greater than the convenience gain for all other passengers combined. Current autopilot technology just isn't ready for the roads yet (some of them like this one in the video constructed with gross incompetence). This and many such future accidents to follow cannot be fixed by simple software glitches, instead, auto driving car manufacturers should be required to construct magnetic road white stripes for major highways and routes.

<comment><USER13> It's not just convenience. Human drivers make mistakes and die all the time. If every car in the US had autopilot and half the rate of fatal crashes (not perfect!), you'd save 18,000 lives each year.

<comment><USER7> There's no evidence that autopilot has that good of a safety effect yet.

</comment></comment></comment><comment><USER14> Interesting how the autopilot section on their website for the model s is no longer there as it was in 2016 yet the other items are still there[1].

Or on this page[2], Specifically the section "Full Self-Driving Capability" makes it sound like that car can completely drive itself.

[1] [https://web.archive.org/web/20160726173047/https://www.tesla...](https://web.archive.org/web/20160726173047/https://www.tesla.com/models/)

[2] [https://web.archive.org/web/20171116234123/https://www.tesla...](https://web.archive.org/web/20171116234123/https://www.tesla.com/autopilot)

</comment><comment><USER15> 1) Given Tesla has been using passive data collection wouldn't a well traveled road like this have clear data that there is a split road but nothing in the middle so geo-position should have stopped this?

2) How did the radar /camera not see the barrier.

3) Give their update capability I'm surprised this section of road hasn't been fixed or updated to stop 'autopilot' for this section.

<comment><USER16> Automated mapping seems like it ought to be able to solve this. Even if the cameras are less good than a human, all the other cars' cameras could help immensely.

Why isn't every Tesla tracking all the lanes it can see, and the behaviour of every option at every exit, and flagging cases where one of the other lanes does something weird, or dangerous, half a mile later?

</comment></comment><comment><USER17> The way the concrete is laid there gives mis-clues.

I had a funny brain-wobble whilst watching the video, playing "hunt for the lane".

I guess the car decided on the wrong one, with fatal consequences.

<comment><USER18> What should the road look like (without the low dynamic range of the camera)? It looks like that's a junction and there should be a hashed white area between the slip road and the highway. At least that's what you'd see in the UK.

[http://www.highwaycodeuk.co.uk/uploads/3/2/9/2/3292309/rule-...](http://www.highwaycodeuk.co.uk/uploads/3/2/9/2/3292309/rule-132-reflective- road-studs-mark-the-lanes-and-edge-of-the-carriageway_orig.jpg)

In Britain you can contest parking fines if the double yellow lines are patchy, because arguably you could have missed them. There's also (I think) some laws that say that in order to enforce fines regions must be correctly marked, so the council has a duty to keep them well-painted. Seems like Tesla would argue similarly here.

<comment><USER19> Indeed, that's what's supposed to be there. Alas, "do not worry about things that shouldn't exist but do, or about things that don't exist but should" is not a viable strategy on the road.

</comment></comment></comment><comment><USER20> I think the problem is that, as things stand[1], autonomous cars are an "AI hard" problem, in that you'd need to build something of equivalent general intelligence to a human.

[https://en.m.wikipedia.org/wiki/AI- complete](https://en.m.wikipedia.org/wiki/AI-complete)

[1] One example of how things might change is if societies decided to build "smart roads" to assist AI drivers, and then banned non AI drivers from them.

<comment><USER11> A smart road could be like a train track, completely automated, then you would enter in a cart, input a destination and the centralized system will compute yo2ur route and speeds, this needs a lot more infrastructure but theoretically you could have huge speeds and no stops at intersections, just some small slowdowns to allow carts pass near each other at intersections.

</comment></comment><comment><USER7> After last week's crash, when Tesla claimed [0]:

> _Our data shows that Tesla owners have driven this same stretch of highway > with Autopilot engaged roughly 85,000 times since Autopilot was first rolled > out in 2015 and roughly 20,000 times since just the beginning of the year, > and there has never been an accident that we know of. There are over 200 > successful Autopilot trips per day on this exact stretch of road._

Do we know how many of those trips were made with the same software version as the victim's? And do we know how many of those trips were in that particular lane?

[0] [https://www.tesla.com/blog/what-we-know-about-last-weeks- acc...](https://www.tesla.com/blog/what-we-know-about-last-weeks-accident)

</comment><comment><USER21> Not just a Tesla problem as I recon all cars using lane markings will have done the same. My Passat will constantly try to pull me into off-ramps or whenever theres old paint or other weird markings.

<comment><USER22> When exactly did we start to allow these half-baked products on the road?

<comment><USER23> Other manufacturers market that product for collision avoidance, not to drive the car for you. These features can help to avoid accidents when the driver is tired or doesn't pay attention.

<comment><USER11> And then some SV startups decided to abuse people trust and named a lane assist feature as autopilot, put tons of marketing into showing how great the autopilot is and very soon we will no need to have a human driver.

</comment></comment></comment></comment><comment><USER24> Correct me if I am wrong, but the car followed the bolder line instead of a barely visible one? Could it be sunlight + concrete + bad vision of the lane line?

</comment><comment><USER25> Wow. This and one in comments are scary, I could absolutely miss situation like that.

</comment><comment><USER26> I've read the concept that a self driving car cannot react to everything that it sees in front of it because otherwise it would basically be inoperable, ie, it has to disregard things like overhead signs, bridges crossing over the highway etc, because braking for those is unnecessary and possibly dangerous.

But, when the car detects these things and decides to disregard them, does it just forget about them? Just thinking back to the Tesla car that ended up going under the truck crossing in its path, supposedly the car didn't react as you would expect because it assumed it was an overhead sign. But I would think that an overhead sign would begin to look different than a truck on the road crossing in front of you as you continue to get closer to it, is the software not capable of at first deciding to disregard something up ahead but then change its mind as it gets closer? Likewise with a concrete stanchion that keeps getting closer and closer? Does the software allow for it to second guess itself?

</comment><comment><USER27> This seems very hard for Tesla to fix with a simple software patch. If the car is using cameras to look at the lines on the road + radar which can not see stationary objects well, then I don't see how they'd have enough sensor information to fix this reliably.

<comment><USER11> They have many cars passing those places, can't they improve the maps they have, in the places where the video inputs and Tesla maps will conflict decide to slow down and ask the human to take over, then analyze the issue and add is as a unit test.

<comment><USER19> Improving maps only papers over the issue at this one particular place. What happens when this happens somewhere else, where there's no marking in the map instructing the lane-keeping software "this is a known bug, follow the _right_ lane marker here"?

<comment><USER11> I don't mean of marking this spot, but soemthing like 1 this is a new road, "autopilot" will not engage but collect data and add it to the map

2 after 100 or other better number of cars passed that point and the maps are updated enough AP can engage

3 if radar+camera detects something that does not match the maps it slows down and asks the human to take over, the maps are used as a way to double check what the AI wants to do.

This system will not work on small roads with few Tesla cars on them but it will prevent problems on big roads and collect useful data to add to the unit tests

<comment><USER19> In other words, better roads get better, worse roads get nothing. Isn't that reinforcing the current problem of "SDVs drive well in areas where SDVs drive well; beyond the map edge there be dragons"? See my reply earlier: [https://news.ycombinator.com/item?id=16706856](https://news.ycombinator.com/item?id=16706856)

<comment><USER11> Is not this better then no road gets safer? At least high traffic roads get safer, less damages and live lost, fixing the bugs that are discovered here could improve the situation on smaller roads.

My idea was how they could act on this situations with the drive assist tech(stupidly named autopilot) I am not of the opinion that true self driving cars are around the corner, not even in major US cities.

<comment><USER19> Sure, for autonomy ~level 3, this would be okay. I, too, dislike the rhetoric "just patch this one specific killing bug and voila, full auto!"

</comment></comment></comment></comment></comment></comment></comment><comment><USER28> It'd be interesting to see other vehicles with adaptive cruise control / lane keeping try this same experiment.

<comment><USER29> They would fail too, but I'm not aware of any adaptive cruise control from any manufacturer being sold as "autopilot".

In either case, I think the biggest(and insurmountable) obstacle to self- driving cars will be the fact that they rely on having clear signs, clear markings, clear lanes, signs not rotated by the wind or vandalised - and it's going to be impossible(due to cost) to maintain our infrastructure to the required level. Yes, Tesla can patch their system to work in this specific road situation - but there will be countless others.

<comment><USER11> But what happens when you have tons of self driving cars, and it starts snowing, do all this cars get stuck until the snowing stops and how can you clear the roads if the cars are stuck? (I am referring at a scenario where this are actual self driving cars and not drive assist systems with a human behind the wheel)

</comment></comment></comment><comment><USER30> I wonder if autopilot networks will eventually reroute vehicles around bug- prone locations like this. The only problem is recognizing bug-prone locations. It is interesting to think of some geographic locations as wells of danger that are best avoided...

</comment><comment><USER31> UK driver here. If self driving cars rely on lane markings for working out where to sit on a road, how does it work on country lanes or newly laid roads?</comment>


The Dumbest Task I Ever Outsourced - <AUTHOR> https://mtlynch.io/dumbest-task-i-ever-outsourced/ <comment><AUTHOR> Author here. Happy to answer any questions or hear any feedback about this post.

<comment><USER2> Questions:

>Bill

>The final cost for Jaclyn's three and a half hours of keyboard cleaning: $95.55.

But you miss to state what the offer was, it seems to me you knew from the start you were going to pay US $ 95.55 for 3.5 hours of "house cleaning" at 26,00 each.

Or was the offer (say) 1 hour and it took 3.5 hours?

Or was the offer only stating the rate of 26,00 per hour?

Feedback:

1) It is IMHO _that_ dumb

2) the first two "lessons" you learned from the experience are wrong.

Namely, if you decide to outsource something, you should outsorce it to a professional, which will charge you - say - 90 US$ per hour to do professional keyboard cleaning (in one hour time) and won't have you around during the process.

<comment><AUTHOR> Thanks for reading!

>But you miss to state what the offer was, it seems to me you knew from the start you were going to pay US $ 95.55 for 3.5 hours of "house cleaning" at 26,00 each.

>Or was the offer (say) 1 hour and it took 3.5 hours?

>Or was the offer only stating the rate of 26,00 per hour?

It's the latter. Each TaskRabbit contractor charges a different hourly rate and you pay them for however long the job takes.

>Namely, if you decide to outsource something, you should outsorce it to a professional, which will charge you - say - 90 US$ per hour to do professional keyboard cleaning (in one hour time) and won't have you around during the process.

I'm not sure I understand this feedback. As far as I'm aware, there are no professional keyboard cleaning services that deliver turnaround time of less than one hour and costs only $90. I don't think there are even professional keyboard cleaning services period.

<comment><USER2> >It's the latter. Each TaskRabbit contractor charges a different hourly rate and you pay them for however long the job takes.

Without having an (even if approximate) estimation of the time needed?

So - in theory - the cleaner could have taken another 3.5 hours (or another 35 for the sake of the reasoning) and you would have paid her for that time?

> As far as I'm aware, there are no professional keyboard cleaning services > that deliver turnaround time of less than one hour and costs only $90. I > don't think there are even professional keyboard cleaning services period.

Well, maybe not in NY, if you were living in Calgary you could even have had your keyboard professionally cleaned for free:

[http://www.onsitecomputercleaning.ca/freekeyboardcleaning.ph...](http://www.onsitecomputercleaning.ca/freekeyboardcleaning.php)

<comment><AUTHOR> >Without having an (even if approximate) estimation of the time needed?

>So - in theory - the cleaner could have taken another 3.5 hours (or another 35 for the sake of the reasoning) and you would have paid her for that time?

If neither the client nor the contractor stops it, it can go on indefinitely. There are probably limits in the app for how many continuous hours a worker can bill. But she finished at midnight, and I was probably 30-60 minutes from asking her to wrap it up.

>Well, maybe not in NY, if you were living in Calgary you could even have had your keyboard professionally cleaned for free:

>[http://www.onsitecomputercleaning.ca/freekeyboardcleaning](http://www.onsitecomputercleaning.ca/freekeyboardcleaning)

Oh, neat. I think that's actually for companies though. They say it's so you can decide whether you like their services enough to clean all of your equipment. I imagine they wouldn't agree to give away free cleanings to private residences.</comment></comment></comment></comment></comment>


Apple-II flyer from 1977 - <AUTHOR> http://apple2history.org/museum/ads/a2intro2.html <comment><AUTHOR> TechCrunch notes that the Apple-II went on sale 30 years ago today. Their source is Wired. Wired's source is apple2history.org.</comment>


Coupling the State and Contents of Consciousness - <AUTHOR> https://www.frontiersin.org/articles/10.3389/fnsys.2019.00043/full? <comment><AUTHOR> Summary: Only brain activity involving 'L5p neurons' enters conscious awareness

Is this brain cell your 'mind's eye'? [https://blog.frontiersin.org/2019/10/01/systems- neuroscience...](https://blog.frontiersin.org/2019/10/01/systems-neuroscience- consciousness-theory-l5p-neurons/)</comment>


XNU: The Kernel (2003) - vezzy-fnord http://osxbook.com/book/bonus/ancient/whatismacosx/arch_xnu.html <comment><AUTHOR> XNU: The story of the kernel designers that should've listened to Liedtke. ;) It is an interesting compromise, though.

<comment><USER2> The Mach API honestly isn't that bad for IPC; for passing IPC channels around between processes, I prefer it to the horrors of cmsg. It just has terrible documentation and the interactions with the Unix subsystem are pretty bad.

<comment><USER3> MIG, the RPC interface generator, is pretty nasty though, if you want to send anything more complex than scalar parameters. For anyone who doesn't know, Apple has sort of deprecated raw Mach in favor of XPC, a wrapper API that sends structured data (plist/JSON-like objects, plus capabilities as an additional data type). It's much nicer to use, but sacrifices a bit of performance and, I'd say, somewhat increases the likelihood of security vulnerabilities, because there's more wiggle room to send invalid data. (Until recently, using the accessor methods for the wrong kind of object in the C API, which uses a 'xpc_object_t' type for everything, could cause memory corruption, which was thoroughly demonstrated by Google Project Zero. That's been fixed, but there's still room for logic errors..)

<comment><USER2> Yeah, I never used the MIG part of it. For what I'm doing now, I use platform- independent autogenerated safe serialization code and use Mach only as a low- level transport mechanism for raw bytes and capabilities. It works fine for that.</comment></comment></comment></comment>


Seven Stages of Open Software - <AUTHOR> https://coiled.io/blog/stages-of-openness.html <comment><USER3> Didn't we already have a long discussion with "commons clause" that 1. is not sufficient to be called open source^{TM} as the term is actually used?

Call it "shared source", "visible source" or something, but open source is a well-established term meaning something else (2.) .

Bad analogy: If your cellphone provider starts advertising voice for $0 as "free speech" and then goes "technically, this is what these words mean ...", you would simply say they are using these words wrong.

<comment><USER4> Free software licenses are considered open source, yet they contains some restrictions. Commons clause licenses have some restrictions, but there is no reason they should be excluded from the open source definition, especially when we consider why they exists and which companies they target.

<comment><USER5> There is no part of that's true.

The restrictions in the mendaciously named "commons clause" license are excluded by the FSD, BFSG and the file-off-the-serial-numbers copy of it that is the OSD.

"Keep headers" or "share and share alike" are not restrictions on use, although every April first do I realise that I once again haven't sent out a fake press release about how the BSD licenses discriminate against my source file header-removal business.

</comment></comment></comment><comment><USER6> > Open decision making: And that communication will be open to the public, so > that everyone can weigh in, vote, and determine what happens to the project

How is this a thing? Not in my experience. The public has access to issue tracking and maybe a email@example.com .

Open decision-making, in projects which I know practice it, means contributors (hopefully) and significant stake-holders get to participate in decision making, not everybody and their uncle.

<comment><USER7> Most popular FOSS project do not follow this model at all.

Linux, VLC, LibreOffice, Posgres, Firefox, Chrome, VSCode...

Sure, you can see part of the communication and have an input channel, but unless you are part of the inner circle, or have some influence over it, you won't be able to see everything, weigh in, vote or determine anything.

Which is sane: the number of competent people is limited. The ones inside the circle can't spend their time fighting with the debate from outside. They have to get a way to filter information, take decision and act.

People stating differently have either never been part of a successful big project, or have been blind by the discourse that their project is, while in fact, there is an informal inner circle despite their institution stating otherwise.

It's like when you meet a "leaderless" group. If it's a small group, it works. If it's a big group, either it doesn't, or an informal hierarchy with leaders exist but nobody acknowledge it out of ignorance or idealism.

<comment><USER8> > Most popular FOSS project do not follow this model at all.

Most don't explicitly, but...

> Sure, you can see part of the communication and have an input channel, but > unless you are part of the inner circle, or have some influence over it, you > won't be able to see everything, weigh in, vote or determine anything.

Isn't mutually exclusive from open decision making.

Red Hat formalized and opened up our approach to this problem [0]. We actually use it, too.

As another sibling of your said ('gwd):

> Everyone being able to participate isn't the same as everyone having > identical influence.

In particular, most anyone has an avenue to participate, but that doesn't mean everyone is involved in explicitly making the final decision.

The examples of use aren't complete in that repo. Fedora is currently in the process of using it for the Git Forge selection process, Red Hat used parts of it at various times in our logo process [1]. And I'm sure there's other uses I'm missing.

The logo process is probably the best example: for numerous reasons (trademark law, ...), 12k employees community designing a new logo just wouldn't work. There'd necessarily be cohesion in the final product. So we were given input at various stages (what do you think of X, Y or Z... polls, open meetings, &c) and from all of that feedback, the designers formed the logo. Was it a perfect process? Nah. But you definitely say you got input into it.

And yes, I'm a 'hatter.

[0]: [https://github.com/red-hat-people-team/open-decision- framewo...](https://github.com/red-hat-people-team/open-decision-framework) [1]: [https://www.redhat.com/en/about/our-brand/open-brand- project](https://www.redhat.com/en/about/our-brand/open-brand-project)

</comment></comment></comment><comment><USER9> I've never managed to reach Stage 3. Nobody has ever shown any interest in contributing to my GitHub project.

Still undecided whether this is a Bad Thing or a Good Thing.

\- Bad Thing: either the code base is too messy, or too complex, or too niche, or too pointless, or I am a terrible communicator/promoter of my project.

\- Good Thing: I can do whatever I like with my project, and nobody is around to argue with me about it!

<comment><USER10> Engagement is something that's required for contribution. For example, I would never contribute to your project because I don't even know it exists :-) Even if I did, I've got little reason to do anything other than use the result.

Occasionally people stumble across projects. I had a very long running project to help myself learn Japanese. I had about 1000 users at one point that stumbled across my project randomly on the site where I hosted it. But I never had any more than that because I never put any effort into engagement (although, I think my documentation was actually pretty impressive, for a programmer ;-) ).

I think just having a project is not really enough. You need to create a reason for others to reach out to you. A conversation is a bit like a game of catch. In order for someone to catch the ball, you have to throw it first. I've been streaming development of the game I'm working on and I've been really surprised by the response. I've got more contributions in the short time I've been doing that than I've ever gotten on my other projects. I think the key is that having already started the conversation in the chat of the stream, it's easy for people to get invested and to contribute. I think there are other ways to start that conversation, but I think it's fairly tricky. Possibly having a blog would be another way. Once you get 1 or 2 people responding with comments, you can engage them and then others will join in. In the old days, that's what happened with mailing lists.

<comment><USER9> Sorry I've only just noticed your comment now. This is all good advice.

Getting the conversation going is key. It's something I've failed to do - <USER2> the point where I don't bother about it much anymore.

For example: I didn't add a link to my library in my comment, so nobody knows what library I'm talking about. I've already spammed the link in other comments and "Show HN" posts with very little feedback, so I'm past the point of seeing HN as a venue for promoting it, instead visiting daily to check out other people's posts and comments.

I like to think that I'm a good example to others on how NOT to promote a project.

</comment></comment></comment><comment><USER11> "Open source" is a specific term with a specific meaning. These points are not it, and "open source" is not a scale of openness.

Also factual errors:

> _You no longer control this software. If someone makes a bunch of money off > it it then you can't complain. If someone uses it to build bombs then you > also can't complain._

You can perfectly use GPL, for instance, which forces derivative works, commercial or not, to be released under the same license.

<comment><USER12> Except when used in a SaaS. GPL won't give you any control there.

<comment><USER13> Then there's still Affero GPL (AGPL).

</comment></comment></comment><comment><USER14> Sometimes there is a stage 8, Burial. The software becomes part of the Apache foundation, and while people know about it, no one actually uses it for anything new.

</comment><comment><USER15> Consider the case where software remains proprietary. Those more intangible benefits will never come about. The software will be developed under a product manager with feedback only from existing customers. It will be developmentally trapped in a bubble on many levels.

On the other hand, paying developers is easier with proprietary software. Also profit. If software is your product keep it closed. If software is part of your infrastructure consider opening it, or using something that already is open.

</comment><comment><USER16> Could another stage (or dimension or set of sub-stages on the stages when people start using the tool) be to determine a sustainable business model, maybe ranging from "I will just work on it as I have time, because I like it", to "enough of a team effort to be sustainable", vs. choosing from some menu of revenue-generating business models and/or organization types to provide income?

Maybe that's two related things: org types and financial models.

</comment><comment><USER17> There is another model:

\- Write some software and share it in 1970

\- Now everyone is using it without knowing it

</comment><comment><USER18> There is one stage missing: Where the software becomes closed or at least doesn't become somewhat closed. This is what the .NET libraries DocX, Fody and EPPlus have followed.</comment>