When Boys Are Victims of Sexual Assault - <AUTHOR> https://www.thecut.com/2018/03/when-boys-are-victims-of-sexual-assault.html <comment><USER2> > I want to be clear: Girls bear the brunt — both physically and > psychologically — of sexual harassment, assault, and rape, but they're not > its exclusive targets.

Even in an article discussing how boys can be sexually assisted, the author needs to remind the reader women have it worse. Even though, by their own reckoning about 40% of boys reported begin victims of girls.

This attitude annoys me, mostly because if you try and talk about men's victimisation in when an article is about a women's issue it's deems inappropriate, but it seems perfectly fine when talking about a men's issue.</comment>


Intel officially introduced the Intel Xeon Phi coprocessor - <AUTHOR> http://newsroom.intel.com/community/intel_newsroom/blog/2012/11/12/intel-delivers-new-architecture-for-discovery-with-intel-xeon-phi-coprocessors?cid=rss-258152-c1-278335

<comment><USER2> Can anyone comment on using Intel's software suite (Parallel Studio, Cluster Studio) for parallel programming? A workflow comparison to CUDA would be particularly interesting. From what I see in the programming examples, the Intel notations are used to identify code that is run on the Phi instead of the host and the compiler automagic handles the details, versus what I've seen of CUDA where you have to explicitly copy to the card's memory and manage the blocks.

Some points I found in [ref 1]: \- each Xeon Phi card is running Linux and has it's own IP \- you can SSH into the individual Xeon Phi just like hopping into a headless box \- you can write apps that run entirely on the Xeon Phi

I don't see a physical ethernet jack on the card, so even though it has a network stack, it looks like it has to go through the host to access a NAS or other resources. I guess if network I/O becomes your bottleneck you're better off with separate boxes still.

I also wonder what prevents you from slapping this card into a system that doesn't have a Xeon processor. Is it a technical limitation such as having only developed PCI express drivers for that chipset so far, or marketing? I guess buying one and watching the driver install would reveal some answers if it's not stated in the literature.

[ref 1] [http://software.intel.com/sites/default/files/article/330164...](http://software.intel.com/sites/default/files/article/330164/an- overview-of-programming-for-intel-xeon-processors-and-intel-xeon-phi- coprocessors.pdf)</comment>


Show HN: VirtualGym, a real-time platform for online video-chat fitness training - <AUTHOR> https://virtualgym.run/ <comment><USER2> The basic idea is to connect people and provide a platform where they can train together, from home. The platform offers a collection of workouts with exercise illustrations. Users can create rooms and share the link with friends. Inside the virtual room, the users are connected via a peer to peer video chat and the exercises displayed are synchronized. Virtual rooms currently have no user limit.

Please give us some feedback !

</comment><comment><USER3> nice graphics</comment>


React MVC - <AUTHOR> https://github.com/ustun/react-mvc <comment><USER2> React is not the best way to do MVC, as it's too opinionated. But the architecture looks promising.

<comment><AUTHOR> Thanks for the comment. React is actually not that opinionated, which makes it the best view library at the moment. Take a look at the project and I'm sure you'll find yourself at home if you are into MVC :)

<comment><USER3> MVC is still my favorite UI architecture, using it with React is so exciting. Will get my hands on!</comment></comment></comment>


Alternative to Instagram Photo Maps – It Is Called UrbanBird - <AUTHOR> https://itunes.apple.com/us/app/id1109814892 <comment><USER2> You can't do the "I Just Found" trope _for your own app_.

<comment><AUTHOR> updated ;)</comment></comment>


Linux performance tuning tips for MySQL - <AUTHOR> http://www.mysqlperformanceblog.com/2013/12/07/linux-performance-tuning-tips-mysql/

<comment><USER2> I'm sure those tips work, but it would be great if the author added some explanation as to why they were included in his post and what they do at a high level (eg filesystem and memory tweaks).

Yes I know I can Google an answer but as a newbie to mysql database tuning I was hoping for a bit more detail when I clicked through.</comment>


Is Stephen Colbert running for the U.S. Senate? - <AUTHOR> http://www.usatoday.com/story/news/politics/2012/12/06/colbert-senate-south-carolina-demint/1751167/

<comment><USER2> Is adding a question mark after a headline still an acceptable way of avoiding doing any actual journalism?

(Hint: seems so)

I expect better from 30-year-old publications.

<comment><USER3> "Fox has figured out that by simply putting a question mark at the end of something, you can say f __king anything."

Still effective.

[http://www.thedailyshow.com/watch/wed- september-13-2006/the-...](http://www.thedailyshow.com/watch/wed- september-13-2006/the-question-mark)</comment></comment>


Cantor visits Hilbert's Hotel - <AUTHOR>

This was something I wrote a while ago, and I'm putting it here in response to the item about infinitely many monkeys and its connection to infinity.
Suppose I have a hotel with lots and lots of room. Every room has a number on the door, and every positive whole number appears as the room number of some room. Call them R1, R2, R3, etc.
I also have a very large number of delegates for a conference. Each delegate is assigned a room, and there are no rooms left unoccupied. Each delegate keeps his or her room key with them at all times. We'll call them D1, D2, D3 in the obvious way.
There are many, many sub-committees that have to convene. In fact, every possible sub-committee. Someone decides that each sub-committee should get its own room, so someone else spends a sleepless night drafting an assignment of each committee to a different room.
We now show that there is a committee that has been left out.
Consider the committee C that is made up as follows. For each delegate Di, if they are on the committee that convenes in their room, leave them out of C. If they are not in the committee that convenes in their room, put them in C. C is the committee of those delegates displaced when their room is used.
Ask - where does committee C meet?
If C convenes in Rn, then let's consider Dn, and ask if they are on C.
If Dn is on C, then they are displaced when C meets. But that means they are not on the committee meeting in Rn, which is C. That's a contradiction.
So Dn must not be on C. Hence Dn is not displaced when C meets, so they must be on the committee in Rn, which is C. So they are on C. Another contradiction.
So C can't meet anywhere.
So we have shown that any assignment of committees to rooms must omit at least one committee.
If we now think about the collection of all possible committees, we can see that every time we try to assign them to rooms, at least one must remain unassigned. We can never pair off committees to rooms.
As with cups and saucers, if whenever you pair them up you always, always have a saucer left over, there must be more saucers than cups.
So in some sense, there must be more committees than hotel rooms.
And this is true, even though there are infinitely more hotel rooms.
Like in Vegas ... <comment><USER2> I'll put up some references here to Hilbert's Hotel

<http://www.bbc.co.uk/dna/h2g2/A4080467>

<http://www.bbc.co.uk/dna/h2g2/A593552>

<http://faculty.cua.edu/glenn/187f09/hilbert_hotel.pdf>

to help people follow your argument. I see you are getting into the power set when you write, "There are many, many sub-committees that have to convene. In fact, every possible sub-committee."</comment>


Show HN: Techspeak – Generate random sentences that contain tech words - <AUTHOR> https://paradite.github.io/techspeak/ <comment><USER2> Beautiful, I made something similar any time you're in a conversation where people are using big tech words so you can come up with something good: [https://codepen.io/tomhodgins/pen/eZoJYQ](https://codepen.io/tomhodgins/pen/eZoJYQ)

The secret to any good mobile tree-shaking compiler is making sure your isomorphic workflow stack is configured to your minipipeline module. Nobody wants to have to use a monadic tree-shaking polyfill for that!

</comment><comment><USER3> This reminded me of another website which generates great fun and mischief from tech jargon, "Whacker News:"

[https://rachelbythebay.com/fun/hrand/](https://rachelbythebay.com/fun/hrand/)

</comment><comment><USER4> _a camera is debugging a dynamic nhibernate._

This one actually has a typo.

<comment><USER5> nhibernate? NHibernate is a .NET ORM

</comment></comment><comment> mickael-kerjean The windows is logging the optimization with a service.

</comment><comment><USER6> "a svg in the jsf is binding the jdbc."

This is fun.

</comment><comment><USER7> "The java is networking the groovy"</comment>


Ask HN: Why is dev work the first thing to be offshored? - J-dawg I'm a web developer for a big consulting firm in the UK. Recently there seems to have been even more of a push towards offshoring and "nearshoring" development work. They are growing teams in Eastern Europe and also in cheaper parts of the UK, as well as traditional offshoring locations like India.
Obviously, I understand the economic incentive for all this. But my question is, why is development always seen as the low-hanging fruit, to be done by the lowest bidder? Other roles like project management, UX design, business analysis etc could all feasibly be done by a person in another country, yet those roles stay firmly in the UK. So why is technical work the first thing to go?
I am beginning to wonder whether being a developer in an expensive country is ultimately a doomed career, at least within the corporate/consulting world. <comment><USER2> I believe we are partly to blame.

As developers, we've spent a long time demanding "leave me alone, I just want to write code!" without taking the time to understand the customers' problems, their constraints, or the business as a whole. We helped convince the project managers, etc that just sending us the requirements is sufficient. Now whether they email the docs to us in the next room or from the other side of the planet, what does it matter?

To fix this, we need to accept that our job is to _solve problems_ not just write code.

We need to understand the customers, their constraints, and how our choices and work affect the business (or at least our product/team). Eventually, most people will realize that code is just one potential solution and sometimes other approaches - better docs, clearer UI, throwing people at a problem - <AUTHOR> solve the problem too. We don't have to become experts in all areas, just realize how we and they fit together.

TLDR: Yes, it's because managers believe developers are easily replaceable. Understand the customer, business, and/or industry and you won't be.

<comment><USER3> I think you're absolutely right. As a senior developer, much of my value to my employer is my ability to talk to product managers and other non-developers about solutions to customer problems, tradeoffs in the design of the software, etc. An offshore developer would not have the same knowledge of the product and its users, or the incentive to build that kind of close relationship with the non-technical staff.

Also, this variety in the kind of things I do at work makes my job more interesting than it would be if I just spent every day doing nothing but programming (although sometimes I do just want to write code all day).

</comment></comment><comment><USER4> It's because bad code is a _long-term_ cost, not a short-term cost. So lay businesspeople will decide from the following:

A) Pay $ _x_ and get _y_ features. (I don't know this or don't care, but this is good code that is inexpensive to maintain.)

B) Pay 0.5 x $ _x_ and get _y_ features. (I don't know this or don't care, but this is bad code that is expensive to maintain.)

Even if the businessperson knows that bad code is expensive, they rarely understand _how much more_ expensive it is. And almost all executives are incentivized to sacrifice long-term gains to achieve short-term gains, so even if they knew, they'd rather kick the can down the road.

</comment><comment><USER5> Being expensive anywhere makes you a target. Sometimes the threat is far off, sometimes it's immediate.

Just remember, as the CEO and HR are encouraging you to have passion for your company and work, they are always trying to figure out when and how it will make sense to replace or get rid of you. It may just be in the back of their minds, but they'll check on it regularly, and when it becomes feasible it'll be done.

<comment><USER3> _" Being expensive anywhere makes you a target."_

What CEOs frequently forget is that "expensive" isn't absolute - it's relative to the value you provide to the company. If I cost $200K per year but make the company $1M a year, I'm a much better deal than someone who only costs $50K but only makes the company $100K per year.

Of course, some CEOs wouldn't be able to figure out how much money a developer actually puts on the company's bottom line.

</comment></comment><comment><USER6> I think everyone had made some very good points here, but I think it can be summarized from what I've seen. Engineering is essentially a black box for a lot of companies. It's hard to directly measure the amount of money engineering brings in or saves vs the actual cost. This goes in hand with what caseysoftware said with understanding business but its more than that. Its about quantifying it in monetary terms for the business. Lets face it engineering is expensive from developers to infrastructure.</comment>


Influencing Machines - <AUTHOR> http://reallifemag.com/influencing-machines/ <comment><USER2> Two theories:

\- mind first: mental illness of the form described has always been with humans, just that new technologies give people new words to describe the core phenomenon

\- technology first: the human species has developed tools/mental abstractions (telephones, internet, germ theory, global warming, cancer, radio waves, nuclear physics, etc.) which intricacies have some weird interaction with the minds of a small percent of the population. I don't mean that these things in themselves affect the human mind; but that these sort of things are like "mind viruses", hijacking thought processes.

Reminds me of:

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

[http://www.meltingasphalt.com/neurons-gone- wild/](http://www.meltingasphalt.com/neurons-gone-wild/)

<comment><USER3> It seems clear to me that schizophrenic people generally think they are being tortured with whatever technology is appropriate from the age in which they live. In that famous first writeup, the method of torture was "pneumatic chemistry". In the 70s, it was all about picking up radio signals in tooth fillings ("what's the frequency, Kenneth?"). Now people are being tortured with stuff akin to wifi signals or satellites.

</comment></comment><comment><USER3> Man. I feel like I got blasted with a word salad here. To me the main value of this piece is to raise awareness that the internet is serving as a kind of incubator for mental illness just as it does for, well, everything else.

I often see it in action because a lot of my YouTube subscriptions are to people who are almost certainly schizophrenic. The videos they post have very little to offer a normal person. I think most of the people who show up to watch and comment are also mentally ill. Someone may post a video claiming that the NSA is monitoring their thoughts via satellites and then receive 10 comments about "yeah, it's happening to me too" and "it's not via satellites, it's from black helicopters" and "it's not the NSA, it's Satan", etc.

If you've not run into this before, I think it would be eye-opening to spend an hour or two watching videos related to "targeted individual", "gang stalking", "voice to skull", "v2k", "remote neural monitoring", etc.

<comment><USER4> Honest question: why do you subscribe/follow these individuals? What do you get out their inchoate worldview?

<comment><USER3> When I was much younger, I found it funny. But then I learned about it, and it stopped being funny and became worrisome and frightening. An extremely debilitating disease that can strike anyone for no apparent reason, that makes you and your loved ones miserable, with no cure, that causes you to deny you are sick and actively resist treatment.

What I find most frightening about the possibility of developing schizophrenia is, nobody can talk you out of it. Your best friend and most trusted advisor could plead with you, and you'd probably see them as part of the evil empire.

And I just don't like it when we write people off. I can't treat people like ghosts. If I were schizophrenic and frantically uploading nonsensical "proof" to YouTube every day, I think I'd want someone to take 30 seconds to say something like "hey, buddy, sorry you're having a hard time, but I don't see any RF orgies being beamed to you. Have you talked to a doctor?"

<comment><USER4> I admire your compassion for your fellow human being. I mean that sincerely.

I also have a word of warning:

>"hey, buddy, sorry you're having a hard time, but I don't see any RF orgies being beamed to you. Have you talked to a doctor?"

Is a potentially dangerous thing to say to the genuinely ill. Like you said, no one can talk someone out of it, just like you can't talk a diabetic out of an insulin crisis. It is a physical ailment. While most schizophrenics are not violent, some are, and the ones that are can be deadly so. One of my high school teachers, who was a wonderful, warm woman, was recently murdered by her schizophrenic son during one of his episodes. He had never been violent before, but his breaks from reality were getting worse, and one day, that was enough. Just be careful of your own self, too, when offering a hand of help.

</comment></comment></comment></comment><comment><USER5> Se a ton of facebook groups about this kind of stuff and "organized gang stalking".

Poor people genuinely believe everyone around them is deliberately tormenting them, but it's made worse as they all enable one another.

<comment><USER6> Oh, the irony of discussing an all-powerful organization tracking your every movement... on Facebook.

</comment></comment><comment><USER7> So, what's the difference between these guys sharing a collective delusion and any other typical religion?

<comment><USER4> Most religious activities, in most major world religions, are boringly prosaic, and function as simple shared loci for community activities as much as anything else.

The mentally ill as described in this article simply use their shared experiences as paranoia fuel. None of the other aspects apply.</comment></comment>


JQuery Widgets - Bringing Sanity to Complex Apps - <AUTHOR> http://blog.citrusbyte.com/2010/09/16/jquery-widgets-bringing-sanity/

<comment><USER2> Unfortunately your site is down as of this writing, so I didn't read the article yet.

Regardless, for all who are interested in organizing their jQuery click-driven spaghetti-code, I'd recommend checking out JavascriptMVC (at <http://v3.javascriptmvc.com/index.html>). It's not a stable release yet but it's getting there quickly :)

It provides you with \- a minimalistic MVC framework \- a script loader/dependency/build system \- very intuitive event handling \- testing \- documentation

I'm not affiliated with the project, but I think its worth a try for anyone interested in best-practices for large javascript applications.

<comment><AUTHOR> Sorry about being down, it's all back up now

The great thing about widgets is that they act as OO Classes on top of a DOM object. So you can say 'make this DOM object act like an XYZ'. Sometimes the XYZ is a very visible thing (checkbox, draggable, etc), but other times, we have pure code widgets that do internal routing, or traditional "controller" type activities.

For instance, each <li> may be a widget that does... whatever, but then the <ul> may be a widget that listens for events, and adds/removes <li>s from underneath it as appropriate.

</comment></comment><comment><AUTHOR> We've been working on some heavy-duty javascript projects for some of our recent clients, and docs are fairly weak on writing your own custom jQuery UI widgets, so I wrote this up.

<comment><USER3> Looks cool but the link is broken...</comment></comment>


What I Wish I Knew When Learning Haskell - <AUTHOR> http://dev.stephendiehl.com/hask/ <comment><USER2> What I still do not know and always wished to know when I learned Haskell was how to write efficient code easily. I wrote huge projects with thousands of lines knowing nothing about C++ execution model and had insanely fast code (that could have been made even faster - but I was not that kind of expert) but with Haskell I have to be an expert to really write code that is as performant as something that would take me much less time to write in C/C++.

Just writing simple efficient matrix multiplication is a pain. It took me a couple of days to write a working quicksort.

I couldn't find any resources that provide a very serious introduction to optimizing Haskell code.

I found out way too late in my adventures with Haskell that Monad Transformers and similar abstractions have a significant runtime overhead and aren't free, I thought I was just playing with types that won't get in the way when the code compiles.

No one seems to cover this aspect of Haskell.

<comment><USER3> Don't do something that generates thunks in a long-running loop which'll hold references to them. (This applies to JS...virtually any language with GC and first-class functions as well). This is pretty easy to fix and identify once you know what you're doing.

Don't use String. Use Text for Text, ByteString for raw bytes.

Related to String: don't use lists for large datasets unless you're intentionally modeling and reasoning about your data as an infinite space. Use Vector if it's finite, fits in memory, and you're going to comprehend it all at once. Vector gives you cache-friendliness as well.

As a safe default: lazy in the spine, strict in the leaves.

Use streaming libraries (Pipes, Conduit) for processing large datasets. I did a test with a csv parsing library and compared the non-streaming (default) interface and the streaming interface provided by pipes-csv for summing columns in a ~6mb CSV.

No streaming used 30mb of heap.

Naive streaming used 10mb.

Pipes used 600kb.

monad-control and mtl (monad transformer libraries) are pretty fast and can be used without much (any?) worry in 99.999% of circumstances.

Use attoparsec and be mindful of backtracking anytime you're doing perf sensitive parsing. If you hit a limit, you may need to use a parser generator but this is almost never the case. If you need to parse something huge...use a streaming parser.

Sometimes CPS transformation can be a huge boon. Read what Bryan O'Sullivan was written about this for the parsing side of it. Kmett has good examples of CPS transformation for performance in his libraries as well.

Use async.

Default to using TVars (STM containers) for correctness until you know what specific properties you need. If you get perf sensitive but still want transactions, turn the scope of your transactions into cells of a data structure. Cf. [http://hackage.haskell.org/package/stm- containers](http://hackage.haskell.org/package/stm-containers) when you have composable concurrency abstractions, it can become just yet another data structures problem.

If you're writing a (very) hot loop, you'll probably end up looking to avoid boxing (just like Java) and touching the heap (just like Java, C, C++). Don Stewart has written good, thorough examples of this.

Resources:

Anything Don Stewart has ever written

Kmett's libraries and blog

Bryan O'Sullivan's libraries (particularly attoparsec and aeson) and blog

Johan Tibell is the strictness perf honcho. Check his libraries for ideas if you're making something strict. Don Stewart has written along these lines too.

[http://book.realworldhaskell.org/](http://book.realworldhaskell.org/) is out of date but the stuff on perf and debugging are some of the best in the book.

My own book [http://haskellbook.com/](http://haskellbook.com/) will explain how to reason about performance and laziness, though it's primarily a practical beginner's book. Focus WRT perf will be more on understanding the foundations, how things evaluate, how the runtime works so you can absorb all the other information as easily as possible.

Koalafications:

Every backend I work on in ad tech, including the public facing adserver, is written in Haskell. Our adserver latencies range 12-17ms with some pretty gentle 99th percentiles. The average DSP we talk to has response times in the low hundreds (100-400).

<comment><USER4> How out of date is RWH ?

<comment><USER5> This answer[0] explains various parts of RWH which is outdated.

[0] [http://stackoverflow.com/a/23733494/1651941](http://stackoverflow.com/a/23733494/1651941)

</comment></comment></comment></comment><comment><USER6> So before learning Haskell, you wished you had already known over 325 pages of what? That seems like a motivation to not try to learn it at all.

<comment><USER7> In Haskell you can get most work done without the advanced concepts, but you can always choose to dig into the meaty stuff and get even more leverage from the type system. Easy to start, hard to master, keeps things very interesting for a a very long time. By the time you think you've mastered most of what it has to offer, the next version of GHC comes out with new goodies, now you can learn even more superpowers.

Btw, the title says "when", not "before", big difference.

</comment></comment><comment><USER8> Readers may be interested in the extensive comments from when this article was posted in previous years:

[https://new-hn.algolia.com/?experimental&sort=byDate&prefix&...](https://new- hn.algolia.com/?experimental&sort=byDate&prefix&page=0&dateRange=all&type=story&query=What%20I%20Wish%20I%20Knew%20When%20Learning%20Haskell)

<comment><USER4> Digression, nice 'experimental' flag.

</comment></comment><comment><USER9> syntax. of the dozen languages i've taught myself, (which is a super-set of the half dozen i've used to write significant things), Haskell's syntax has been, and remains, the largest barrier for me (and this includes perl!). For example, just a clear equivalence, like this one given by the very helpful linked article here, would've helped enormously ("sugared form" for monad):

        do { a <- f ; m } ≡ f >>= \a -> do { m }

Sometimes i think the authors of Haskell had a completely different glyph set. I'm sure some of you folks can read this like a book, but this sort of thing still throws me into the ditch:

        M2 :: (Monad m) => (a1 -> a2 -> r) -> m a1 -> m a2 -> m r

<comment><USER10> Well, just for the sake of discussion, would you prefer something like this?

        def M2<T1, T2, Result, Action : Monad>(
          f: (T1, T2) => Result,
          a: Action<T1>,
          b: Action<T2>): Action<Result>
        {
          …
        }

The Haskell notation is a simple, concise representation of the actual semantics. If you try to transpose those semantics to a more conventional notation intended for different semantics, it gets complicated due to the mismatch.

This notation I've suggested doesn't even accurately express such details as currying and typeclasses, which the original notation conveys neatly.

<comment><USER11> Just for the sake of discussion, what is actually wrong with the syntax you just invented?

<comment><USER12> Here are a few possible complaints:

        1. It's way longer
        2. Naming the monad "Action" may be misleading depending
           on choice of Monad
        3. It's tied syntactically to the syntax of the implementation
        4. The <>s are superfluous
        5. The argument names are superfluous (to the type)
        6. The explicit type quantification is superfluous and verbose

<comment><USER13> > It's way longer

Because of the much longer type names which have nothing to do with the syntax.

By _just_ replacing all the type names by the original single-letter names, it goes from 107 to 72 characters, that's almost 50% increase in size (49%) due to longer type names, which incidentally is nearly double the increase in size between the Haskell signature and this new signature (57 -> 72, or 26%)

        def M2<A1, A2, R, M: Monad>(f: (A1, A2) => R, a: M<A1>, b: M<A2>): M<R>

Funnily enough, this expansion is relatively worse if applied to the Haskell signature (57 -> 87, +53%)

> Naming the monad "Action" may be misleading depending on choice of Monad

Nothing to do with syntax either.

> It's tied syntactically to the syntax of the implementation

?

> The argument names are superfluous (to the type)

That can trivially be removed when just displaying the function's type (`f`'s arguments are not explicitly named after all), likewise for the unnecessary type quantifications, so a type-view of this function (rather than a source view) could be:

        def M2<M: Monad>((A1, A2) => R, M<A1>, M<A2>) => M<R>

Oh look, it's now shorter than the original signature (though somewhat more noisy, I'll give you that)

<comment><USER10> Conventions are as important as syntax when it comes to legibility of a language, so phrasing "M" as "Action" seemed a fair comparison. And if you want to be true to the semantics, you might write something like this:

        def M2 ((A1 => A2 => R) => M<A1> => M<A2> => M<R>) where Monad<M>

At which point the Haskell syntax is shorter. However, concision is not the goal—it's merely a proxy for clarity.

<comment><USER13> > Conventions are as important as syntax when it comes to legibility of a > language, so phrasing "M" as "Action" seemed a fair comparison.

But the conventions are whatever we want for a resyntacting no?

> However, concision is not the goal

I was answering a comment putting concision forward as reasons to dislike the alternate syntax.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> My desire to be productive is at odds with my appreciation for Haskell. Don't get me wrong, I love the language, it's elegant, absolutely awesome (apart from whitespaces with semantic meaning). But sometimes I feel like the language, despite its expressiveness, is like a tight straitjacket. And then I just write some JavaScript or Java or C++ or PHP and feel so much freer.

<comment><USER15> I like to think of Haskell's types as traffic lights. They might get in the way if you're the only driver on the road but the moment you have to deal with other people they are a life saver.

That's why people favor Haskell in enterprise environments because types keep everything sane when you have multiple people working on the same project or you have large third-party dependency trees.

</comment></comment><comment><USER16> I wish I hadn't bothered learning Haskell. I spent years thinking I was an idiot because I struggled and failed to make any even moderately complex programs. Now I'm using C++ and things are so much easier. I think leaving Haskell feels like leaving an abusive partner who always puts you down.

</comment><comment><USER17> The author covers cabal sandbox, which I used until recently when I converted my few Haskell projects to use stack. I was really happy with stack until a few days ago when I tried to add some old Haskell code to a new yesod web app. Dependency hell that took a while to sort out.

This article discussed getting everything working and then doing a cabal freeze which is something I hadn't seen before. I would like to be able to simply update a project to new library versions but maybe I should drop that desire. Any advice?

<comment><USER18> I'm not sure cabal can really be considered a package manager as the article here states [1]. Stack helps, but I think just using a dedicated package manager to manage haskell things is probably _the_ way to go.

Nix has a lot of haskell packages in it already, and guix has a hackage 'import' tool which helps you with writing a new package definition for a project that hasn't already been packaged.

You may think that's overkill, and fair enough. But I've been through cabal hell before, and I'd honestly rather not anymore, ever.

[1]: [https://ivanmiljenovic.wordpress.com/2010/03/15/repeat- after...](https://ivanmiljenovic.wordpress.com/2010/03/15/repeat-after-me- cabal-is-not-a-package-manager/)

</comment></comment><comment><USER19> "All of Haskell"

</comment><comment><USER20> Would add stackage[0] as first item if it was my list.

[0][https://www.stackage.org/](https://www.stackage.org/)

</comment><comment><USER21> What I wish I knew now that I know Haskell: Where I can find Haskell jobs that aren't in banking! I have grown a love of the language through using it, but I don't know how to find many job positions that aren't either in banking or research.

<comment><USER22> Why is it popular in banking?

<comment><USER21> My understanding is that it's the expressiveness and the type safety along with being functional and immutable (by default) in order to ensure correct programs are being written (which is obviously a concern when lots of money is moving about.)

</comment></comment></comment><comment><USER23> pandoc, shellcheck and xmonad. is this still the list of things you can install that were written in haskell that are used for something that isn't writing haskell code?

<comment><USER24> Stuff you can install: Hakyll, Gitit, Git-annex, Propellor, Pugs.

Haskell is an enterprise language, not an application language. The benefits of Haskell have played out better there.

</comment></comment><comment><USER25> Is he kidding with that title-text-as-an-image? I was going to C&P it into an IM, but nope.

<comment> iso8859-1 Used to be very common when you wanted a fancy font and had no way to bring it to the user. No joke, just old-fashioned.

<comment><USER25> It might be an old fashioned thing to do, but that web site is not old fashioned. It actually uses web fonts.</comment></comment></comment>


Ask HN:Why we get used to everything? - <AUTHOR>

People get used to poverty. People in unhappy jobs get used to their jobs. People get used to failures. People get used to corruption.People get used to bad marriages.People get used to bad habits. Do you know how to break this cycle? <comment><USER2> By getting used to not getting used to things?

</comment><comment><AUTHOR> I am right now used to an unhappy job!</comment>


Unsealed Transcript Shows How a Judge Justified Ross Ulbricht's Life Sentence - <AUTHOR> http://motherboard.vice.com/read/unsealed-transcript-shows-how-a-judge-justified-ross-ulbrichts-life-sentence?trk_source=popular <comment><USER2> It's terrible that we are doing this to someone who probably would have learned their lesson with only 5-10 years of prison and been able to return to society. He had the potential to return as a productive member of society and now instead he will be a lifelong debt all for assisting in the sale of drugs that people willingly purchased knowing the risk of death from those drugs. He's no saint but this punishment is unreasonable and it seems like the Judge was just out to get him.

<comment><USER3> Well, that and attempting to have multiple people killed.

<comment><USER4> for the record, this is what ulbricht was convicted of:

narcotics trafficking; distribution of narcotics by means of the Internet; narcotics trafficking conspiracy; continuing criminal enterprise; conspiracy to aid and abet computer hacking; conspiracy to traffic in fraudulent identity documents; and money laundering conspiracy.

notice that "attempting to have multiple people killed" is not something he was convicted of.

<comment><USER3> Notice indictment, first count, overt act B.

<comment><USER5> For the benefit of others, here is the indictment: [http://www.justice.gov/sites/default/files/usao- sdny/legacy/...](http://www.justice.gov/sites/default/files/usao- sdny/legacy/2015/03/25/US%20v.%20Ross%20Ulbricht%20Indictment.pdf)

The murder for hire thing is on page 5.

</comment></comment></comment></comment></comment><comment><USER6> Okay, so I'm not going to criticize Ulbricht's sentencing, because (a) it's hard to make a case to go easy on him, and (b) I don't really care enough about Ulbricht in particular.

But from a drug policy perspective, this language jumps out at me:

> Ulbricht's defense had argued the site reduced harm because it kept drug > deals off the streets and allowed users to share information about drug > safety. The transcript from the final day of court proceedings shows how > Forrest categorically rejected that claim, outlining the social costs of > drug use from an individual level to mass scale. "The social costs of drugs > are manifest," she said. "The user is only one part of the equation, that is > where much of this harm reduction argument comes from and it is focused on > the user. The user is one part of a massive, massive worldwide scheme of > drug trafficking and if you sat where I sat you would see that the user is > not the end… So, harm reduction focused on the user is missing the point."

First, let's make the assumption that all those users would have obtained the drugs some other way without the Silk Road. In that case, all that trafficking cost that happens before the seller lists the drug on the market _still_ would have occurred. Silk Road was just as responsible for that cost as the end user[0].

Now, let's make the assumption that all those users would _not_ have obtained the drugs some other way. That's basically saying that trafficking - which is an avoidable cost - is what makes the Silk Road so egregious. In that case, the right action is to address the drug trafficking trade itself. Again, Silk Road had only a small role in that. If we fixed the issues with drug trafficking, perhaps we would have a very different kind of marketplace than what Silk Road was (with a very different kind of person running it).

In case it's not obvious by this point, I think the drug war is pretty backwards. I don't really have any sympathy for Ulbricht or the Silk Road, but I'm also not impressed by the judge's arguments in this sentencing.

[0] this is not counting, of course, Ulbricht's own actions (e.g. attempting to hire an assassin).

</comment><comment><USER7> Judge: "So, harm reduction focused on the user is missing the point."

I think the judge is missing the point here, the point being an understanding of harm reduction and apparently, surprisingly the effects of drugs on society. No wonder she gave him life. She doesn't even understand what "harm reduction" is. The rest was just nonsense.

</comment><comment><USER8> "Forrest said because the case was so widely publicized, a more severe sentence could deter similar crimes in the future."

As others have noted, I doubt the judge spent 100 hours making this decision (that's two and a half person-weeks full-time). I don't condone what Ulbricht did but I don't think his sentencing was rational.

<comment><USER9> If you want examples of irrational sentences they are sadly not hard to find: [http://www.wral.com/news/local/story/107830/](http://www.wral.com/news/local/story/107830/)

</comment></comment><comment><USER10> Interesting how the judge is outraged by the recommendation of 'Doctor X' to the person to discontinue their antidepressants before taking MDMA. Surely she must know the highly elevated risk of mixing anti-depressants and a drug like MDMA can cause Serotonin Syndrome and lead to death....

<comment><USER11> An actual doctor would say: "Dont do MDMA. Don't get off your anti- depressants."

<comment><USER10> This is akin to abstinence-only sex education. It just doesn't work.

<comment><USER12> I'd agree if there weren't safe ways to have sex.

Breaking a treatment regimen to use a drug that wreaks havoc on the specific neurotransmitter the antidepressant acts on doesn't work.

There is no way to reliably control the outcome of stopping treatment and taking street drugs.

</comment></comment></comment></comment><comment><USER13> This quote of the judge as he delivering his verdict is so crazy (he is reading from Ulbricht's journal):

Two days later on April 8 you write: "Sent payments to angel for hit on Tony76 and his three associates. Began setting up hecho as standby" \-- I have no idea what that is -- "refactored main and category pages to be more efficient."

<comment><USER14> Not to nitpick, but the judge was female :)

<comment><USER15> How is that comment relevant?

</comment></comment></comment><comment><USER16> Judge> _It was a world of laws that you created, they were your laws. It is fictional to think of Silk Road as some place of freedom._

Ouch, terrible strawman; freedom doesn't mean freedom from all laws. It does entail freedom from some unreasonable laws.

<comment><USER17> Who defines 'unreasonable'?

<comment><USER16> Hopefully not who, but what. Such as, for starters, the "doesn't affect anyone else" principle.

<comment><USER18> Killing people affects people.

<comment><USER16> I don't think that's what the judge is talking about in the remark about Silk Road having laws. I can't imagine that it is related to the topic of murder for hire.

</comment></comment></comment></comment></comment><comment><USER19> I wonder how Germany would have sentenced him? Anybody else read that article about the german prison system and rehabilitation?

</comment><comment><USER20> Forrest was horribly biased against the defense. The prosecution's case was extremely problematic - resting on a chain of flimsy evidentiary and legal assumptions that would never have survived proper judicial scrutiny. The appeal will expose serious irregularities and hopefully overturn the decision.

Forrest spent a year at the Department of Justice before being confirmed as a federal judge in 2011. Her handling of the case was pay back to her sponsors at the DOJ.

From the transcript: "No drug dealer from the Bronx selling meth or heroin or crack has ever made these kinds of arguments to the Court".

Her comments smack of racism and classism. She reveals her implicit belief that since illicit drugs are associated in the media with oppressed minorities or less affluent communities, Ulbricht isn't entitled to such an "uppity" defense. She clearly can't fathom any possible reason why anyone might be opposed to prohibition and mass incarceration.

The transcript: "What Silk Road really was was a social market expander of a socially harmful drug that we have deemed in our democratic process to be unacceptable"

Except polls show that most Americans are opposed to US drug policies, even for "hard" substances like heroin [1]. Any discussion about drug laws that doesn't acknowledge its racist roots or the commercial interests involved is missing the point.

[1] [http://www.drugpolicy.org/news/2014/04/new-pew-poll- confirms...](http://www.drugpolicy.org/news/2014/04/new-pew-poll-confirms- americans-ready-end-war-drugs)

<comment><USER21> Ultimately, judges are God when you are in the court room, or treated as if they were. In reality judges are human beings with human problems. We should replaces judges with AI. AI is much better at acting like God than fallible human beings with their biases and their legal systems which are basically like religions.

Ultimately though the guy was guilty and should have spent 5-10 years in prison.

</comment></comment><comment><USER22> The prosecution was outstandingly successful in demonstrating that Ross Ulbricht is a violent, dangerous criminal. It is not surprising he was sentenced as such.

This is what it looks like when the system works. Society is safer with Ross behind bars.

</comment><comment><USER23> Wow. She is on a mission. I wonder what her medical qualifications are, and also what happened behind the scenes to persuade her.</comment>


Does wealth cause IQ? Or IQ cause wealth? - <AUTHOR> https://jaymans.wordpress.com/2013/06/06/welcome-readers-from-portugal/ <comment><AUTHOR> I hope the mods don't mind that I wrote my own title, as the original title of the article was not at all descriptive.</comment>


You know you're a startup founder when... - <AUTHOR> http://youknowyoureastartupfounderwhen.com/ <comment><USER2> _Getting the 1st working version out is the #1 priority in your life, everything else a distraction._

Check.

 _You'd rather stay in coding on a Saturday night than going out._

It's Saturday night, and (the occasional HN break aside) I'm home coding. So yeah, definitely relate to this one...

 _You don't give a shit if you get funded or not, you're gonna launch no matter what!_

Absolutely.

</comment><comment><USER3> An 'Angel' delivers you cash rather than salvation.

The word 'Heroku' doesn't conjure images of a Japanese Superhero.

You get as excited, passionate & loud about your idea as Gary Vaynerchuk!

Running Lean doesn't mean jogging to lose weight.

You quit your job the day after attending a Startup Weekend.</comment>


Why Do People Have Such Strong Feelings for the Portland Airport's Carpet? - <AUTHOR> http://nautil.us/blog/why-do-people-have-such-strong-feelings-for-the-portland-airports-carpet

<comment><USER2> Transit hubs, and airports especially are often a location where critical transitions happen in peoples lives. I used to live in Portland, and I can think of several times where important events happened on that carpet. This includes the last time I saw people that I care about. I can recall a couple times where my flight was late and I spent anxious time trying to sleep in the terminal. I feel that its deeper than kitsch, even if people don't admit it. The article touches on this, but it doesn't go to far in.

</comment><comment><USER3> I've been meaning to try Rogue's PDX carpet beer [1].

[1] [http://buy.rogue.com/rogue-pdx-carpet-ipa/](http://buy.rogue.com/rogue- pdx-carpet-ipa/)

</comment><comment><USER4> As a Portland native, I'd say there's nothing Portlanders love more than Portlandy things from Portland.

But in seriousness, I think it's fairly clear the whole obsession with the carpet was started by photos shared on Facebook and Instagram. People didn't used to take pictures of the carpet -- it was just a peculiar design that was recognizable but not necessarily noteworthy. I remember seeing PDX carpet photos with the classic "feet on ground" composition circulating Facebook several years ago and it has steadily spread since.

But the announcement of the carpet's eventual replacement really galvanized the phenomenon because it turned it into a news story and created a cottage industry for carpet memorabilia. I think the whole thing is hilarious.

</comment><comment><USER5> That carpet always made me feel a little nauseous - especially on early morning flights. But I do agree it's different. I think Portland has so many wet days and is generally gloomy that the carpet is quite a cultural shock.

<comment><USER6> Portland is not generally gloomy.. The people love the carpet because it's Portland.. There are consortiums of folks who identify and highlight obscure oddities to make Portland stand out in some little way. It's hipster culture.

</comment></comment><comment><USER7> If an Andy Warhol print hanging in the New York Museum of Modern Art, which even the museum doesn't take very seriously, can be worth millions, some previously ubiquitous carpet in a popular city can be worth tens of millions of dollars also (of course divided by the number of reasonably sized samples that exist).

</comment><comment><USER8> Why Do People Have Such Strong Feelings for the East Berlin Pedestrian Signals [http://www.theatlantic.com/international/archive/2013/09/the...](http://www.theatlantic.com/international/archive/2013/09/the- little-traffic-light-man-that-could/279968/)

</comment><comment><USER9> What an interesting article. I've been to many airports with carpet, but for some reason, PDX is stuck in my mind -- and the carpet is specifically stuck in my mind. I have no sentimental ties to the city (I've been there, it's nice, but that's true of a lot of places).</comment>


"I decided to add "inertial" scrolling, where you gave the image a push..." - <AUTHOR> http://www.folklore.org/StoryView.py?project=Macintosh&story=Thunderscan.txt <comment><USER2> the switcher ([http://www.folklore.org/StoryView.py?project=Macintosh&s...](http://www.folklore.org/StoryView.py?project=Macintosh&story=Switcher.txt)) story is also pretty interesting. i can't believe apple paid that much for what seems like a (relatively) small utility.

<comment><USER3> Great story. My favorite part is the contrast between Gates' and Jobs' negotiating styles. Gates: use your pride to set a lowball effort/value frame. Jobs: imply use of Apple proprietary information, leverage reputation of stubborness.

Hertzfeld's tactic is nice, too: request a royalty for the unbundled version that Apple "would never do" -- but did.

<comment><USER4> I like the note from Bill Gates as well. A gentle reminder that behind the caricatures we all create for celebrities there are real people with depth ... some of whom spend too much time playing maze games.

<comment><USER3> I hadn't zoomed the letter until your reply. Looks like the early Mac's Geneva font, printed on an ImageWriter. :)

</comment></comment></comment></comment><comment><USER5> Based on his royalty agreement ($7.50 per unit) and the stated total sales of around 100,000 units, he made $750,000 in royalties. Nice! Sorta wish I got royalties for my projects....

<comment><USER6> Do people still do royalty based contracts? I wish they did.

<comment><USER7> We get royalty money in the games industry. Of course it depends on the project deal, but often once the game has sold a certain number of units royalty checks start coming in. For very successful games these checks can be quite large.

</comment></comment></comment><comment><USER8> Is there a context behind the posting? Are we all saying this is prior art for some UI patent somewhere?

<comment><AUTHOR> No context in particular :) Just an observation of how the "inertial scrolling" people are raving about on the new iDevices has a history deeply rooted in Mac folklore (Andy Hertzfeld was part of the original Mac team).

Also note mention of hysteresis and Floyd-Steinberg Dithering which are worth reading up on.

</comment></comment><comment><USER9> Interesting read. But I was expecting it to end with 'when Steve Jobs found out about the device, he added a new clause to the ImageWriter warranty forbidding the use of 3rd party attachments, and that was that.' ;)

</comment><comment><USER10> FWIW, I implemented inertial scrolling (or flinging) on the timelines at <http://www.preceden.com>. You're welcome to check out the JavaScript if you're interested in implementing something similar.

It was exciting to set up... really brings you back to high school pyhsics.

<comment><USER11> Hah, funny you should mention that. I noticed it when I stumbled across Preceden a month or two back, but it's always seemed a bit buggy, and put me off trying out the site. In Firefox & Chrome, if you drag the timeline to one side and hold in place for a bit, then release, it scrolls as if I hadn't held it stationary.

</comment></comment><comment><USER12> Does anybody have any pointers on how to use hysteresis to make inertial scrolling work better? It was mentioned in the article but I don't see how to make it work.

<comment><USER13> I'm guessing he means something like "when the user clicks, drags, and releases something, keep scrolling at the rate the mouse was moving at the release point _only if the rate is above some threshold_." It'd be annoying if the mouse had to be absolutely still when you let it go, most people don't have the fine motor control for that.</comment></comment>


Show HN: bandmule.com - <AUTHOR> http://www.bandmule.com

<comment><AUTHOR> We're in the last stages of producing a beta for this. Any thoughts?</comment>


Ask HN: What's the best document parsing tool/SDK that you've heard of? - <AUTHOR> I am looking to parse various documents (docx,ppt,pdf,pst etc), extract metadata, text etc for search. I'm looking into Apache Tika - but my gut tells me a native windows tool may be better long term. Can anyone refer to tools/SDK they've used or heard to be successful ? <comment><USER2> Tika is what we use. It's not perfect, but it works pretty well for our purposes.</comment>


Redundancy vs dependencies: which is worse? - <AUTHOR> http://www.yosefk.com/blog/redundancy-vs-dependencies-which-is-worse.html

<comment><AUTHOR> I thought this was hilarous:

> No, seriously. Take command line parsing. You want common syntax for > options, right? And you want some of them to accept values, right? And those > values can be strings, and booleans, and integers, right? And integers can > be decimal or hexadecimal, right? And they can be values of user-defined > types, right? And they can have help strings, right? And you'd like to > generate help screens from them, right? And GUIs with property pages? And > read them from configuration files? And check the legality of flags or sets > of flags, _right_?

> Sure. It's not a big deal. Trivial, even. (If you're smart, everything is > trivial until you fail _completely_ due to exceeding complexity. And _admit_ > that you failed due to exceeding complexity. The former takes time to > happen, the latter can never happen.)</comment>


Show HN: Phaser – Trello for software development, with Vim built in - <AUTHOR> http://phaserapp.com <comment><USER2> "it's trello for software development".

I think that's called Trello.

<comment><AUTHOR> Phaser does some nice things that Trello doesn't do that are specifically related to software. For example you can group Stories into "Arcs", which are like feature sets. This way you can filter stories by Arc and quickly see the progress of each individual Arc.

Additionally, Phaser allows you to quickly create many stories in a single text box, which is great for when you need quickly add a new feature set.

There are more examples which I'm sure you'll see if you actually try the product.

<comment><USER3> I think Trello's not being process-specific is an advantage. Every company I've worked at has had fairly different processes, so a tool that's tightly- coupled to one wouldn't work that well, just in my experience. It's also not clear to me that the coupling is essential. For example, what's the difference between a phase in Phaser and a column in Trello? They seem like the same thing, but with a very specific name.

You're also using a lot of terminology specific to your process in the pitch, which I don't understand, because I'm not familiar with your process.

The arcs seem like a nice idea, if I understand them (basically a way to filter tasks horizontally across all phases), but again I think you're usage of process-specific terminology is hampering your ability to pitch the feature.

<comment><AUTHOR> A phase in Phaser is equivalent to a column in Trello.

You aren't tied to a specific process in Phaser. You can create a different set of phases for each project and you can change them at any time.

I understand your point on the terminology. There may be a way for me to make it less complicated.

</comment></comment></comment></comment><comment><USER4> It's interesting, but the vim editor has the same problems that most near-vim tools have: my muscle memory (trained with my vimrc) is all wrong. Escape is an awkward key, so I exit inset mode with jk and kj. $ and ^ are weird, so I jump around the line with L and H. My leader key, my plugins, etc are all sorely missing, and trip me up here way more than a purely non-vim interface.

What I'd really love would be a web tool like this with a plugin for actual vim. I currently use a TODO.txt file (kept on dropbox) that I open with <leader>et for my personal task managment. If there were a plugin that would let me edit tasks like Phaser (indentation-based) in real vim, but then could be displayed and further managed by your web interface, I'd love it.

<comment><AUTHOR> I understand where you're coming from.

Keeping a text file synced with the web interface would be super cool. It would certainly be a fun engineering challenge. I'll keep that idea in mind.

</comment></comment><comment><USER5> I think naming Trello is a dicey move. Trello is a great product. It's incredibly simple -- a huge asset for most users -- and very well implemented.

I spent about 60 seconds looking at your homepage. I didn't convert. Here's my impression:

You say it's like Trello. So I like that. And then I see a screen that is much more complicated. I glance at it. Then skip past. Ok, phases. Phaser. Ok. So it's like, a way to keep tasks separate without just using a separate task board. Ok.

Moving on, now there's "arcs"? I see what you did there, with "story arc" and all. But wait, now my super simple trello issues are grouped into phases and arcs? And if I use this as part of my bigger process, then my phases and arcs are split or spliced into my sprints. Also, there's already an agile term for what you're calling "arcs" \-- epics.

But I don't give up. I want to get it. I go back up to the top screenshot. Ok, it's 3 lists, just like Trello. But wait. Why is the first column green? And why is the top option bold? Do you select it? And then it changes what happens in the other 2 columns? But that's not like trello at all. And it's also not intuitive I don't think. And one list is "arcs" but the other 2 are "phases"?

And what are the "This week: 18..."? Number of stories completed? created? Why do I need to see that on every single page?

Also, I skipped right over the Vim section. It seems pointless to me. That is solving a problem I do not have. But hey, I can see others may use it or it could even just be a bit of a gimmicky feature that does get it some attention.

Anyway, and more important than all that, congrats on shipping!

</comment><comment><USER6> Hmm. A few comments:

\- I love Trello and have used it for years. It's probably my favorite piece of software. You couldn't pay me to switch. I use it for software development, by the way, and it works fine.

\- I don't use Vim. (I use ed, and yes I'm serious.)

\- The site not being responsive is a turnoff. Trello is responsive.

Other than that, I think I'd use it if Trello didn't exist.

</comment><comment><USER7> Would be nice if there was a more frictionless way to try it out, either via some sort of oauth login or a demo link

<comment><AUTHOR> That's a good idea. Thanks for the heads up.

</comment></comment><comment><AUTHOR> Developer here. I built Phaser to scratch my own itch. I took inspiration from both Trello and Pivotal Tracker, and I think the result is pretty good.

Please let me know what you think.

<comment><USER8> I signed up just to play with the in-browser vim, which is cool.

1\. I can't bring up the editor on firefox. Clicking the '+' in a phase doesn't bring up the editor, etc.

2\. :w doesn't work on chrome either, it gives this error: "cannot call method set of undefined" [http://imgur.com/hnS1AMA](http://imgur.com/hnS1AMA)

3\. But still it looks like the story arc was saved: [http://imgur.com/JUiuKbw](http://imgur.com/JUiuKbw) and there was a 'saving..' message on the status bar suggesting that there's an autosaver. However, after reloading the page, sad face: [http://imgur.com/aLSMgsE](http://imgur.com/aLSMgsE)

<comment><AUTHOR> Give me a sec to check it in Firefox. It's very alpha and I've been doing everything in Chrome.

Second Edit: Use the tab key instead of spaces to create indentation. That's what is causing the "set of undefined" error.

Edit: If you reload, then click "New Stories +", it should work. The + button on the individual phases is not working right now in Firefox. Willfix.

<comment><USER9> What did you use to integrate vim? Is it something open source or proprietary?

<comment><AUTHOR> I used Code Mirror to get the Vim functionality: [http://codemirror.net/](http://codemirror.net/) . It's open source.

<comment><USER10> So, its Vim keybindings, not actually Vim?

<comment><AUTHOR> That is correct.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> To target a broader market, you might consider dropping the "Vim built in" and explain it as "Create stories efficiently in plain text with our editor that uses familiar key bindings from Vim. Alternatively, use your favorite editor and paste the text in. Phaser's story parser will slurp them up for you."

</comment><comment><USER12> Trello, that tool my company has been successfully using for software development for years, which already supports vimish (forgive me!) movement and edit keybindings?

I'm not seeing the point here, Trello is excellent, and already great for software teams.

</comment><comment><USER13> Maybe this product makes sense if you know what trello is?

<comment><AUTHOR> Sure. Or if you know about kanban boards, which have been around for a long time.

</comment></comment><comment><USER14> I love the minimalist design, it's a truly beautiful product. Congrats!

</comment><comment><USER15> I like the ability to slurp in stories from VIM. Thats very slick.

</comment><comment><USER16> It wasn't clear to me what the 'I prefer vim' option in the signup form is for. Does it control a setting or is it just a survey?

</comment><comment><USER17> I love the idea and it wakes my inner nerd up.

It looks cool. However, I really wish there was some tour. It's quite confusing initially.

</comment><comment><USER18> Didn't try yet, but would you mind considering to provide this as product that is installable on private network?

<comment><AUTHOR> That would definitely be an option.

<comment><USER19> I second that request. It looks really nice, but SaaS - free or not - is a no go for projects that involves sensitive or classified data.

</comment></comment></comment><comment><USER20> I'm getting "TypeError: Cannot call method 'set' of undefined" when trying to save...

</comment><comment><USER21> I skimmed (busy day, sorry). Is this a web front end for Cucumber stories?

<comment><AUTHOR> Basically, yes. It's like Pivotal Tracker as a custom kanban board.

<comment><USER21> It's an interesting concept. Good luck!

</comment></comment></comment><comment><USER22> Please consider adding SSL page for signup and login

</comment><comment><USER23> Love the design.

</comment><comment><USER24> phaser? [http://phaser.io/](http://phaser.io/)

</comment><comment><USER25> No. Why !?</comment>


Making the LinkedIn experimentation engine 20x faster - <AUTHOR> https://engineering.linkedin.com/blog/2020/making-the-linkedin-experimentation-engine-20x-faster <comment><USER2> Interesting article on the technical aspects of scaling such a service, no doubt. One question remains - was any of this necessary? It's amazing how much work their machines are doing to analyze the data, and it sounds like all decisions are made on data, but I would love to see is an article that defends all this data in exchange of humans making decisions. Is this algorithmic approach optimal for the outcome, or is it optimal for decision making? Would love for someone from LIN to explain the big picture!

</comment><comment><USER3> > It serves about 35,000 concurrently running A/B experiments,

With that amount of optimizations, you would expect them to have the best user experience in the world. Do they? I think there is something severely wrong with the current A/B testing methodology.</comment>


HDR UK – Useful Resources for COVID-19 Research - <AUTHOR> https://github.com/hdruk/covid-19 <comment><AUTHOR> This repo lists useful resources for COVID-19 research worldwide.

Health Data Research UK is the national institute for data science and is actively championing the use of health data to address the global COVID-19 challenge.

Such is the scale and immediacy of the challenge that we have developed a rapid, collaborative and agile strategic response ([https://www.hdruk.ac.uk/covid-19/](https://www.hdruk.ac.uk/covid-19/)) to deploy our national capability through three priorities:

1\. Leverage the best of the UK's health data science capability to address the wider impact of the COVID-19 pandemic supporting vulnerable groups who will be hardest hit

2\. Accelerate safe access to UK-wide priority data relevant to COVID-19 for research worldwide

3\. Co-ordinate national and connect international data science-driven research efforts related to COVID-19

Please help us keep this list updated so other research groups worldwide can benefit.</comment>


Data brokers won't even tell the government how it uses, sells your data - <AUTHOR> http://arstechnica.com/business/2013/12/data-brokers-wont-even-tell-the-government-how-it-uses-sells-your-data/ <comment><USER2> In Europe you have the right to make such firms disclose all data that they have on you, and even to make them delete it after a certain length of time.

[http://en.wikipedia.org/wiki/Data_Protection_Directive](http://en.wikipedia.org/wiki/Data_Protection_Directive) [http://en.wikipedia.org/wiki/General_Data_Protection_Regulat...](http://en.wikipedia.org/wiki/General_Data_Protection_Regulation)

<comment><USER3> _However, European privacy directives contain explicit exemptions for many governmental organizations, including the EU itself, national security, taxation, and policing, and would not have protected citizens against the abuses suffered at the hands of fascist or communist governments_

It's interesting to compare: in the US, corporate databases == good , government databases == bad, and it appears the exact opposite in the EU. Then there's this:

 _EU directives are addressed to the member states, and aren 't legally binding for citizens in principle. The member states must transpose the directive into internal law. Directive 95/46/EC on the protection of personal data had to be transposed by the end of 1998. All member states have enacted their own data protection legislation._

Which just makes me think from where we are today, neither approach seems to be ok for the avg person, on top of the behaviors and incentives for individuals/companies/governments aren't lining up. What's going to give for something to fall which ever way (or is there really anything to give way at all)?

<comment><USER4> The problem is we're also learning corporate databases == government databases.

<comment><USER3> Seeing as corporations are pretty much legal entities created by states, (whether they be the US or EU states, or anywhere else for that matter) which allow for privileges for those who run them based on the state where incorporated, that doesn't seem to change the status quo. To me, that just makes this all look like some kind of grandstanding to placate those on the sidelines, and if we are honest with ourselves, most of whom will continue to use (and be used by) such services which leads me back to my question…

</comment></comment></comment></comment><comment><USER5> Said hearing can be watched here [1]. The industry speaks around the 30min mark.

[1] [http://www.c-spanvideo.org/program/MarketingC](http://www.c-spanvideo.org/program/MarketingC)

</comment><comment><USER6> I'm increasingly coming of the viewpoint that rather than only obscure data, people need to start taking active measures to confound the record.

And sue for misuses / discrimination.</comment>


Hate blood tests? UVic research team just needs one drop - <AUTHOR> http://www.cbc.ca/news/canada/british-columbia/uvic-blood-test-terry-pearson-diagnosis-protein-biomarker-technique-1.3322517 <comment><USER2> Just wait until the FDA get ahold of them.

<comment><USER3> They'll need an Expeditionary force. (University of Victoria, B.C., Canada)

</comment></comment><comment><USER4> Sounds a lot like Theranos</comment>


Hansard Corpus: British Parliament, 1803-2005 - <AUTHOR> http://www.hansard-corpus.org/ <comment><USER2> Neat :) I'm in Queensland's Hansard, by virtue of being a part of the Queensland Youth Parliament, then Youth Peace Parliament. It was quite a thrill to find out afterwards that our debates and bills would be kept on the record as a teenager.</comment>


Git sucks, or why do I use darcs instead - <AUTHOR> http://komar.in/en/git-sucks-or-why-do-I-use-darcs-instead/ <comment><USER2> I started using DCVSes with darcs and liked it quite a bit — a real breath of fresh air compared to the nastiness of cvs and svn. Nice UI overall. Unfortunately, it had a nasty bug where commits or merges would hang indefinitely. It was a hole in the theory of patches, I believe. The bug took forever to fix (over a year, if memory serves), and darcs lost momentum to Git, which worked much faster and more reliably (and has extra really nice features like the svn bridge).

</comment><comment><USER3> Not a git guru by any stretch of the imagination, but:

Interactive mode: "git add -p" ?

Reverting commits: "git revert commit-id" ?

Code sharing: Pretty sure git supports cloning from straight [http://](http://) (or even a file:/// if you have a smb share or whatever) ?

<comment><USER4> Git supports cloning over http, ssh, local file path. You can also create patch sets with `git diff` and share them however you want, obviously including email.

You can also mess with what you merge and what not via `git rebase -i` and `git cherry-pick`.

I don't see anything where darcs would be superior to git. It's just a matter of taste. Nothing to see here.

<comment><USER5> This scares me a bit because of what they're doing to essentially drop dependency information that's preserved in normal git commit order.

If you ignore commit order, individual lines have no way of really conveying what they've been tested with, nor what they will break if added or omitted, independent of commit time.

You get a lot of that stored automatically with git, by forcing people to define changes in terms of what was there before the change takes place.

You also have the ability to reposition this information with git rebase, and to safely walk it through change conflicts to make sure you affirm what is happening.

With this in mind, I think an algorithm like darcs' history looks like it would be much more suitable in text/block based editing, rather than programming. Something like tracking history in XML or following a Microsoft Word document.

<comment><USER3> Absolutely, even over-eager use of "git add -p" can easily create commit "snapshots" that won't actually compile.

</comment></comment></comment></comment><comment><USER6> I used darcs years ago before switching to git. I liked it a lot, but git had more support/momentum so we switched. Camp looks interesting but also seems dead based on the mailing list archives.

<comment><USER7> This is the same reason we switched from darcs to git. The value of ubiquity exceeded the value of our previous preferences.

</comment></comment><comment><USER8> I had never heard of darcs before, but it sounds pretty interesting:

" _Darcs is a distributed revision control system... Key features include the ability to choose which changes to accept from other repositories, interaction with either other local (on-disk) repositories or remote repositories via SSH, HTTP, or email, and an unusually interactive interface. The developers also emphasize the use of advanced software tools for verifying correctness: the expressive type system of the functional programming language Haskell enforces some properties, and randomized testing via QuickCheck verifies many others._ "[1]

[1] [https://en.wikipedia.org/wiki/Darcs](https://en.wikipedia.org/wiki/Darcs)

<comment><USER9> It is pretty interesting because it's one of the first popular DCVS systems. It's also an interesting case study in how you can be so right and yet so wrong at the same time, failing to capture any meaningful market share, while others like git steamrollered it.

</comment></comment><comment><USER10> If you want to revert a file in git, you are not reverting the file. Reverts are attached to commits.

Instead, you are restoring a file to its previous state. To do this:

git checkout <commit> \-- path/to/file

</comment><comment><USER11> > Code sharing sucks

gitweb? cgit? Also, why does codesharing require HTTP?

Otherwise a surprisingly non-ragey post for someone who is comparing the pros and cons of a tool that is obviously very important to OP.

</comment><comment><USER9> "Digital sucks, or why I use cassette tapes instead."

Seriously, if your complaints about git are a few implementation problems, user interface, and that some commands are needlessly complicated, your solution should not be to use a completely different revision control system used by nobody.

How about "DARCS did some things right that git could learn from" as a different way to present this material?

<comment><USER12> >How about "DARCS did some things right that git could learn from" as a different way to present this material?

git could not switch from their history centric model to darcs' patch centric model _and_ fix the schizophrenic ui without breaking everything built around git. In such a case a different project is useful. See python2 vs python3.

</comment></comment><comment> __--__ This comment is interesting:

      The only haskell thing that works good is xmonad. I used it for years and still very happy with it.
      The only haskell things that works fast are qsort and shootout tests.
      The other haskell soft is full of shit and I can't understand why.

Is this just editorializing or is there some truth to this?

</comment><comment><USER13> I usually do 'git checkout <branch/tag/sha_of_commit> \-- <filename>' to revert a single file to previous state. If I ever need a gui (very, very rare), I would just use 'gitk'. Small and does the work.

</comment><comment><USER14> The video example had features and bug fixes in the same branch. It would have been more idiomatic for git to create separate branches, which would have shown it to be just as flexible.

</comment><comment><USER15> darcs was the first DVCs I used, back in 2006. Coming from Subversion, I felt that its command line UI just plain beautiful. Since then I've moved on to mercurial, because most of the other people on my team wanted to use hg and then subsequently git, when I changed jobs. It looks like we're moving towards more and more brittle command line interfaces rather than simpler, cleaner and more polished ones.

</comment><comment><USER16> I use darcs for everything, i pretend to use git and github by using a tool called darcs-to-git :-)

<comment><USER17> why?

</comment></comment><comment><USER18> I'm surprised that there is no command "git sucks" in git.

<comment><USER19> it's easy to add custom commands to git</comment></comment>