Show HN: Task – A simple build tool written in Go - <AUTHOR> https://taskfile.org/ <comment><USER2> > you just need to describe your build tasks using a simple YAML schema

I don't understand this. How is it easier/nicer to learn an arbitrary schema in an ambiguous[1] data serialization language than the makefile syntax which was designed specifically for the purpose?

I'm not criticising the project; I'm sure a lot of work has gone into it and it is decent software. But I wouldn't encourage people to be quick to disregard 'difficult' mature software and jump at something new that makes claims about being 'simple and easy'.

[1]: [https://github.com/cblp/yaml-sucks/](https://github.com/cblp/yaml- sucks/)

<comment> dis-sys > the makefile syntax which was designed specifically for the purpose?

and proven by generations of programmers.

the (very sad) problem here is that for some people makefile is not trendy, it is something first released 42 years ago.

<comment><USER3> As someone who's been using makefiles for about 30 of those years, I have to say make sucks. It's barely evolved at all. There is a reason there are so many alternatives to it, and it's not be because it's trendy. I mean, you can't even copy a file with it. That takes an external program.

<comment><USER4> it does. unfortunately its still the one i reach for because it never seems like a good time to research alternatives.

generally the tools that are optimized to make the common case easy aren't so useful to me because i often have alot of intermediate build artifacts/stages.

and i really like the declarative nature of make..just not all the fragility and warts.

does anyone have any suggestions for a nice general declarative alternative?

<comment><AUTHOR> > I often have a lot of intermediate build artifacts/stages

I don't know your use case in depth, but I don't see why Task wouldn't work for you, since it's similar to Make in this regard.

You can have multiple tasks (for each step) and then either set dependencies or have a task that call all other tasks in the right sequence. And, of course, you'd have to enable [this]([https://taskfile.org/#/usage?id=prevent- unnecessary-work](https://taskfile.org/#/usage?id=prevent-unnecessary-work)).

Anyway, seems that Make is already enough for you, since you're used to it's quirks.

</comment></comment></comment></comment></comment><comment><USER5> Oh wow, I didn't tried it yet, but reading the doc, it looks exactly how I imagine the perfect "make"/"task runner" should work.

"make" frustrated me so many times. I'll definitely try "task".

<comment><AUTHOR> Thanks for these words!

Although I don't think this tool is perfect, I created Task exactly due my frustration with Make and the lack of decent alternatives.

Let me know if you any feedback after you try it.

<comment><USER5> After giving a quick look, my tasks are twice faster with make.

So I was curious to know why and I tried to clone the project to debug it, and could not figure out how to setup the dependencies properly.

You should add a section how to contribute/develop.

<comment><AUTHOR> Yeah, a contributing guide would be nice. Thanks for the suggestion.

I'm curious on why Make runs twice faster to you, since in most cases the difference should be negligible (i.e. the Task overhead should be insignificant compared to the time it takes to run the command).

Maybe you're running really lightweight, like `cp`? Otherwise I'd consider it a bug. Could you open an issue, then?

</comment></comment></comment></comment><comment><USER6> Meh I hate generic names like this, especially if they are taken already. For instance taskwarrior uses the task binary as well.

Have to take a look at it nonetheless

[https://taskwarrior.org/](https://taskwarrior.org/)

<comment><USER7> The name was throwing me off. Thought it was relating to TaskWarrior at first.

</comment></comment><comment><USER8> I've been using Task on multiple projects for a couple of months now. Initially I whated to be able to easily create some deployment config files using it's templating features. Worked great. Now I just default to task instead of make on new stuff.

</comment><comment><USER9> Please forgive me, but how is this easier to use than make? I see a lot of these "reimplement tool X in language Y" projects, but what is the point if it's not actually solving the problem better. Just looking at the link it seems to resemble Ant which also started with similar design goals.

<comment><USER10> I'm not sure about task but I use Just [1] - it's similar program. It's nice way to collect commands you often run in given project.

Make is build system, with strong focus on building C program. It has clunky syntax and many quirks. Just is just taks runner ;)

[1]: [https://github.com/casey/just](https://github.com/casey/just)

</comment></comment><comment><USER11> Used this for a project about a year ago and it was great. There was room for improvement, but it did what we needed it to do without any fuss.

</comment><comment><USER12> I've been putting off setting up a makefile for my project. I'll give this a go

</comment><comment><USER13> YAML is a terrible choice.</comment>


The purpose of DRM is not to prevent copyright violations (2013) - <AUTHOR> https://plus.google.com/+IanHickson/posts/iPmatxBYuj2 <comment><USER2> This is one of the most important points about DRM.

DRM are marketed to users (and the society, including politicians) and to artists as a way to prevent copies. Most engineers implementing DRMs think so too. And all the discussions we've seen on HTML5 are around this. People have little arguments against this because it "sounds morally good" to help artist "live of their creations".

I am the de facto maintainer of libdvdcss, and have been involved on libbluray (and related projects) and a few other libraries of the same style; I've done several conferences on this precise subject and I've fought the French High- Authority-on-DRM in legal questioning about an unclear piece of law... Therefore, I've studied DRM quite closely...

The truth is that if you consider the main goal of DRM to prevent copies, no DRM actually work. ALL of them got defeated in a way or another. Indeed, GoT- broadcast-to-top-of-TPB time is counted in a couple of hours; so why do they try to push those technologies still?

The answer is probably because the main goal of DRM is to control distribution channels, not copy-prevention. Copy-prevention is a side goal.

This post of Ian is excellent to explain this.

PS: You can see me speaking of the same point, in French, in June 2013 here: [http://www.acuraz.net/team-videolan-lors-de-pas-sage-en- sein...](http://www.acuraz.net/team-videolan-lors-de-pas-sage-en-seine-2013/)

NB: I'm not discussing here whether DRM are good or bad.

<comment><USER3> > DRM are marketed to users (and the society, including politicians) and to > artists as a way to prevent copies. Most engineers implementing DRMs think > so too. And all the discussions we've seen on HTML5 are around this. People > have little arguments against this because it sounds morally good to help > artist live of their creations.

And to that end- that is the legitimate, marketable feature of DRM. As far as consumers are concerned, thats what it buys them- it allows the producers of the content to retain some control, live off of their art, and continue producing.

How would content producers possibly deter copying _without_ exerting control on the consumption hardware and software? The only answer there is standardized DRM.

So HTML5 DRM seems to be the only solution which meets the consumer need (artists getting paid), and avoids the commercial control over your hardware and software.

<comment><USER4> _> And to that end- that is the legitimate, marketable feature of DRM._

Except that it's not legitimate. First of all as the post above implied, DRM simply doesn't advance the goal of "living off one's art" in any way. Or to put it in business terms, DRM doesn't increase sales (because it doesn't reduce piracy). I'd even say it decreases sales because some users avoid DRMed products and it as well increases piracy (because some pirates see breaking DRM as sport - i.e. they are more likely to direct their attention to a DRMed product to pirate it, rather than to a DRM-free one).

Plus, it's not legitimate to employ overreaching preemptive policing justified by "need to live off one's art". Same way it's not legitimate to violate everyone's privacy by installing police cameras in people's houses as a preemptive measure against crime.

 _> How would content producers possibly deter copying without exerting control on the consumption hardware and software?_

They can't deter it. They can reduce it (i.e. turn part of the pirates into paying customers). The way to do it is old and well known, yet many fail to remember it - treat customers with respect (and not as criminals by default). Establish more direct relation with your users, don't be a jerk, be user friendly and so on. People appreciate services which are explicitly DRM-free. On the other hand, paranoid attempts to "deter all copying" result in treating all customers as criminals by default, which turns many of them into pirates (i.e. serves exactly the opposite purpose).

For some reason not being a jerk and being user friendly is a novel idea for many legacy publishers which they find hard to digest. Independent studios get it way better.

<comment><USER3> I'm not certain about this notion, but I bet the media executives have done the math: DRM probably results in more profit due to lowered casual piracy than decreased profit due to people pirating out of DRM-protest.

And I wouldn't consider standardized DRM "overreaching preemptive policing". Compare that to the existing legal consumption options and you'll realize that this "policing" has been happening all along.

Look, its great to say that everybody should be nice, but you've got to realize that this existing control is the backbone of the big media industry. Without DRM and the control it ensures, there is no way to ensure advertisments get watched. The ability to track the success of an ad would be lost. As it stands, media consumption is very easy for the industry to monitor and control. This is a huge industry with enormous power- why would they give that up over some upset rights activists?

I'm all with you when it comes to indie studios. If the non-DRM party is going to win, its going to be with our wallets. I'd love to see more indie video and music. Maybe new non-DRM offerings will win out, as we are starting to see in the game industry.

tldr: At the end of the day, if you want to consume mainstream media, you've got to put up with the mainstream consumption hardware/software.

<comment><USER4> _> I bet the media executives have done the math_

I get the feeling it's the opposite. They didn't do any math and do it out of inertia or because "everyone does it", or because of the completely other and crooked reasons (like the article linked in the thread explains). DRM doesn't affect casual or non causal piracy - this was already discussed at length in the past here. Because once DRM is broken, piracy occurs using those DRM- stripped copies. I.e. it takes one pirate to break it in order for others to never deal with it. Therefore it doesn't lower piracy rate.

And I already explained how not using DRM can actually increase sales. And about DRM increasing piracy, there was an example from CD Projekt Red about their own game which they originally released with DRM (on disks) in parallel with DRM-free version (on GOG). And it was immediately pirated. But not the DRM-free version like you'd assume. It was the DRM-ed one! They said it was an interesting case study for them, which demonstrated that some pirates apparently break DRM for sport (i.e. who beats others to break DRM and pirate it). So it demonstrated for them that DRM boosted piracy. They never released games with DRM since, and advance the DRM-free distribution cause through their GOG service.

By the way, music is largely available DRM-free for quite a while already. You can buy DRM-free files on Cdbaby, Amazon or tons of other music sites. Which again demonstrates the point that DRM-free distribution works just fine.

 _> This is a huge industry with enormous power- why would they give that up over some upset rights activists?_

That's exactly the point. DRM is all about certain control (over the market for example), but not about piracy. Surely those who have that control want to retain it. But they lie to the public claiming that DRM is used for preventing piracy, while really it's used for control. It just adds to the reasons to always oppose it.

<comment><USER5> > DRM doesn't affect casual or non causal piracy - this was already discussed > at length in the past here. Because once DRM is broken, piracy occurs using > those DRM-stripped copies. I.e. it takes one pirate to break it in order for > others to never deal with it. Therefore it doesn't lower piracy rate

Many who would casually pirate (or who would pirate without even realizing they were pirating) do not know about those DRM-stripped copies.

<comment><USER4> That depends on what you call "casually pirate". Numbers are important. The massive bulk of piracy occurs with copies stripped of DRM already by those who know how to do it. If some users of a DRMed service will decide to pirate something and will hit a roadblock of DRM not letting them to copy it, they'll quickly find other sources which provide the same thing without DRM. So DRM doesn't prevent them from anything - it actually encourages them to look for pirate sources essentially completely defeating the whole purpose of itself.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> _Had CDs been encrypted, iPods would not have been able to read their content, because the content providers would have been able to use their DRM contracts as leverage to prevent it._

Moreover, the iPod most likely would have _never been invented_. How about that for killing innovation?

<comment><USER7> I dunno, all video content is DRM-encumbered, and yet I can choose from a whole range of media players that support all the formats commonly used for cracked "illegal" copies.

Sure, none of them are made by the mainstream brands that the entertainment industry has a hold over, but that was the same for MP3 players before Apple made its move. (And a bold move it was, because everybody knew the only thin iPods were being used for is to play "illegally" obtained content.)

Also, DRM is merely a weapon. Copyright is the killer.

<comment><USER8> I don't agree with the "DRM is merely a weapon" bit in your last paragraph.

DRM allows rights holders to create and "monetize" new "rights" outside the legislative process. Copyright law (in the United States, at least) allows for "fair use", but the DMCA criminalization of "circumvention devices" creates a method to eliminate fair use rights via technology. Once DRM is legally protected rights holders can go wild using DRM to, effectively, make up new laws.

<comment><USER9> I don't think anyone else has mentioned it yet but for me a very important corollary of what you mention about elimination of fair use rights [where's the punishment against this?] is the failure of works to enter the Public Domain.

A work with DRM attached can't be Copyrighted. Copyright is a bargain between the _demos_ and the creators of artistic works. In that bargain the creators get protection from the state for their monopolistic exploitation of a work _on the proviso_ that the work then enters the public domain after a "limited" time.

Now distribution companies and purchasers of copyrights and employers of copyright creators have managed to erode the limitation of that period to a great extent but the limitation still holds. Ergo, works must enter the Public Domain when the term expires.

Works with DRM can not [properly] do this. Not in any way as might analogise that imagined by those creating copyright laws initially. The work must be free to be used in any way the public sees fit (except perhaps those that contravene moral rights, I'd personally extend some moral rights in perpetuity - eg right to be acknowledged as creator of a work).

Copyright law should punish those that forcibly rest fair use (or fair dealing as we get in the UK) from the public and no protection should be offered by the state for works that can't be guaranteed to enter the public domain (eg by deposition of non-DRM in an archive to which the rights holder that chooses DRM pays a fee for maintenance).

Copyright law is a deal that has been broken. Too much power has been ceded by politicians to the media conglomerates on the public's behalf and without proper warrant.

</comment></comment></comment></comment><comment><USER10> I was going to say, the purpose of DRM is to get you to pay for multiple licenses. It's the same reason why a lot of paid download software is now on a SAAS model. If you can buy 1 copy of something for $20 and use it on whatever devices you want, then the company has made $20. If you DRM that to be for just one device, and you have 5 devices, they make $100. If you are a SAAS operator, you are effectively doing the same thing.

Somehow people are more okay with paying an ongoing fee for software or some perceived notion of services, but that same does't yet apply to content in a larger way. The closest equivalent is probably the cable companies and they are taking their huge sums of money and are buying the media companies, so maybe eventually there will be just a flat $100/month fee for experiencing a company's content on whatever device/experience it's available on. Maybe even movie theaters.

<comment><USER11> > Somehow people are more okay with paying an ongoing fee for software or some > perceived notion of services, but that same does't yet apply to content in a > larger way.

I think it's pretty simple to see why this is: Once created (digital) content is _inert_ and doesn't really require any ongoing maintenance as such. Software always requires some sort of ongoing maintenance.

<comment><USER12> Some of the most amazing digital content is transformative, and supported by an ongoing community of people producing and transforming it. Any one individual work is "inert", but the value is in the body of work as a whole.

And none of that would be possible with DRM.

<comment><USER13> example?

<comment><USER14> See any of the works by the artist Pogo:

[https://www.youtube.com/watch?v=pAwR6w2TgxY&list=TLIfADM1J0R...](https://www.youtube.com/watch?v=pAwR6w2TgxY&list=TLIfADM1J0RJOCLzaKkvK2tb17PWmD_4Fs)

<comment><USER15> And then notice what a tiny fraction of views his original content gets: [https://www.youtube.com/channel/UCn-K7GIs62ENvdQe6ZZk9-w](https://www.youtube.com/channel/UCn-K7GIs62ENvdQe6ZZk9-w)

Conclusion: >90% of the value fot audiences lies in the original source material rather than his enjoyable remixes of same.

</comment></comment></comment></comment></comment></comment><comment><USER16> What DRM does is makes the 'pirate' goods, the 'hacked' players, the illegitimate rips, better, more usable, more flexible, and generally superior in every way to the officially released product.

Which I'm sure is not the intention.

Say I can't copy-and-paste a section from an eBook or run it through a speech reader? Tell me I can't skip the trailers before watching the DVD I have paid for? No. Fuck you. Bullshit like that is a red rag to a bull - you just created an army of people who'll bust off your "rights management" just to show you how wrong you are, and that YOU DO NOT GET TO DECIDE how people consume the things they own.

Sorry and all. But that's how it is.

<comment><USER17> I was going to buy a Kobo to read technical documents, but then I saw they don't support non-DRM pdf. No sale.

The last e-reader I bought four years ago was cheap, with atrocious touch screen response, but it would display my PDFs. After it broke, I just went back to my laptop. If someone would like to recommend something, I'd appreciate it. Something with the physical traits of an e-ink Kindle without the 1984 ecosystem.

<comment><USER18> I know my Dad got the GCC manual on his Kindle, he never registered the thing. As he is not a big fan of DRM.

Although the tool he uses isn't the most usable thing.

</comment></comment></comment><comment><USER19> This is very true, but also preaching to the choir. Probably most of an audience like HN already knows this.

The real question is what we can do to fight DRM. The only real option is to push back against the companies that promote it. For EME, the current DRM in the news, the relevant companies are Google, Microsoft and Netflix.

It's all well and good to talk about how DRM is pointless. Of course it is pointless. But unless we actually push back against those companies, DRM will continue to win.

<comment><USER20> > The real question is what we can do to fight DRM.

The best way to hit them is to hit them in the wallet, which means pirating on principle. Don't buy DVDs or BluRays, cancel cable, Netflix etc., learn about alternatives like TPB and PopcornTime and teach others about them. Every cent you spend for Hollywood's products is used to sponsor DRM, and things like the DMCA on a political level, so make sure they don't get a single cent from you.

While this may sound like a David-against-Goliath effort, keep in mind that pirating content has an intrinsic value proposition (maximum usability, zero cost, no censorship) which can never be exceeded by DRM offerings. So it isn't difficult to convince anyone to pirate instead of buying, you just have to show them how ;)

What we must get rid of is the (content-industry sponsored) notion that piracy is somehow immoral. It isn't. Trying to take away the rights of users just because they don't go along well with a specific business model is.

(note: of course all this only applies to DRM content, and companies advocating it. Non-DRM offerings like gog.com, independent artists etc. are fine and should be paid for if used).

<comment><USER21> > The real question is what we can do to fight DRM.

> Of course all this only applies to DRM content, and companies advocating it. > Non-DRM offerings like gog.com, independent artists etc. are fine and should > be paid for if used

What else? The root of the problem seems to be that major media companies are demanding DRM. For most of media that most people want to consume, there are no DRM-free alternatives, except pirating, which does carry some risks. It's hard to recommend pirating as a solution to the average media consumer, since the legal consequences _can_ be bankrupting, and avoiding those risks ("just set up an anonymous VPN for your torrents!") requires technical know-how that most don't have.

I think we need more thought about the following:

1\. How can we convince the producers of popular media to release it without DRM? Many will say it can't happen without a serious change in the structure of the media business; but there might be some room for solutions here, like Mozilla's "watermarking" idea, that give these companies most of what they're looking for (more control over distribution and remedies for infringement) without making the copies of this media basically unusable from a consumer's perspective. Legal remedies were enough for these companies before the rise of digital media and the Internet; could publishers be convinced to abandon DRM if a better legal framework for distribution and infringement was available?

2\. How can we get people to like, and pay for, media that is produced and released without DRM by independent publishers? As others have pointed out, these publishers generally already know that DRM is not in their interest. But they have two problems: it's hard for people to find their stuff, and they don't have the capital to compete with large media companies on production value. What can be done to lower the barriers here? New tools that make indexing and searching for DRM-free media easy for consumers? New tools that make producing and marketing high-quality media easy for publishers? What should those look like?

<comment><USER19> > The root of the problem seems to be that major media companies are demanding > DRM.

That, combined with the fact that users have not actually opposed DRM. On places like HN there is a strong anti-DRM sentiment, but the average person just doesn't care or isn't willing to make any sacrifices to fight it.

So the problem is a combination of the media companies requiring DRM, and consumers buying DRM'ed content and using DRM-enabled browsers. We can't directly influence the former, but we could certainly affect the latter.

</comment></comment></comment></comment><comment><USER22> Drm is primarily used in practice to do market segmentation. The rest of this comment is not available in your region.

<comment><USER18> I like our 10+ year old Pioneer DVD player that ignores the region. Unfortunately the the region-free devices have become a rarity these days.

</comment></comment><comment><USER23> Nothing makes me want to turn pirate quite like being forced to sit through unskippable anti-piracy ads preceding a movie I've paid for.

<comment><USER24> If you press stop a few times, then play. This normally skips directly to the menu (works for me).

<comment><USER25> Looks like you found a bug with your DVD player. Make sure NOT to report it.

<comment><USER24> Actually I learned about this from an askreddit thread a while back. I tried it, and it worked. Skipped to the menu when the menu button wouldn't.

</comment></comment></comment></comment><comment><USER26> "Sure, the DRM systems have all been broken [...]"

I have worked with MS PlayReady DRM (which is the "latest" one from Microsoft, the one used by Netflix) for some time and never stumbled upon any cracks. Not because it's impossible or even difficult but probably just because nobody cares about cracking Netflix (which brings PlayReady it's main source of "users")... Once you pay, you can watch as much as you like, why bother. Netflix made it extremely simple and accessible. (Yes some features like multicasting might be missing but it's still way better than Plesk or PopcornTime. For now at least... The main problem is clearly that the Film industry make it too difficult to have all content in one place). There is plenty of other "easier" sources (alternative VOD offerings with already cracked/worse protections, Blu-rays) to get the copyrighted material from for underground channels.

I am sure other DRM systems have a clear log for the same reason: No major incentive to crack them.

</comment><comment><USER27> Previous discussion (421 days ago, 22 comments):

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

</comment><comment><USER4> Of course not. Reasons for demanding DRM can be different, but none of them are valid or good. As discussed here: [https://news.ycombinator.com/item?id=7745009](https://news.ycombinator.com/item?id=7745009) common reasons are:

1\. Monopolistic lock-in. DRM is more than often used to control the market. It happened with Apple in the past, and was one of the key reasons that music publishers realized that being DRM-free is actually better for them.

This reason also includes DRM derivatives like DMCA-1201 and the like. It's all about control (over the markets, over users and etc.).

2\. Covering one's incompetence. DRM is used to justify failing sales (i.e. when execs are questioned about why the product performs poorly, they say "Pirates! But worry not - we put more DRM in place").

3\. Ignorance and / or stupidity (many execs have no clue and might believe that DRM actually provides some benefit). This type can be called DRM Lysenkoism.

</comment><comment><USER28> This rings quite true to me. I had protracted arguments about the limitations the BBC wanted to impose on TVs supporting Freeview HD in the UK (copy protection flags and only encrypted local streaming) despite the fact that the content itself was being broadcast at high power across the country completely unencrypted. What is it the CE companies need to license? The Huffman compression tables for the guide data which in the license agreement you have to warrant that they are trade secrets and that you won't reveal them. I did send the BBC a link to the MythTV source code which contains this trade secret. If you work out who I was working for during this discussion don't worry, the content arm of the company was (at least according to the BBC pressuring them the other way as a supplier).

And the end result? We caved for the shiny Freeview HD sticker.

</comment><comment><USER29> I do not think there is any problem with DRM. It is pretty much right of the content providers to chose how they will distribute their content.

What really gets my gears grinding is when I see an open source browser like Firefox is forced against their wishes to implement it because DRM has somehow reached a standard.

The job of W3C standards is to protect the interests of ordinary web users and not content providers.

</comment><comment><USER30> Interesting. I was unaware of this.

But if this is the case, why is there such a push to put DRM in HTML? Browsers aren't DVD players. Users are free to use software like ABP to circumvent any features like "unskippable ads" mentioned in the post. Pressure on browser makers seems much less valuable than pressure on device makers.

<comment><USER31> If AdBlock becomes a big enough problem, publishers will create "unskippable" ads with current technology. HTML doesn't really change that. It's always been a cat and mouse with ad blockers.

<comment><USER32> It's possible to build a website that renders itself unusable if an ad fails to load, to prevent browsers with AdBlock enabled from viewing your content. The problem with this approach is that if a single ad fails to load _for any reason_ , the entire website goes down. Do you trust your ad network to have 100% uptime?

<comment><USER33> Do you think that the likes of Disney and Sony care? If the ad network is down, they're not getting paid for that view, anyway.

<comment><USER32> Even if we assume that each page only loads a single ad, which either succeeds or fails, the perception of a site being unreliable hurts the company running it. Household names like Disney and Sony might be able to live with that, but they'll still do everything possible to avoid downtime.

</comment></comment></comment></comment></comment><comment><USER34> There is zero evidence of this claim in this article.

DRM is, in fact, to prevent unauthorized usage and copies. In fact, even some of the examples in this article are exactly that.

What is more important is that DRM doesn't have to be perfect, it just has to make unauthorized usage very inconvenient - enough that a few dollars is worth the cost for most people.

<comment><USER4> What's more important, DRM should never be used. Because it never makes pirating inconvenient to the 99.99...9% of the pirates. The 0.00...1% which go through the trouble of breaking that DRM redistribute DRM-free copy to all other pirates, who never deal with that DRM altogether.

What it makes inconvenient is the usage of that service / product for users who actually pay for it. It's a brain dead idea.

</comment></comment><comment><USER35> Pretty much this. The people who will pirate are going to pirate regardless, you could offer all your movies DRM free for $1 each and some people will still pirate them.

So the purpose of DRM is to make maximum revenue from those who won't pirate, for example by charging more for group viewings of the movie or viewing on multiple devices.

<comment><USER36> It's important to identify that the price of a piece of media is not the only cost associated with it.

If it takes me 30 minutes round trip to get to a store, 15 minutes in a store. Let's say an hour total. Blockbuster went bankrupt because that expense was too excessive for people. You could rent from Netflix for a monthly fee and the DVDs got delivered to you, then the movies got streamed to you instantly. When I can sit on my arse and take 30 seconds to put on a movie, there's a massive 'cost' difference between a $1 DVD rental and a $8 monthly subscription, and the monthly subscription is extremely cheap.

Our world has entire industries worth billions of dollars around convenience and it's getting bigger every day. DRM is purposefully inconvenient, which means it's constantly on a losing battle.

However the question we have to ask is, is this losing battle a necessary evil to ensure the production of content?

I'm a writer in my free time. I do it for fun, and I might make money from it. A $100mil budget movie isn't going to be made for fun and the chance of making some money from it.

<comment><USER9> I don't have much disposable income so rarely buy movies that aren't on DVD in the bargain bin at the supermarket. However, recently I wanted [an excerpt of] a specific Disney movie - so I assumed, it's the 21st Century and all - that I could go to the Disney website, pay and download the movie and watch it (as you can skip the first two steps and do the rest elsewhere).

It was a genuine surprise to find that wasn't possible. What was more of a surprise was that I couldn't find anywhere to buy it, not Amazon, not the supermarket websites, it was almost impossible to find referenced on a Disney site.

That movie was of course available online - just not somewhere that I could directly pay for it.

It's definitely not about serving the content creators when you get to this situation.

<comment><USER37> This could be a special case, since Disney has an official, named policy to make titles available for only limited periods of time, then they're put on moratorium for some years: [https://en.wikipedia.org/wiki/Disney_Vault](https://en.wikipedia.org/wiki/Disney_Vault)

They're also the content creator, so....

<comment><USER9> Disney employees are the content creators, no? You may find that point moot, I find it highly pertinent. People create artistic works. Copyright is supposedly - in it's base form - for those people (and the public) and not primarily intended to ensure shareholders get rich.

<comment><USER15> You don't just stick a bunch of creative people in a room and get a movie, any more than you put 100 people in a field and get a factory. Yes, it's a creative endeavor, but (speaking as someone who works in film)95% of the input consists of grunt work, spread across technical specialties from accounting to schlepping things into and out of trucks. Even the writing, acting, directing involves tons of grunt work. Indeed, the whole skill of film/TV work is to aggregate the work of hundreds or thousands of people so as to make present an illusion of a few people engaging in (mostly) effortless natural behavior.

Putting on my screenwriter hat (which is maybe 10% of my activity in this field), I very much want the option of selling my work to a producer for cash money. Money up front pays the bills. I have ownership interests in a few films too, but it isn't worth anything. since most films don't make any money this is sadly unexceptional. It's a brutal market, but also extremely egalitarian.

<comment><USER9> I'm not sure what your point is here.

Take a potter. His visual style, assuming it is distinct, bears copyright protection. Rightly so, then an upstart can't legally come in and reproduce his work and steal away his customers without having put in the work needed to create the design initially. But the copyright in that work doesn't, and shouldn't, bear any sense of protection towards the jobs of those that quarry the clay, or the steel-workers that make the steal used in the potter's tools.

An entire network rests on the potters creative work, but the copyright is there to protect only the creative portion. If the potter is producing work without a distinct style then there will be no effective copyright in it's visual appearance and still all the others will get paid _if_ there is demand for the product.

So?

<comment><USER15> I'm not sure what _your_ point is. You say the creativity resides with the employees who make the film, but my point is that the creation is only possible through their aggregated efforts and there is nothing wrong with pooling their collective effort on a for-hire basis and assigning the copyright for the result to a commercial entity with shareholders.

Your pottery analogy is broken because it doesn't reflect how a film is put together. Imagine, rather, a giant sculpture that requires the collective efforts of 100 potters.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER38> Speaking of controlling distribution channels, does anyone know how I can share this post outside of Google+, or add it to Pocket so that I can reread in more detail later?

<comment><USER39> There's no DRM on that page, it's just a Web page. Just copy and paste the content. "Save as HTML". Print to PDF. Whatever floats your boat. :-)

</comment></comment><comment><USER40> _The purpose of DRM is to give content providers leverage against creators of playback devices._

One thing that's always seemed odd to me is that the DRM use case is presented as a battle with "content providers" on one side and everyone else on the other, but aren't these content providers also users? Do they also consume DRM'd content, and if so, are they perfectly fine with the restrictions? Do those who devise DRM schemes not realise that they may also be the ones who will have these schemes imposed on them?

</comment><comment><USER41> Why isn't screen capture software more widely used? It seems like a dead simple screen capture suite could make all these DRM worries go away.

<comment><USER42> For pirating DRMed material? Probably because every major DRM scheme has been compromised, so it's easier to just grab the original stream.

If you're talking about in relation to the article, how would screen capture software let you skip ads? I could see it used for multiplexing, but playback on multiple devices would be tricky unless you ripped the content first.

</comment></comment><comment><USER43> >Without DRM, you take the DVD and stick it into a DVD player that ignores "unskippable" labels, and jump straight to the movie.

>With DRM, there is no licensed player that can do this

So, enforcing some rules (via DRM) to the player manufacturing, content provider makes my experience worse _as a consumer_.

Again, I am a consumer, what is the advantages of DRM for me? So manufacturer must enforce me watching ads?

<comment><USER44> The argument would be that it is necessary to keep people paying for legit copies (ones that pay the original producer). Same as having a branch of the tax office dedicated to finding fraud, it has absolutely no direct benefit to a good taxpayer and only downsides. It's there because it's argued to be necessary to keep tax revenue at the point it should be.

The first part is what's being argued about, I don't think anyone is arguing it has a direct benefit to consumers.

</comment></comment><comment><USER45> I have come to find the whole circular debate about DRM particularly boring. So much so, that I won't bother to read the whole article or comments here.

Yes, DRM is always broken - eventually, but yes it does work - sort of. It is a technology and legal arms race in a constantly changing landscape.

> DRM's purpose is to give content providers control over software and > hardware providers, and it is satisfying that purpose well.

No not really. DRM's purpose is to give content providers a return on their investment, everything else is just a consequence of trying to achieve this.

DRM isn't going to go away as along as people want to be paid for creating content, and other people want to get that content without paying for it.

Sadly it is probably true that it is always the biggest players that get the biggest slice of the pie. Irritatingly the open source community refuse to engage in this battle and support the small player. As a consequence the smaller content providers have no choice but to hook up with the big commercial channels who decide how big a cut they want.

</comment><comment><USER46> So I read the page, but find the argument VERY unconvincing. If that _really_ was the goal of DRM, then you wouldn't need the really complicated schemes used. You just come up with a simple scheme that legally requires licensing and always use that. No need to keep switching schemes, adding more safeguards, and so forth.

The content creators still get the same leverage over the legal distribution channels because they can still be forced to follow the rules outlined in the examples. That and it lowers your R&D costs on making complicated DRM. If the article is true, what have I missed?

</comment><comment><USER47> While everything that is said in the article is true, the end result is that the control that the distributers want to have is circumvented by pirating. Therefore, by continuing to try and control the content more, what is actually being done is increasing the demand for pirated content. I know of many people who buy content legally and then in addition acquire the pirated version to use as they please. Therefore, as that process becomes easier (lookup popcorn time to see how easy it can be), the purpose of the control becomes more meaningless.

</comment><comment><USER48> Can someone explain to me how businesses can provide a subscription model without DRM?

I refuse to purchase anything with DRM, but I don't give a shit if it's a rental or subscription service.

</comment><comment><USER49> If one wants a parallel to social-politial battles around the means of production in recent centuries, it's an attempt by licensing companies to abolish ownership of reproductions of works of art -- and to establish a monopoly on the means of distribution.

My perception is that few people understand or care -- and the US political elite mostly acquiesces because it has been (or wants to be) bought by those aspiring monopolists.

</comment><comment><USER50> Eh, at the end of the day, there are thousands of ways to go around it, so why implement it in the first place?

People pay for things that are good, easy to pay for, are appropriately priced, and not a burden or expense more than they see it worth (has to deal with pricing and roadblocks). DRM, and poor delivery services are usually those roadblocks.

</comment><comment><USER51> > Had CDs been encrypted, iPods would not have been able to read their > content, because the content providers would have been able to use their DRM > contracts as leverage to prevent it.

What? Why? Nothing would have prevented people from recording the playback of an encrypted CD and putting that on their iPod.

<comment><USER52> Sure it would. Apple would have not been keen to develop a technology that relied on illegal copying to start with.

Copying music CD's was a grey area, but it's a grey area that you can do in a semi-legal capacity. There was no reason legally that Apple couldn't create a CD ripping process in iTunes. It's the user's responsibility to not use it illegally.

However, if CDs were encrypted, Apple would get in trouble if they broke that encryption to let you copy CDs to your iPad. You could find some more shady 3rd party tools that would work around it, but Apple's whole model is that it's easy to use and that it just works. Having to download an illegal 3rd party tool to rip your CDs and put them on your iPod isn't something they would do.

Similarly, iPods have had video playback for ages now, but there is no method to copy DVD video to your iPod through Apple's tools. You can pop in a CD and it asks you if you want to import it into your library. You pop in a DVD and it just asks if you want to play, no option to import. If they let you import it, they would be breaking laws. The brand is established, and was established by the simple copying of music, so it's not important that it can't copy video as easily. But if it couldn't copy music easily, would it have even been a thing?

<comment><USER53> Further to your point, it has historically been hard to find any commercial software that converts a DVD to a digital file (so it's not just Apple).

The reason for this is that under US law (DMCA I believe) it is illegal to circumvent DRM, a DVD has a very basic DRM scheme. So, commercial companies avoided this area. While any programmers that saw a market opportunity and built something soon wound up removing the key DVD ripping feature of their software, likely a result from receiving a kind letter from a MPAA lawyer.

<comment><USER54> And that's why we have other companies around the world have software for that; that's why we have other types of legislations too: to circunvent DRM schemes.

</comment></comment></comment></comment><comment><USER55> This argument is completely ridiculous.

Control of _how_ a person consumes content that they legally own is incidental. If a company can force you to buy content rather than pirating, they will make a lot more money. Controlling the exact manner in which you consume that content is the icing on the cake.

<comment><USER56> _Controlling the exact manner in which you consume that content is the icing on the cake._

I'd rather put that as "attempting to control the exact manner in which you consume that content is how you lose valuable business".

But that's just me.

</comment></comment><comment><USER57> Steam would have been a great example for his article. Steam does nothing to prevent you from copying games. In fact, some games on steam can be bought without DRM from other sources. Steam just forces you to use Steam or buy your games again.

</comment><comment><USER58> TL;DR

"DRM's purpose is to give content providers control over software and hardware providers, and it is satisfying that purpose well."

</comment><comment><USER59> dammit, reading G+ on a small 720p laptop screen is absolute hell.

</comment><comment><USER60> Anyone who commits double speak is not worthy of trust.

</comment><comment><USER61> Yes and David Sterling is clearly not a racist.

</comment><comment><USER60> Good thing it's easier than ever DIY.

</comment><comment><USER62> Needs a [2013] label in the title.

<comment><USER63> Good catch. Done.

</comment></comment><comment><USER64> and that makes perfect sense!

</comment><comment><USER65> I can still make "unauthorized" copies of DRM'ed media and play those back on non-drm devices. E.g. record sound from a locked-down music player using a microphone, convert that to MP3 and listen to it using a normal MP3 player. So it's not 100% bulletproof.

<comment><USER66> I'm going to guess you didn't read the post

<comment><USER65> I'm going to guess you didn't understand my point.

Being able to create drm-free copies weakens the power content producers hope to achieve. If I can create a drm-free copy of a movie, I can stream it to any device I want, at no extra charge. I'll be able to watch the movie on my tv, phone, tablet, whatever, and they won't make a dime from it.</comment></comment></comment>


Show HN: ktmm (Keep That Mouse Moving!) - <AUTHOR> https://github.com/ao/ktmm <comment><USER2> There's a hardware device doing the same.

The moment it is plugged in, a udev rule will immediately lock the screen:

[https://cgit.freedesktop.org/systemd/systemd/commit/?id=7212...](https://cgit.freedesktop.org/systemd/systemd/commit/?id=7212a8a99ee863698f5feaa00abb4b99f3996a1a)

That's IMHO the right approach. If you want to keep your system from entering standby, just use an inhibition lock:

[https://www.freedesktop.org/software/systemd/man/systemd- inh...](https://www.freedesktop.org/software/systemd/man/systemd-inhibit.html)

</comment><comment><USER3> Nice, a lot of people at my work use [http://www.zhornsoftware.co.uk/caffeine/](http://www.zhornsoftware.co.uk/caffeine/) for this same purpose.</comment>


Linus Torvalds' Greatest Invention (Git is Awesome) - <AUTHOR> http://perl.plover.com/yak/git/

<comment><USER2> these slides are fantastic. sent to everyone i know.</comment>


Association of Autonomous Astronauts - <AUTHOR> https://en.wikipedia.org/wiki/Association_of_Autonomous_Astronauts <comment><USER2> Okay, I'm in. Funny, I've been active in rocketry (NewSpace and amateur experimental) the entire time they've been around and this is the first time hearing about them. I guess they're not building much in the way of hardware yet. Still, it's been over 20 years, surely they'd have built something significant in all that time.

Edit: researching the group a bit, it seems they are generally more int performance art than actually building hardware.</comment>


Chinese students use IV drips while test cramming - <AUTHOR> http://behindthewall.msnbc.msn.com/_news/2012/05/07/11580943-chinese-students-use-iv-drips-while-test-cramming

<comment><USER2> Wow, this is a completely new level of fucked up. As someone who's just come out of a week with an IV drip in his arm, jeez... I'm getting over cancer, these guys are doing this to cram for an examination.

Just fucked up.

</comment><comment><AUTHOR> pictures and more here [http://offbeatchina.com/eye-opening-senior-high- school-class...](http://offbeatchina.com/eye-opening-senior-high-school- classroom-full-of-iv-drip-bottles-in-china)</comment>


Liberate my controller - Rails - <AUTHOR> http://blog.astrails.com/2009/10/27/liberate-my-controller

<comment><USER2> I ran into the same problem just today: need to generate some urls within a library component and for that I need to give it the controller (which has url_for and the other helpers). The funny thing is, I am new to rails and was thinking how to do this more cleanly and how the good guys do this (anyone?), now this guy basically says go screw yourself, purists, I'll have it global. I'll stay with my hacky solution too I think.

<comment><USER3> The problem is that .to_xml doesn't belong in the model any more than .to_html would belong there. This is a presentation of data for external consumption, hence belonging in the 'v' layer of MVC.

</comment></comment><comment><USER4> I would like to see ActiveRecord and ActiveResource use URLs like this in place of primary keys and for pagination.</comment>


Designing a Tree Diff Algorithm Using Dynamic Programming and A* - <AUTHOR> http://thume.ca/2017/06/17/tree-diffing/ <comment><USER2> I believe this article may have produced the same algorithm as [1] and [2] but applied to tree diffs [3] instead of string diffs.

In particular, Myers' algorithm [2] is generally considered the best general- purpose string diff today, and I bet he was doing A* search without realizing it. I would be very curious to find out if you could describe his algorithm as an A* search.

A* search brought his algorithm's runtime down from O(N^2) to O(N•diffsize). Tree diffs are often O(N^3) or O(N^2•log(N)), and this A* search seems to have brought that down to O(N•log(N)•diffsize). The A* search seems to reduce the extra O(N or N^2) to O(diffsize)!

I'm excited by the general use of A* to prune the dynamic programming search space. We might be onto a more general understanding of diffing.

[1] [https://www.google.com/patents/US7313555](https://www.google.com/patents/US7313555)

[2] [http://www.xmailserver.org/diff2.pdf](http://www.xmailserver.org/diff2.pdf)

[3] [http://www.sciencedirect.com/science/article/pii/S0304397505...](http://www.sciencedirect.com/science/article/pii/S0304397505000174)

</comment><comment><USER3> Interesting problem, and useful for creating semantically meaningful diffs, i.e. using entities of the programming language. A different approach to that is implemented in gumtree [1,2].

[1] Fine-grained and Accurate Source Code Differencing [https://hal.archives- ouvertes.fr/hal-01054552/document](https://hal.archives- ouvertes.fr/hal-01054552/document)

[2] [https://github.com/GumTreeDiff/gumtree](https://github.com/GumTreeDiff/gumtree)

</comment><comment><USER4> Pretty nice writeup, congrats. Tree diffing is super fun to code! (I've used it to animate between two different shader programs...) Applying A* is a great idea.

Not sure if this will help anyone interested, but edit operations on trees have a couple more categories besides inserts & deletes that I think makes it hard to think about as a grid the same way you can with strings. I spent a lot of time boiling down the math notation in a paper on tree edit distance to a single diagram that visualizes the edit operations: [https://www.dropbox.com/s/iubwg113mm7ey6q/treeEditDist.png?d...](https://www.dropbox.com/s/iubwg113mm7ey6q/treeEditDist.png?dl=0)

This is a visualization of "T. Jiang, L. Wang, and K. Zhang. Alignment of trees- an alternative to tree edit. Theoretical Computer Science, 143(1):137–148, 1995."

The interesting part is the right side, comparing a forest of children to another forest of children, which happens when a node changes type, but the subnodes are identical.

Another critical piece in tree diff is whether the nodes are ordered or unordered. If you have an AST for a math expression, a "+" operation is unordered, and you may have to diff two plus nodes twice, once with the arguments swapped - which is represented on the left in my diagram.

ASTs with 3+ argument nodes also confound visualizing the edit search space on a grid.

After having implemented tree diff using careful dynamic programming with backtracking ([https://sourceforge.net/p/blot/code/HEAD/tree/trunk/lib/func...](https://sourceforge.net/p/blot/code/HEAD/tree/trunk/lib/function/align.cpp)) I came to the conclusion that memoizing would be a lot easier and have the same complexity. And you get A* for free-ish if you add the cost function and skip comparing two sub-trees that are further away than the best answer you've found so far.

</comment><comment><USER5> Similar dynamic programming idea from Zhang + Shasha 1992: [http://www.cs.nyu.edu/shasha/papers/treebook3.pdf](http://www.cs.nyu.edu/shasha/papers/treebook3.pdf)

<comment><USER4> I think this is the same Zhang with a later paper. This is the most direct mapping of edit distance from strings onto trees that I know of, and uses dynamic programming: [http://www.sciencedirect.com/science/article/pii/03043975958...](http://www.sciencedirect.com/science/article/pii/0304397595800299)

</comment></comment><comment><USER6> > When I first heard the problem, it sounded pretty easy and I thought I'd be > done within a few days, but I discovered a number of catches after starting > and it ended up taking 5 weeks

It's really refreshing to hear about this type of real world estimation error that reflects so well the problem in software of making estimates with so many unknowns.

</comment><comment><USER7> Hey you are the guy who made syntect! Great job and thanks

<comment><USER8> Wow, this is the first time I've been recognized for my obscure Rust syntax highlighting library. Glad you like it. It is one of the projects I've put the most work into, but in the rare occasions I'm recognized it's normally for contributing to Spacemacs.

</comment></comment><comment><USER9> There's also ydiff in case anyone is interested (it works well with lisp/scheme): [https://github.com/JexCheng/ydiff](https://github.com/JexCheng/ydiff)

<comment><USER8> Neat, it looks similar in spirit to the original dynamic programming diff algorithm I used, but it doesn't have the A* acceleration so I imagine it doesn't scale to large files. Probably nice for most cases though.

</comment></comment><comment><USER10> Some of you in here reading this might like this new game:

[https://github.com/BusFactor1Inc/explain](https://github.com/BusFactor1Inc/explain)

It's about exploring language spaces. Syntax free.

And metaprogramming.

</comment><comment><USER11> Great post, thank you!

But why is the config represented as a sexpr and not, say, YAML?

<comment><USER8> Expanding on the other comment, the answer is that Jane Street uses OCaml, where they have to build many of the libraries themselves. They've built good libraries for s-expressions but not for YAML.

They've also built an ecosystem of tools for s-expressions and switching to YAML would discard that ecosystem without significant benefits. This is self- reinforcing, for example my tool uses s-expressions because everyone does, and it added to the ecosystem that makes s-expressions the right choice. Almost everyone there uses Emacs so s-expressions are equal to or easier to edit than YAML.

Kinda the same reasons that for config files Ruby people mostly use YAML, JS people mostly use JSON and Rust people mostly use TOML.

</comment></comment><comment><USER12> What's the state of the art of progarm-diffing (i.e based on LLVM IR)?

<comment><USER13> What kind of differences are you looking for? And equally important, what kind of differences do you want to ignore?

Is

      if(condition) { a(); } else { b(); }

meaningfully different from

      if(!condition) { b(); } else { a(); }

or not?

Depending on your needs, you could just diff a textual representation using a string diff algorithm, or diff the control flow graph using a graph diff algorithm (but that might require solving graph isomorphism problems, which are hard (potentially NP-hard)).

<comment><USER12> Can't I check whether every instruction in every BasicBlock of the CFG is equal?

<comment><USER13> Sure, but how do you determine which basic blocks correspond to each other, when there have been changes to parts of the graph?

<comment><USER12> Damn. Is this an unsolved problem in CS?

<comment><USER14> Graph isomorphism is a known NP-hard problem, but the vast majority of subgraphs in programs are reducible, so I expect that aligning two control flow graphs admits a good heuristic solution.

<comment><USER13> Actually, the complexity of Graph Isomorphism in general is still unknown, and any definite classification would have interesting consequences. [https://en.wikipedia.org/wiki/Graph_isomorphism_problem](https://en.wikipedia.org/wiki/Graph_isomorphism_problem)

I agree though that control flow graphs are probably easier to align than completely random graphs, although there might be pathological cases e.g. if you have lots of identical subgraphs like _if err != nil { return nil, err }_.</comment></comment></comment></comment></comment></comment></comment>


Apple Surveying iPhone Developers' Happiness With The App Store - <AUTHOR> http://techcrunch.com/2010/02/08/apple-app-store-survey/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Techcrunch+%28TechCrunch%29&utm_content=Google+Reader <comment><USER2> I think I laid out a pretty convincing case in my comments in the survey for how the app store brokenness has affected me personally.

Summary: I've experienced two GV-scenarios, where a legitimate app was rejected not because of crashes, private APIs, content, but because Apple didn't want it in the store. As a one-man shop, I can't afford to sink time in to projects like that, and as a result, I've stopped developing for myself (I still do some contract work).

Apple's communication to me has been totally abysmal. Once they've rejected an app simply refusing to tell me why (I even have a phone #-- I guess somebody told them not to answer my calls). Another time they've given me a factually false reason (describing my app as doing something that it doesn't actually do).

I have absolutely zero confidence in app review. If it's easier for Google to rewrite GV in HTML5 than to navigate app review, how is a one-man shop supposed to do it? Clearly Apple is using the app store as a hardball negotiating tactic, not as a real sales channel. And I have no desire to get caught in the crossfire.</comment>


Why Aren't Paychecks Growing? A Burger-Joint Clause Offers a Clue - <AUTHOR> https://www.nytimes.com/2017/09/27/business/pay-growth-fast-food-hiring.html <comment><USER2> Wow! That's actually _really_ interesting! but...

It still doesn't provide for the reality that most large chains are fairly efficient, and optimized to begin with, resulting in most tasks being dumbed down to the point that actual last-mile labor activity is mostly unskilled.

Whether or not a worker in a fast food restaurant can foment a bidding war between two locations, operating the same brand, for his or her skills as a human resource, is negated by the fact that there isn't much skill beyond being a warm body. All the hard work of a fast food franchise is performed in the supply chain, by accomplishing delivery of a uniform meal across wide areas of service.

Diners, Chinese take-out and other varieties of greasy spoon don't have this problem, because there isn't anything unique about what the preparers do. The only time you see contention for personnel, is when identity and distinction separates one from another.

Rare situations such as recipe inventions, and new menu items come from innovative chefs who dream up things like the Cronut. Unless something like that is in play, this protection clause is somewhat vestigial. Most franchise agreements render such innovation impossible anyway, since deviating from branded products represents a violation of terms all its own.</comment>


Show HN: HackerNews user search engine - <AUTHOR> https://hackernews.club <comment><AUTHOR> Hello HN'ers,

I wanted an easier way to search for users of HackerNews, view their submissions and comments.

There are lots of things I wanted to include, but just wanted to get this out there to get some feedback. Would love to hear what you guys think.

Note : I think there was a similar site a few years ago called "hackernewser" \- I'm not sure what happened to it because it now gives an error. Anyway, this project was partially inspired by that.</comment>


How a Pitch would have looked like 200 years ago - <AUTHOR> http://www.youtube.com/watch?v=3cccrtv6kv0&feature=related

<comment><AUTHOR> This show is called Dragons Den and people pitch on UK TV their ideas.

<http://www.bbc.co.uk/programmes/b006vq92></comment>


Ways Your Startup Needs To Be Getting Customers - <AUTHOR> http://jasonlbaptiste.com/startups/distribution-distribution-distribution#

<comment><USER2> Another channel is franchising: TEDx, Yahoo! Japan (operated by Softbank), Yahoo! China (operated by Alibaba).

Franchising is especially important for global expansion.

</comment><comment><USER3> Great post, truly a comprehensive list of all the differing strategies commonly available to startups and establishments alike. Looking forward to "Metrics Every Startup Should Know."

</comment><comment><AUTHOR> There's probably stuff I missed and it's a basic overview too. Share other customer acquisition methods, hopefully unusual ones too that worked here.

</comment><comment><USER4> Typo: "Another method might include putting together infographics and white papers that also educate your prospective customers with education."

<comment><AUTHOR> That sounds like an awesome Bushism:

"Educate your customers with education."

Changed. Thank you.

</comment></comment><comment><USER5> When you are starting out small or if you're still testing a public beta, having discussions with your most passionate (or frustrated) customers can often end up turning others into brand advocates. Show that you care and others will be impressed with your product regardless off the temporary shortcomings.

</comment><comment><USER2> Yet another channel is to recruit evangelists from your most passionate users. Microsoft did a great job with their Microsoft MVP program.

<http://mvp.support.microsoft.com/>

</comment><comment><USER6> I still love this quote from the article:

 _Another more grandiose way of going about things is throwing your own conference. Alain from Fair Software did this with Founder's Conference_

Especially the "grandiose" part :-)

</comment><comment><USER2> And another one: flyers, posters, t-shirts and souvenirs

</comment><comment><USER7> Item 1 is public relations? Yeah, probably not.</comment>


Cyborg Unplug detects and kicks devices from wireless networks - <AUTHOR> https://plugunplug.net/

<comment><USER2> They seem to contradict their own statement of purpose in their FAQ. First, they imply that the primary use would be for your own wireless network:

> "It is perfectly legal to block any device you choose from a wireless > network you own and/or administer. "

...but then change gears and imply that the real use is to plug it in at coffee shops and the like:

> "Cyborg Unplug isn't designed for use in those cases where there is already > strict control over who uses the local wireless network. Rather, it's for > those with networks used by many people (school, office, library, bar, cafe) > that either give out the password or provide an open network."

As much as I like privacy, this seems less focused on personal protection and more on imposing your own will on other people's public networks because of your dislike for other people's taste in devices.

<comment><USER3> I read that as, this is not for network owners who already require authentication to access their networks, but for networks owners who run open APs.

I don't see the implication that this is for non-owners.

<comment><USER2> That thought did occur to me -- but it seems like that could be better achieved simply by reconfiguring your AP as opposed to introducing a new device entirely.

<comment><USER3> An AP won't have a checkbox to kick out a Google Glass device, nor will it auto-update the list of such devices.

Essentially, this is a plug-and-play solution to the problem of:

(1) having to learn about what distinguishes these devices (when most AP owners don't know what a MAC is)

(2) having to understand if and how their AP allows to ban those devices (I'm assuming they ban based on a MAC prefix, which many APs won't allow you to ban, only full addresses) and

(3) keep up to date with new devices.

There is plenty of money to be made from people who have more money than time and interest to learn how to solve these small problems.

</comment></comment></comment></comment><comment><USER4> This just blocks MAC address OUI's, which are easily spoofed. And it looks like it only applies to open networks. There's virtually no real use case.

</comment><comment><USER5> I don't recommend buying this. Invest time into understanding and securing your local network, and hire capable admins if you manage an office/institution.

Even they note the device is useless on networks with tight security, leaving the "all out" mode it's only viable purpose, and I can't imagine blocking (targeted de-auth attacking) devices you don't own on a network you don't manage being legal in _any_ jurisdiction.

The reasoning behind blocking certain spy-like wifi devices is in my opinion flawed. You simply cannot reach the result marketed here without jamming cellphones as well, so in reality how is this any different, more appropriate or more legal? It's not.

Seems like some people are absolutely desperate to make the cheap Chinese routers + openWRT combo a profitable product. Someone has a stock they need to burn? From a previous failed attempt maybe?

</comment><comment><USER6> Use case seems somewhat flawed..

"HI THERE! IM A HOVERING DRONE, SENT TO SPY ON YOU - CAN I CONNECT TO YOUR INTERNETS?"

<comment><USER7> OK, YOU BLOCKED MY WIFI, I'LL HAVE TO DELIVER THE DATA ON A MEMORY STICK. DO YOU HAVE A SPARE SOCKET WHERE I CAN RECHARGE TO FLY BACK TO MY OVERLORDS ?"

<comment><USER8> Because they can afford an autonomous drone, but can't spring for a 15 gram cellular data module? [https://shop- america.u-blox.com/en/usd/3~211~AMERICAS/Cellul...](https://shop- america.u-blox.com/en/usd/3~211~AMERICAS/Cellular-modules/UMTS- HSPA-%28WCDMA%29/LISA-U2-Series) :)

</comment></comment></comment><comment><USER9> I wonder how long before they (or a Business using their product) get a chat from the FCC.

[http://fortune.com/2014/10/03/marriott-settles-complaint- tha...](http://fortune.com/2014/10/03/marriott-settles-complaint-that-it- blocked-guest-wi-fi-hotspots/)

<comment><USER3> That's a different situation, though; Marriott was blocking people from accessing _other_ networks, not their own.

</comment></comment><comment><USER10> This seems like it would be much easier as a feature on your router/access point.

Their description suggests that it's just using a blacklist of MAC addresses so it would be pretty easy to add to something like OpenWRT or a captive portal.

<comment><USER3> For that, you'd need to replace your current router(s)/AP(s), which is configured by the kid down the block which is now at university and can't help you configure the new one, or by the ISP that blocks your access, or by the franchise IT people who administer it centrally, etc.

This is the kind of stuff that allows "muggles" to do stuff without having to be bothered calling an IT person. I'm not a fan (I can foresee many wasted hours of IT professionals trying to debug a network that's "working funny" because the owner plugged one of these without telling anyone), but I can see it being popular among small business owners.

</comment></comment><comment><USER11> There is a lot of solutions to save tour devices from wireless networks like Secure VPN, for example</comment>


Shoes Made from Car Tires - <AUTHOR> https://www.youtube.com/watch?v=exK0DaTWng4 <comment><USER2> i used to have a pair of huaraches, but only the sole was from car tires.</comment>


A few Wi-Fi transmitters and your house becomes a coprocessor - <AUTHOR> https://arstechnica.com/science/2018/04/researchers-show-how-to-turn-your-bedroom-into-a-computer/ <comment><USER2> Tangent: What is the term for these sorts of introductions?:

> In computing, we have pretty much come to accept the idea that smaller is > better. The smaller the features on a chip, the more transistors we can > place, the more computation can be done.

This doesn't actually help the reader understand the contents of the article. At best, it tries to make the reader care about the article by drawing a vacuous comparison to a generic piece of conventional wisdom.

There's a similar thing going on when I try to Google for recommendations/reviews for, say, an exercise app. Very often, the article will begin with just absolutely useless words like

> Research shows that people who exercise are happier and healthier. But this > fast-paced modern life doesn't always make it easy! There's just so many > things to get done. How can we make sure we're exercising as efficiently as > possible? Workout apps! But which ones? Let's take a look at some of the > different workout apps available in the app store.

Is this sort of filler material being added because writers are getting paid by the word (honest question), or is it actually demanded by the editors of the websites because it attracts more readers? Or is it some sort of SEO thing?

Just trying to understand this phenomenon.

<comment><USER3> Perhaps the thesis, antithesis, synthesis triad? Also known as the Hegelian triad.

For the linked article, thesis = "In computing, we have pretty much come to accept the idea that smaller is better." Antithesis = "Researchers are proposing an idea to make your computer bigger." Synthesis = "They want to turn your entire house into a co-processor."

I've seen this and similar story templates show up in articles and books on writing, especially related to writing for a mass audience. They are supposed to produce narrative tension and improve reader engagement. Results vary.

[https://en.wikipedia.org/wiki/Thesis,_antithesis,_synthesis](https://en.wikipedia.org/wiki/Thesis,_antithesis,_synthesis)

<comment><USER2> Thanks, that's useful.

</comment></comment></comment><comment><USER4> I'm not a physicist like the Ars writer, but I always kinda though that computation requires energy consumption and non-linear elements to interact with a signal. The only energy source in this experiment are the Wifi transmitters and I don't see any nonlinear elements.

The paper abstract seems to define 'computation' as performing a Fourier transform like an optical lens (I'm imagining a prism separating the wavelengths). It also says "We can exploit the linearity of the computation operation Y = GX in which the entries of Y are independent from each other."

So I don't see how this meets any useful definition of "coprocessor". Can you use it to perform a NAND operation?

<comment><USER5> You have to be careful about what you mean by "linear"—linear programs are P-complete, and all binary operations are linear over F_2 (including NAND, etc), since all functions are polynomials over finite fields and the largest polynomial over F_2 is of degree 2-1=1. There are many linear elements which can generate arbitrary circuits and hence can (in principle!) implement any finite circuit (e.g., processor).

I do agree, though, that in this case it's unclear how the 'coprocessor' connection arises from the original statement given in the paper.

<comment><USER4> "Linear in F_EM" :-)

</comment></comment></comment><comment><USER6> This seems similar to what Artemis Networks has been working on, although they don't use the waves for computation but communication.

[https://www.artemis.com](https://www.artemis.com)

<comment><USER7> Hi, I admit that when I read your comment, I wondered what it has to do with the Ars article. In fact after thinking a bit I think you may have better understood the Arxiv article than the guy at Ars.

Indeed the point of the Arxiv article is not about doing computations, it is about Time Reversal/Wave front shaping.

The original contribution of the authors seems to be in infering the matrix to do beam forming simply from CSI in any random environment.

Citation: " _We have demonstrated experimentally that any disordered medium can be employed as reconfigurable analogue computation unit, subject to appropriate wavefront shaping_ "

<comment><USER4> > beam forming simply from CSI in any random environment

Isn't this basically holography, just using a few discrete antennae rather than an (approximately) continuous film medium?

<comment><USER7> I have a good understanding of Wavefront shaping but holography is out of my comfort area.

I DDG a bit and found that " _The difference between a hologram and a conventional photograph is that conventional photography records intensity of light while a hologram records both intensity and phase._ "

So maybe...</comment></comment></comment></comment>


XMonad 0.13 released - <AUTHOR> https://github.com/xmonad/xmonad/blob/master/CHANGES.md#013-february-10-2017 <comment><USER2> Unreal – never knew XMonad was so small. It's only 1650 lines of code!

      tedkornish : dev/xmonad @ master :: cloc src
             8 text files.
             8 unique files.
             0 files ignored.

      http://cloc.sourceforge.net v 1.64  T=0.03 s (244.6 files/s, 95612.1 lines/s)
      </comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>-
      Language                     files          blank        comment           code
      </comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>-
      Haskell                          8            446           1028           1653
      </comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>-
      SUM:                             8            446           1028           1653
      </comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>-

<comment><USER3> xmonad source itself can be small but, running xmonad consumes a lot of memory due to huge ram/space requirements of the ghc (haskell) (edit I don't remember exactly what consumed so much memory). that's why i moved to i3 wm after years of xmonad use.

<comment><USER4> Approximately how much memory would XMonad use for you?

<comment><USER5> Yeah, that comment doesn't make much sense as it stands. GHC is a compiler not a runtime. Functional languages like GHC-compiled Haskell are not known for extreme memory efficiency in all cases, but it depends entirely on the program. Unless I'm not aware of how XMonad actually runs.

<comment><USER4> Well, GHC does have a runtime, and in some way XMonad also uses the compiler at runtime because configurations are written in Haskell...

<comment><USER6> Recompilation[0] simply calls the compiler binary, though.

[0] [https://github.com/xmonad/xmonad/blob/master/src/XMonad/Core...](https://github.com/xmonad/xmonad/blob/master/src/XMonad/Core.hs#L622)

</comment></comment></comment></comment></comment></comment><comment><USER7> XMonad hits a sweet spot no other window manager does for me:

      import XMonad.Config.Mate

      main = xmonad mateConfig

and just like that I have XMonad running inside my mate desktop, without the need to manually configure a status bar for volume, wifi, keyboard input language, clock, etc.

I don't even use tiling that much as I prefer to have one app per workspace, but just having focus-follows-mouse and the option to tile if I need it is really sweet.

<comment><USER8> I do the same thing with Gnome. There's an Ubuntu PPA at ppa:gekkio/xmonad that takes care of creating a desktop session for me and then it's just a matter of adding the same thing with s/mate/gnome/ and then away I go.

</comment></comment><comment><USER9> Jekor's videos on the XMonad source code really helped me get into Haskell: [https://www.youtube.com/watch?v=63MpfyZUcrU&index=3&list=PLx...](https://www.youtube.com/watch?v=63MpfyZUcrU&index=3&list=PLxj9UAX4Em- IBXkvcC3MycLlcxyoi7v8B)

<comment><USER10> That looks very interesting. Thank you for sharing!

</comment></comment><comment><USER11> My favorite part of XMonad is XMonad.Actions.Navigation2D[0], which allows you you use direction navigation via keybinding to switch between windows. A proof that the technique for this allows you to visit any window, no matter how they are arranged is given in this paper[1].

[0]- [http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad- Actions-...](http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Actions- Navigation2D.html)

[1]- [https://web.cs.dal.ca/~nzeh/xmonad/Navigation2D.pdf](https://web.cs.dal.ca/~nzeh/xmonad/Navigation2D.pdf)

<comment><USER12> fvwm2 has this and I miss it dearly since I switched to i3 a while back. It was fantastic. I would arrange my screens in a 3x3 grid and put my most commonly used one in the center. That gave me four other screens that were only one keystroke combo away.

It's just not the same in i3. I can do meta+screen# but it's nowhere near as easy.

<comment><USER13> Why did you switch to i3? I'm an i3 user looking at other window managers.

<comment><USER12> I wanted a tiling WM.

</comment></comment></comment></comment><comment><USER14> Unfortunately, with Wayland growing, XMonad may no longer be possible[1].

[1]: [https://github.com/xmonad/xmonad/issues/38](https://github.com/xmonad/xmonad/issues/38)

<comment><USER15> Surely it will always be possible to remove wayland and put xorg back.

<comment><USER16> Yes, but at some point the applications you want to use might not support.

<comment><USER17> emacs, urxvt, and chrome? Worst case just emacs?

</comment></comment></comment></comment><comment><USER18> In the past I have tried various tiling window managers but always reverted back to xmonad. I haven't looked elsewhere for some time now.

Documentation is extraordinary and really easy to follow once I understood how to read it, years ago.

The only sore spot is monstrous GHC size, that compiler needs to get much smaller to be really good from all angles.

<comment><USER19> I switched to i3 a couple of years ago, after using XMonad for about two years. Hopefully things have improved since then, but I kept falling into Cabal hell every time I tried to make a configuration change and I got fed up. At the time I concluded that XMonad was for people who use Haskell regularly and know how to navigate its package system.

<comment><USER20> The situation may have improved now that Haskell has Stack, which has revolutionized package management there...

I'm a big fan of bspwm, though, and kwm at work on macOS.

<comment><USER21> I am now going to try KWM on my work macos

</comment></comment></comment></comment><comment><USER22> An additional joke, likely unintentional (but who knows), is that the original Monads of Leibniz, were viewed as completely independent, 'windowless', objects that only seemed to interact with one another via God's elaborate choreography, which he termed the 'pre-established harmony' of the universe.

[https://en.wikipedia.org/wiki/Pre- established_harmony](https://en.wikipedia.org/wiki/Pre-established_harmony)

XMonad of course, has windows.

And now for an actually funny joke about Leibniz:

[http://existentialcomics.com/comic/108](http://existentialcomics.com/comic/108)

</comment><comment><USER23> I'm glad to see a new release of XMonad! Two questions:

1\. Is there any way to use XMonad but keep the standard Ubuntu menu bar for access to desktop menus? This used to be possible with older Gnome desktops, but it had gotten increasingly harder in recent years.

2\. Does XMonad work well on Retina/HiDPI displays? A year or two ago, it still had lots of rough edges.

<comment><USER8> 1) I don't think it's possible to keep the standard Ubuntu menu but you can use XMonad in other desktop environments like Mate or Gnome. You'll have to do a bit of configuration but it's not bad, see my other comment.

2) I run XMonad in gnome and it mostly works without problem. The only thing I had to change was set my browser launching keybinding to run

              spawn "google-chrome --force-device-scale-factor=1.4

</comment></comment><comment><USER24> I'm a heavy user of Amethyst, the Xmonad-inspired tiling for OSX/MacOS ([https://github.com/ianyh/Amethyst](https://github.com/ianyh/Amethyst)) on my laptops.

And are disappointed when using my Ubuntu desktop of the lack of simple tiling inside Unity. In my ancient fvwm and kde days there were more options.

I don't want to change my whole windows manager to Xmonad or i3, as I try to keep my setups fairly vanilla (as I use a lot of different machines/VMs and need a quick setup), but adding an unintrusive simple tiling option would be nice.

I have tried X Tile which is ok, but crashes too often and also moves full screened windows from my 2nd monitor onto my main monitor which is annoying.

<comment><USER25> Use xmonad with them. I use Xmonad with XFCE on my office computer.

</comment></comment><comment><USER26> I used XMonad for many, many years. During these years it served me well and I really loved it. However I switched to AwesomeWM about 2 years ago and couldn't be happier. I was able to easily make Awesome behave just like xmonad for parts I cared about, so the transition was pretty painless. Top 3 reasons I switched: 1\. Multi monitor support is far better with awesome and it worked perfectly out of the box with my 3 displays. 2\. Programs that were a bit glitchy under xmonad had no such glitches under awesome. 3\. LUA configuration files make it far easier for me to customize behavior and extended it. With Xmonad's Haskell I always felt like a noob.

<comment> jon-wood In what way is multi monitor support better? In my opinion nothing comes close, I've not used anything else which considers each display an independent workspace and let's you move those workspaces between displays.

<comment><USER27> It's been years since I used AwesomeWM and haven't tried xmonad (yet).

But if I remember correctly, those are the exacts features why I liked awesomewm, independent workspaces that you can move between displays.

</comment></comment></comment><comment><USER28> Is there a good tiling manager for heavy mouse users?

I tried i3 and found the basic concept nice, but it required keyboard shortcuts en masse.

<comment><USER29> XMonad isn't too bad for mouse users but I wouldn't say there are any tiling WM that focus on using the mouse.

<comment><USER30> Yes, back when I used Xmonad I also used the mouse a lot. You can use Super+Left mouse button to move windows around and Super+Right mouse button to resize windows.

</comment></comment></comment><comment><USER31> Hallelujah the [1]missing dropdowns are fixed!

Long live the best WM ever!

[1] [https://github.com/xmonad/xmonad/issues/42](https://github.com/xmonad/xmonad/issues/42)

<comment><USER32> Wow this rabbit hole is impressive. I'll summarize to the best of my understanding (I'm no expert in X).

Basically, chrome uses an X property called _NET_WORKAREA (which is basically supposed to be a rectangle that includes all the parts of the screen that aren't the toolbars) to clip popup menus for dropdowns, so they don't draw over your taskbar or whatever.[1]

Earlier this year, they fixed a race condition so that now they listen for updates to _NET_WORKAREA changes[2], which fixed an issue where the clip area would be wrong for users who hot (un/)plugged extra monitors on relatively "standard" distros like Linux Mint. Basically, you could only see the drop downs on your primary monitor, because _NET_WORKAREA was out of date.

Once this change finally landed in stable, XMonad users noticed that now they couldn't see dropdowns on ANY monitor if they were changing workspaces and had multiple monitors. It turns out that this is because Chrome reads _NET_WORKAREA from the root window, and XMonad (unlike mainstream WMs) uses separate root windows per monitor. Now that Chrome was watching for changes, Xmonad and chrome were miscommunicating with each other about the current clip area. Chrome works around-ish this by only doing the clipping on the primary display[3] "Since that is where the 'desktop chrome' usually lives, this works ok in practice."

The workaround on the XMonad side is to just stop setting _NET_WORKAREA altogether[4], which is the same thing that i3, awesome and qtile do. Note that they had originally set this property in the first place because not having it caused Gtk and Qt malfunctions. To further complicate things, some Display Managers like LightDM set _NET_WORKAREA itself, so XMonad has to actively delete this property when it starts instead of ignoring it altogether.

Anyway, it was a pretty interesting read.

[1] [https://bugs.chromium.org/p/chromium/issues/detail?id=510079](https://bugs.chromium.org/p/chromium/issues/detail?id=510079) [2] [https://bugs.chromium.org/p/chromium/issues/detail?id=510079...](https://bugs.chromium.org/p/chromium/issues/detail?id=510079#c52) [3] [https://bugs.chromium.org/p/chromium/issues/detail?id=510079...](https://bugs.chromium.org/p/chromium/issues/detail?id=510079#c80) [4] [https://github.com/xmonad/xmonad- contrib/pull/79#issuecommen...](https://github.com/xmonad/xmonad- contrib/pull/79#issuecomment-277853703)

<comment><USER33> Separate root windows, hmm. Wonder what effect that has one security...

</comment></comment></comment><comment><USER34> There is a (recent) video from Ethan Schoonover demonstrating his config.

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

</comment><comment><USER21> XMonad is moving really fast. It was on 0.11 for quiet sometime and now it it 0.13. Love/Miss XMonad, since I use mac work. One of the reason s I want to get a Linux machine for personal use.

</comment><comment><USER10> I've been thinking of trying XMonad for a while, and looks like this is the opportune time. Anyone know if there's an easy "switch to last used window" functionality?

<comment><USER35> FWIW, I tend to use mod-z to switch to last-used _workspace_ with toggleWS, which seems to cover a lot of those cases pretty well.

</comment></comment><comment><USER36> Does anyone know of a good tiling WM for Windows?

<comment><USER19> Windows 7 has really basic tiling -- super-left and super-right will put windows in a vertical split arrangement. Windows 10 adds another split so you can have four quadrants. Nowhere near i3, but the Windows user experience is forever lagging Linux.

<comment><USER37> A similar feature can also be found on most regular non-tiling Linux WMs</comment></comment></comment>


(Some of) the best technical talks of 2018, ranked algorithmically - <AUTHOR> https://techyaks.com/all-all-tytop.html <comment><AUTHOR> About the ranking algorithms:

"techyaks": Primarily uses signals from stories and comments on Hacker News, with some youtube signals thrown in. This is effectively a "best talks according to hacker news" ranking.

"wilsonscore": Wilson confidence intervals [0] from youtube likes and dislikes. Previous discussion about this site when it had only the Wilson score ranking: [https://news.ycombinator.com/item?id=17988464](https://news.ycombinator.com/item?id=17988464)

[0]: [https://www.evanmiller.org/how-not-to-sort-by-average- rating...](https://www.evanmiller.org/how-not-to-sort-by-average-rating.html)</comment>


Ask HN: Favorite Project Management Solutions? - <AUTHOR>

We're a small web startup with a CEO in New York, a CMO in Vancouver, a CTO with 4 developers in San Francisco, and a small outsourcing team offshore. We use Git for SCM, but we haven't found an ideal solution for communicating everything else.
Taking into perspective our fractured company structure, what project management solutions can you guys recommend?
I know this question has been asked in the past, but like all other software, the options keep changing. <comment><USER2> I think it all depends on your feature requirements and employee skill set.

My former company got along pretty well with our own mix of Trac/SVN for code and engineering issues, Request Tracker for trouble tickets, ScrumWorks for iteration management and MediaWiki for all other stuff.

</comment><comment><USER3> Pivotal Tracker <http://www.pivotaltracker.com/> and You Track <http://www.jetbrains.com/youtrack/>.

</comment><comment><USER4> There was a great article about this very topic two weeks ago: <http://news.ycombinator.com/item?id=912141>

</comment><comment><USER5> I recommend Redmine.</comment>


Shorthand CSS Framework - <AUTHOR> https://github.com/shorthandcss/shorthand <comment><USER2> > 36 Google fonts are already included.

Why is this a feature, or beneficial in any way? The documentation page itself loads four (!) full fonts in a range of weights.</comment>