Concord, our GPL outliner - <AUTHOR> http://scripting.com/2013/09/16/concordOurGplOutliner <comment><USER2> GPL? How does this interact (legally) with other running JavaScript? Do I have to make the rest of my site's JavaScript "GPL" as a result?

I'm curious, does the dynamic nature of JavaScript make browser-based GPL Javascript essentially LGPL? Any lawyers or FSF advocates out there know?

<comment><USER3> I've never seen a good answer to that question. I've emailed the FSF and others and they all tell me to consult a lawyer for how the license works (if they respond at all).

<comment><USER4> IANAL, but the spirit seems to be "hey, here's this software, use it how you like, but if you distribute it (including building on it or bundling it in a product) please be kind enough to extend the same freedoms to those you give it to."

Using Concord on your site? Offer a link to the source. Modify it to work better with a framework? Offer that modification too. Build an entire product off of it? Well, be prepared to release the source to that product under GPL as well. If you don't like those terms, feel free to start from scratch and not freeload off the original authors who were kind enough to share source with you in the first place.

I don't understand how people can pay good money for things like game engines, then turn around and think that OSS doesn't have a price too, or get upset when they are asked to pay it. You just end up paying back to the community instead of into a company's coffers.

<comment><USER5> And most important, no gratuitous incompatibility or user lock-in based on formats. Commercial developers esp ones that raise huge money, tend to try to lock users in. If that's their plan, they can write their own outliner, should that situation ever arise.

<comment><USER6> Use of the GPL doesn't merely prevent commercial developers from creating non- compatible formats -- it prevents them from using Concord _at all_. Let's say I want to build a commercial app that happens to use Concord, and I'm happy to use Concord as is (contributing back any patches or improvements I make) and even make the outlines exportable (assume outlining is just one feature in a much larger app, not the main focus). In that case, I'd have to make much or possibly all of the client-side code GPL compatible, so I can't use Concord, even though I'm not violating your rule about compatibility and am contributing back to the Concord community.

GPL seems like overkill given your goal. It will be limited to a niche of either fully open source public applications or completely private/internal applications.

</comment></comment></comment></comment></comment><comment><USER7> I didn't know what an outliner was:

From the Git page: An outliner is a text editor that organizes information in a hierarchy, allowing users to control the level of detail and to reorganize according to structure. Your notes can have full detail, yet be organized so a casual reader can get a quick overview. Outlining is a great way for teams to organize work.

<comment><USER8> And isn't this just a special case of an object graph where all the objects are strings, the relationships sub-objects can't have two parents and the traversal is over when you've reached a leaf?

What about hierarchies of objects that aren't strings? (I'd like to organize them too).

What about hierarchies that aren't a strict tree? (I can't really do my genealogy on this).

P.S. I like what Dave does with outliners but I'm not sure I'd apply them everywhere he does.

<comment><USER9> I've fiddled with this extensively. The problem isn't data representation; sure, "outlines" are "just" graphs. The question is, what on Earth does your UI look like? Editing "graphs" is hardly more structured than creating a "data editor"... ok, those are some nice English words you've got there, but how does it actually _work_?

At least by limiting it to text and stuff that looks a lot like text, you can produce a real application that does real things of real value. It may not be suitable for everything, but your thing that is suitable for "everything" is likely come out being suitable for nothing in practice.

<comment><USER8> That's a hard problem - I haven't done any "fiddle" but I've spent a lot of time doing Gedankenexperiment and haven't come up with anything I believe is remotely applicable. The genealogy example I gave is simpler but I'm not sure I've seen an editor for that use-case that's optimal either.

Maybe the problem just can't be simplified further? And as an aside, I wasn't trying to disparage Dave Winer's implementation of tree editing at all.

</comment></comment></comment></comment><comment><USER10> It's crazy to me that there seems to be a backlash against this project being licensed under the GPL. Thank you for choosing copyleft.

Also, if I got it right, an outliner is a note taking application? The best note-taking application I know of is, by far, org-mode in Emacs.

</comment><comment><USER9> Ah, dwiner, at last my long Linux nightmare of having no decent outliner shall come to an end....

Urf, budgeting the time for this may be a challenge, but odds are good that this can be dropped into a XUL shell to obtain a traditional "local" filesystem outliner with only a few hundred lines more of grease. I'll have to see what I can do. (I've done it once before for something else.)

<comment><USER11> No decent outliner on Linux? [http://orgmode.org/](http://orgmode.org/) is by far the best i have seen so far, so could use outline-mode if you do not use any of the extra features. There is something similar to outline-mode for vim users if i remember correctly.

<comment> ah- Yes, I use VimOutliner, which is perfect when you already know how to use vim.

</comment></comment></comment><comment><USER12> Should really have a demo link somewhere.

You can click through to github, to be told that it's what their Fargo tool is based on, and from there you can click through to that... to be told that you have to link it to your dropbox account before you can even try it.

<comment><AUTHOR> [http://littleoutliner.com/](http://littleoutliner.com/)

<comment><USER5> And littleoutliner is an instance of Concord as well. ;-)

</comment></comment></comment><comment><USER13> I would like something like this that translates directly into JSON. Kind of a cross between concord and [http://jsoneditoronline.org/](http://jsoneditoronline.org/)

It will just have to be something I write myself, I guess.

</comment><comment><USER14> hope you all don't mind. little self plug on the subject - I also have an open source outliner

here is the source [http://github.com/hhuuggoo/efficiently](http://github.com/hhuuggoo/efficiently)

and the demo: [https://eff.iciently.com/docview/r/4ed70c031a7ba32edb000002/](https://eff.iciently.com/docview/r/4ed70c031a7ba32edb000002/)

But this one is an app, not a plugin, so it might be less useful to some.

</comment><comment><USER15> 3k LOC in a single file... ouch. Someone introduce Dave to makefiles.

<comment><USER16> I'm almost certain he writes the code using an outliner tool as well like was the case for the scripting language that shipped with frontier and the OPML editor so that probably makes it easier for him to manage. At least it will be easy to include into a project ;-)

<comment><USER5> It's only a problem if you edit in a flat text editor.

If you look in the opml folder of the repo you'll find the source files for all the js and css files.

<comment><USER16> Ah, thanks for pointing those files out. I'll have to try loading them up in Fargo for fun.

</comment></comment></comment></comment><comment><USER17> Leo is the last outliner you'll ever need. [http://leoeditor.com/](http://leoeditor.com/)

</comment><comment><USER18> I've been browsing through the code a bit. It has a few problems.

First, the brace and indentation style is _extremely_ unusual and hard to follow. I have never seen this style used in another curly-brace-language project anywhere.

I realize that brace and indentation is a very personal preference, but I've had no trouble following a variety of styles - until this one. Here's an example:

      if(c.op.inTextMode()){
          c.op.focusCursor();
          c.editor.restoreSelection();
          }else{
              c.pasteBinFocus();
              }

The if block and matching else block have different indentation levels? What? That does seem to be the pattern followed in a number of places.

How would you follow this style if there is a chain of else-if's? I don't see any examples in the code, but it seems it would have to look like this to be consistent:

      if(a){
          b();
          }else if(c){
              d();
              }else if(e){
                  f();
                  }else{
                      g();
                      }

OTOH, this function follows _two different_ indentation styles for its two if/else blocks:

      this.callbacks = function(callbacks) {
          if(callbacks) {
              this.root.data("callbacks", callbacks);
              return callbacks;
          } else {
              if(this.root.data("callbacks")) {
                  return this.root.data("callbacks");
                  } else {
                      return {};
                      }
              }
          };

Try this quiz: Without loading the code into a brace-matching editor, just eyeball that function and see if you can tell which open brace matches with which close brace.

The function could be much simpler too:

      this.callbacks = function( callbacks ) {
          return callbacks ?
              this.root.data( "callbacks", callbacks ) :
              this.root.data( "callbacks" ) || {};
      };

Also in a half-dozen places or so, the code uses a for..in loop to iterate over an array. This type of loop should never be used with an array for two reasons: If any other code in the page extends Array.prototype the code will break, and the order of iteration is not guaranteed. These loops need to be converted to numeric for loops or $.each() or any similar alternative.

One last point that is just a matter of taste, but I think the code would benefit quite a bit if it followed the popular jQuery convention of using a $ prefix on variables that contain jQuery objects.

I love outliners, and I'd really like to contribute to this project, but the code is so strangely formatted that I'd have a really hard time with it. I wonder if the authors would consider adopting a more conventional coding style, or if they just like it the way it is?

<comment><USER5> I think the programmer was just getting comfortable with coding in an outliner when he wrote that code. I would consider that indentation a bug, when and if I work in those areas, I'll fix the indentation there. Thanks for pointing it out.

<comment><USER18> Ah, thanks, Dave, and I'm sorry I went a bit overboard on my remarks about the code! The project does look promising; now I'm encouraged to check it out some more. :-)

<comment><USER5> Not at all! :-)

I am a total bugger about formatting code.

The outliner approach is pretty good but not perfect.

If-then-else is the sore thumb, for sure.

Along with try-catch.

But overall, outliners are a huge win for writing code.

Let's be hardasses about this stuff, but also understanding.

I think your approach is perfect.

</comment></comment></comment></comment><comment><USER19> GPLv3, which will put off some people who would be fine with GPLv2.

</comment><comment><USER20> I think more project should be this obvious with their choice of GPL, makes it easier to dismiss :-)

<comment> vx-k I think more comments should be this obvious with their trolling & stupidity, makes it easier to flag :-)

<comment><USER20> Might not have been the highest quality comment but there are lots of companies out there that outright forbid GPLv3 code to be used for anything really.</comment></comment></comment>


Grooveshark is not Free Anymore - subscription start at $4/month - <AUTHOR>

Today, when I tried to play some music on grooveshark.com  I've got the following message:
Screenshot Proof: http://i.imgur.com/XUA7Z.png
<quote>
Our vision for Grooveshark never included charging users for basic access, but rising costs may force us to shut down in your country as we recently did in Germany.
We need your support. In order to stay open, we're asking every user to pay $4/month (USD) for access to Grooveshark.
With your help, we can continue to operate in your country--providing you with millions of songs, playlists, favorites, featured artists, and everything else you love about us.
Thanks for your support and understanding,
</quote>
Edit:
I'm using Grooveshark from Romania. I also added a screenshot of the page as a proof. <comment><AUTHOR> Funny and weird, today Grooveshark works for free. I assume that the subscription thing is a sign that Grooveshark is not doing so well. But the way they did it, without giving proper explanations on their website is at least a sign of bad management.

Or maybe someone cracked their system, but I don't think so...

</comment><comment><USER2> Word is that Grooveshark could become the next MegaUpload. A thought for anyone looking for a weekend project: An app that could export a Grooveshark playlist (not download the songs, just export artists and titles) would be really popular as I don't believe this functionality exists currently.

</comment><comment><AUTHOR> On their website <http://grooveshark.com/> there are no info/details on the subscriptions. But the fact is that I cannot listen my playlists anymore.

</comment><comment><USER3> I love using Grooveshark and would HATE to see this happen. This would be even worse than when they started playing the loud video ads that would keep cycling.

</comment><comment><USER4> Works in Portugal. The weird thing is that there's not even a mention on their blog... Anyone knows if they even announced it?

</comment><comment><USER5> Still free here in England(UK). I suspect that it won't be the case for long though.

</comment><comment><USER6> What country are you in? I've heard this happening in Ireland.

<comment><USER7> I'm in Ireland and yes this also started happening here today.</comment></comment>


Steve Blank's Lean LaunchPad Course is Live - <AUTHOR> http://blog.udacity.com/2012/09/steve-blanks-lean-launchpad-course.html

<comment><USER2> This blogpost is painful :

1) no link to the course,

2) no link to the Udacity homepage,

3) no mention of the price or if it's free.

<comment><USER3> 1) <http://www.udacity.com/overview/Course/ep245/CourseRev/1>

2) <http://www.udacity.com/>

3) The course is free

I had to look these all up myself so agree that it's a poor blogpost.

</comment></comment><comment><USER4> It's been live since last weekend, the announcement seemed to be late. It's very good so far (I've watched the first week's lectures). Steve is even better as a speaker/teacher than as a writer.

<comment><USER5> Have you had experience with his book? I'm looking to see if I should consider picking that up or The Lean Startup.

<comment><USER6> If you're not familiar with the concept at all, "The Lean Startup" isn't bad. Otherwise, it's fairly fluffy in terms of content, and you'd be better off with something like:

Nail Then Scale It: <http://www.amazon.com/dp/B0055D7O1U/?tag=dedasys-20>

I've heard good things about this too: <http://www.amazon.com/dp/B006UKFFE0/?tag=dedasys-20> \- if anyone wants to comment on how it compares to "Nail It".

I've also got Steve Blank's book, but haven't read much of it yet. I'm signed up for the course though, and agree that he seems like a good speaker, although I haven't had much time for it yet.

<comment><USER7> I'd read both Nail it then scale it and Running lean. They are both readable and to the point. They have slightly different approaches that both have been very valuable to me.

<comment><USER8> sounds interesting , so which approach you think it better and why ?

</comment></comment></comment></comment></comment><comment><USER9> Wondering whether this is better or to go whole hog on 30x500. 30x500 seems to be much more likely to result in something - even though it costs 2500$.

<comment><USER6> Rob Walling & company have a startup course thing too: <http://www.micropreneur.com/>

I like his writing on startups a lot, but I haven't paid for it or tried the course... nor do I think I would spend money for something like that. I'd rather participate in communities like this one that are free and open.

I think I'd go for Steve Blank's course first, before shelling out that much money for something.</comment></comment>


Doing More with Less Code - <AUTHOR> https://codewithoutrules.com/2016/08/25/the-01x-programmer/ <comment><USER2> This post is flawed, starts with the wrong proposition that "10x programmer" means a programmer that writes 10x as much code, that is, it uses number of lines of code as a metric which is a completely wrong metric (If programmers were paid for lines of code, copy-pasting would be best practice, and all kind of verbosity and unnecessary code or boilerplate, even dead code would be everywhere.

With code, less is more, less code to do the same means easier to read, easier to maintain, less bugs. So, a 10x programmer means a programmer who is 10x as productive, that is, delivers 10x as much features, fixes 10x as many bugs or not even that, since sometimes you have to do refactoring which improves the codebase a lot in several ways but doesn't provide as a result either features or bugs.

Actually I would expect the mythical 10x programmer to produce LESS code for the same functionality, and most probably be reducing the amount of code littered by other lesser programmers and starting refactorings that would create abstractions, split classes and make the code more modular, that would have as a result deleting classes and methods, and overall reducing the number of lines of code rather than increasing it...

<comment><USER3> > If programmers were paid for lines of code, copy-pasting would be best > practice, and all kind of verbosity and unnecessary code or boilerplate, > even dead code would be everywhere.

Huh. Is _that_ what it "would be" like.

<comment><USER4> I have technical leads tell me to copy paste code all the time instead of making better abstractions. It drives me slightly mad.

<comment><USER5> I've generally followed the rule of thumb:

If you're doing the same thing in two places, ok, if you are doing the same thing in three places, refactor.

Let's me get away with copy pasting while I'm quickly prototyping something out, but reminds me that I need to clean it up before I try to iterate again. Plus, it's unlikely that I'll hit the right abstraction on the first or second time I see a problem. Better to wait until I've seen it three times before refactor.

<comment><USER6> I am of a different persuasion. Even if you are doing one thing, but it is indeed a _thing_ , refactor it as a separate abstraction. You will end up with a better set of building blocks.

<comment><USER7> all the better for maintaining a clean suite of unit-tests too!

<comment><USER6> True.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> _> You've heard of the mythical 10x programmers, programmers who can produce ten times as much as us normal humans._

I'll repeat what I've said before on the "10X" label which causes so many arguments...

To make peace with the "10x" label, I suggest people just think of it as a _figure-of-speech_ instead of a rigorous mathematical term. We don't get hung up when people say _" Star Wars IV was ten times better than Phantom Menace"_ or _" I'm not even 1/2 the football player I used to be."_

Even if people were to use a new term such as _" 3-Sigma Programmer"_[1] instead of _" 10X Programmer"_, the ensuing debates _would still be the same._

E.g. _" Some people say 3-σ programmers write string parsing loops that are better in speed and quality than 99.7% of the other loops but that 3-standard- deviations-above-the-mean is a myth... etc"_

Argument pattern is the same: take a label, any label, hyperfocus on some _literal_ meaning to the exclusion of all else and debate why that mathematical interpretation fails in the real world.

You can interpret the label(s) literally as math or as an _English meme_. I propose that one of those interpretations will keep your blood pressure from rising.

As a counterpoint to the article, if a programmer knows how to convert a Ruby program with 100 lines and rewrites it in C/C++ in 600 lines so it executes 15x faster and uses less memory so the company can better utilize densely packed virtual machines in a cloud deployment, that's what many would call a "10x programmer" even though none of the inputs & outputs are mathematically "10" anywhere. The programmer wrote _more_ lines of code so that another metric of effectiveness was optimized. The LOC increased but that's irrelevant.

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

<comment><USER9> Just to extend your example, that programmer would be a 10x programmer if the achieved goal (runs 15x faster and uses less memory) is valuable to the company.

Adding value depends on the context. If the main problem for the company is that the feature set is not attractive to clients, then speeding things up 15x and using less memory may not make a difference. If however, the feature set is amazing, but customers complain about the product being slow and eating up too much memory, then said programmer is adding a lot of value, thus "becoming" a 10x programmer.

</comment></comment><comment><USER10> For years I've held the belief that my job (software developer/whatever) is to do as little as possible but it's mostly been met with bewilderment and disdain from most people I've offered it to.

<comment><USER11> This applies to an even greater extent in a highly resource-constrained environment (such as my startup). My job is as much about what I choose NOT to do as it is about what I actually decide to take on; as .5 of only 1.5 software engineers at my workplace, the lion's share of my role relies on me placing the correct bets on what features (or automation workflows) to implement.

</comment></comment><comment><USER12> A lot of comments here are focusing on the 10x label meaning. I agree that the author wrongly suggested this applies to LOC, but these are great points for any developer:

\- Use the sharpest tool in the shed (programming language, framework, etc)

\- Leverage existing code

\- Reflect on the problem up front before writing any code

\- Relentlessly question if you really need the feature you're adding

<comment><USER13> These things are the most important things I've learned over my career, and it's astonishing how few people actually do this at _all_ , let alone well. Things like that are the reason I'm moving more towards design, architecture, and project management, because people are generally fucking awful at it.

</comment></comment><comment><USER14> About the LOC measurement

[http://www.folklore.org/StoryView.py?story=Negative_2000_Lin...](http://www.folklore.org/StoryView.py?story=Negative_2000_Lines_Of_Code.txt)

<comment><USER15> My previous job's commit diff was -15k, while still writing a lot of the features. I smiled when I saw that.

</comment></comment><comment><USER16> The article mentions using libraries to save time.

It's worth remembering that when using a library one should know how it works; not knowing how it works may cause bugs and make development last even longer.

<comment><USER17> It's not like you need to pick through the entire source though. You just need to read the docs. Reading the docs will likely be faster than writing your own.

I've seen people write their own XML parsing libraries, try to handle dates + timezones on their own, and write REST API helpers for products that already had official packages. In each of these cases, even a brief look at some docs and a wild-ass-guess would've been more productive. It's super frustrating to watch.

</comment></comment><comment><USER18> In my last project I used, ng-admin + postgrest for the administration panel, postgrest behind a small gateway with oauth2 (nodejs rocky + oauth2) to feed the user facing app. Uploads are done directly to S3 that automatically triggers lambda functions to update the database. In the old times I would have done all these with Symfony and it would have been lots more of code.

I also learnt to appreciate more unix command line tools, I think twice if need to write an script, for instance to do webscrapping, sometimes you can get what you need just using curl | pcegrep | uniq | sed, and move on, if you then have the need for more scrapping then yes, it makes sense to invest the time on using a library, scripts etc.

</comment><comment><USER19> Unless you're in a leadership role, only half of those ideas are going to be available to you.

Also, if you are constantly switching directions without also constantly coming to a deeper understanding of your problem space / market, then all you're doing is destroying momentum rather than creating it. Deeper understandings require orders of magnitude more time, data, and effort to understand the data.

Eventually you'll get that insight but in the meantime it's better to just keep moving forward.

<comment><USER20> the sounds of a hundred thousand project managers rolling their eyeballs at the prospect of every junior programmer thinking the project doesn't need to be done, or the feature request is pointless.

</comment></comment><comment><USER21> Every time I refactor something in the code my goal is a PR with net negative lines.

But it takes experience and maturity to not to silly things trying to hit this goal. Sometimes it's just not possible.

0.1x as a term exists only because it's cute.

Instead, perpetually try to be a 0.9x programmer.

<comment><USER22> > Every time I refactor something in the code my goal is a PR with net > negative lines.

Assuming your customer doesn't use cost per LOC as a metric...

<comment><USER21> That would be awful. I'm glad I have yet to experience that yet. Not sure I could tolerate non beautiful code for the sake of a business metric.

</comment></comment></comment><comment><USER23> Hardy's rule can be adapted to programming: to code it better, think it gooder. One big difference in productivity comes from making good design decisions early on and not taking shortcuts that weeks later turn into spaghetti hacks.

<comment><USER24> To me this is the most important thing i have learned in 15 years of coding. Its also the reason why I hate interview "tests", I don't come up with a good design straight away. I prefer to get in idea of what is needed, then think about it for a few days while working on other stuff.

<comment><USER25> If someone uses interview tests in that way they're doing it wrong.

That's not what interview tests are for; they're for demonstrating a base level of competence and how you think about code during a discussion of the code. Also for acting as a catalyst for more discussion about programming.

</comment></comment></comment><comment><USER26> "10x Dev" doesn't mean "10x Code" it means "10x Productivity" (which hopefully translates to something meaningful for the business). That almost _demands_ a language that allows concision.</comment>


G20 Protesters Blasted By "Sound Cannon" - <AUTHOR> http://www.guardian.co.uk/world/blog/2009/sep/25/sonic-cannon-g20-pittsburgh

<comment><USER2> Here's a video from CMU TV of the sound cannon in action:

<http://www.youtube.com/watch?v=TNcKexj2cYU>

I assume the reasoning goes: if you want to stand around, you need to have a permit to do so... and you are free to apply for a permit, so there's your freedom to peaceably assemble.

Here's what the Pittsburgh Police have to say about it:

[http://www.city.pittsburgh.pa.us/police/html/spec_event_perm...](http://www.city.pittsburgh.pa.us/police/html/spec_event_permit_app.html)

From Regulations ([http://www.city.pittsburgh.pa.us/police/assets/special_event...](http://www.city.pittsburgh.pa.us/police/assets/special_events_permit/Spec_Events_Regs_final_2009_fees_05-28-09.pdf))

II.k. First Amendment Activity. "First Amendment Activity" includes all expressive and associative activity that is protected by the United States and Pennsylvania Constitutions, including speech, press, assembly, and/or the right to petition. For purposes of Chapter 471 and these Regulations, commercial advertising that is regulated by the Zoning Ordinance or elsewhere in the City Code is excluded from this definition.

II.p. Public Assembly. "Public Assembly" means a group activity including but not limited to a demonstration, march, meeting, parade, protest, rally, or vigil which involves the expression of opinions or grievances of persons for a common purpose as a result of prior planning and which interferes or has a tendency to interfere with the normal flow or regulation of pedestrian or vehicular traffic upon the streets, parks, sidewalks, or other public grounds within the City or does not comply with normal and usual traffic, regulations or controls; or which occupies any public area open to the general public to the exclusion of others.

So it seems like the kids standing around in the video would not have been breaking the law if:

1) they were organized 2) someone applied 14 days in advance 3) they paid $125 for the application

But wait! On page 22, Exhibit A-3 provides examples:

"First amendment activity that does not constitute a Special Event (e.g. does not block a sidewalk or close down a street). Example: Sidewalk protest in front of the County Courthouse; Leafleting or gathering petition signatures on Grant Street. Permit Required? No. Fee Required? No."

So, perhaps if those kids were standing on the grass instead of the sidewalk? In that case, they wouldn't even need a permit. i.e. they wouldn't need permission... i.e. they would be _free_ to assemble...

...and in fact, they would be free to assemble even if they were on a sidewalk, according to Exhibit A-3.

So I'm confused here. In the video I linked, did they require permission to stand around like that? Were they breaking any laws at all? Would it have somehow been _more_ legal if they were organized, and had applied for a permit?

Essentially, the question is: how could they have continued to stand around without the police shooting them with the sound cannon?

EDIT: ...and another question: is it really freedom if you need permission? For example, you never need to ask permission to say something, irrespective of there potentially being consequences for certain kinds of speech (e.g. slander, which might land you in court).

If your freedom to assemble is contingent upon anything (e.g. permission, which isn't guaranteed) then it's not really "free as in libre," is it? ...and if your freedom to assemble is contingent upon an application fee, then it's not "free as in gratis" either. So is it free at all?

<comment><USER3> pretty much you can peacefully assemble as long as noone causes trouble, the second someone starts shit, you lose your right.

i.e. this whole thing started because a couple of anarchists lit a garbage can on fire and rolled it towards the cops. At that point the cops pretty much got open season to do whatever they could to everyone around. So a peaceful protest of thousands of people can get disbanded because of a few assholes. Which would make it obvious that getting a few provocateurs is the best way to disband any protest you don't agree with.

<comment><USER2> The "agent provocateurs" got a whole thread on the slashdot link - it's a tactic that has been used more and more frequently, it seems. I was one of the bloggers who identified the agents in the Quebec SPP protest (look up "put the rock down man") - in that case, the ONLY violent actors were undercover police officers. It ended up being pretty funny, in a gut wrenching sort of way, with the protesters actually pacifying the police.

...but in the CMU TV video, there were no "anarchists." There were no burning trash cans. That was a different part of town, on a different night.

<comment><USER3> yeah that's what I meant, the rolling trash can happened across town, and the cops used that as an excuse to crack down everywhere else

<comment><USER2> Well - and I'm not implying that you necessarily subscribe to that justification, but - I don't buy it.

There are already laws that grant the authority to shut down a town if it erupts into riots. I can't cite those laws, but I bet the LA riots or Hurricane Katrina would be cases where they were used.

<comment><USER4> In this specific case, the action in Oakland, on the campus of the University of Pittsburgh, on Thursday and then repeated almost exactly on Friday night, unfolded because Schenley Plaza officially closes at 11PM. I have never heard of this before and the Plaza certainly sees use after 11PM on a weekend night.

The protestors/students/bystanders were forced away from Schenley Plaza at 11PM, pushed deeper on campus. This led to an actual assault on the dorms of the University of Pittsburgh. See this note about a poor, brave student arrested for trying to keep her comrades safe from the police. <http://news.ycombinator.com/item?id=847898>

</comment></comment></comment></comment></comment></comment><comment><USER4> I live in Pittsburgh, about a mile from the University of Pittsburgh. I have an enormous amount of anger towards the police and the university administration. The danger was created by the police and the university administration bears responsibility for the failure to close the university and adequately warn students about the dangerous police action. There's a reason they call them less-lethal munitions.

<http://news.ycombinator.com/item?id=847898> is a note about a girl arrested for holding the door to her dorm open. Really. Please read it; it's a good one.

However, I have no anger with regards to the use of the LRAD device. It's obviously a slippery slope (a greased volume control?), but it was used with the volume all of the way down. The LRAD is safer and more effective than OC gas, police batons, and rubber bullets. Unfortunately, on Thursday and Friday nights, they stuck to the OC gas, batons, bullets, and lots of flex-cuffs.

I would be happy to answer specific questions about the G20 police action in Pittsburgh. You can also see my comments on New Mogul. Also see my comments on New Mogul. <http://www.newmogul.com/threads?id=rms>

The Post-Gazette has balanced coverage from the perspective of the students/protesters/journalists. One of their journalists was arrested, along with two from the Pitt News. [http://www.post- gazette.com/pg/09270/1001203-53.stm?cmpid=MO...](http://www.post- gazette.com/pg/09270/1001203-53.stm?cmpid=MOSTEMAILEDBOX) The Tribune Review covers the broader security picture from the perspective of security organizers. [http://www.pittsburghlive.com/x/pittsburghtrib/news/pittsbur...](http://www.pittsburghlive.com/x/pittsburghtrib/news/pittsburgh/s_645208.html) In the scheme of these things, let's be glad no one died.

</comment><comment><USER5> Barack Obama is fortunate that these demonstration repression technologies did not exist during the time of Martin Luther King, because who knows if the civil rights movement would ever have succeeded if they did.

<comment><USER6> It's not a perfect comparison, but it's very true that civil rights protesters were lucky not to face some of the "less lethal" weapons available now.

<comment><USER7> Were lucky? I guarantee you they would much rather have had to deal with sound cannons than the batons, dogs, and fire hoses that they did have to deal with.

<comment><USER3> don't think so, batons/dogs/hoses put their struggle into a visual perspective, you see a cop whaling on someone you'll start asking if the reason they are doing it is justified.

You see someone running away from a sound cannon, you just shrug it off since you aren't experiencing it yourself

<comment><USER8> Also, it may be harder to "tough it out" versus modern repression toys.

</comment></comment></comment></comment></comment><comment><USER9> "Officials of the company that manufactures the sound cannon say that ear damage is only possible if someone manages to stand directly in front of the device for an extended period."

So in other words they are trying to say if the protester gets hurt it's their own fault not ours. That just seems wrong.

<comment><USER4> That's an obvious lie, you suffer permanent hearing damage every time you go to a rock concert without earplugs. I would strongly recommend fans of live music invest in a pair of these. <http://www.etymotic.com/ephp/er20.aspx>

</comment></comment><comment><USER10> this isn't cool. in the last ten years civil rights have been diminished.</comment>


Biden: Encryption should "permit the government to obtain the plain text" (1991) - <AUTHOR> http://thomas.loc.gov/cgi-bin/bdquery/z?d102:s.00266:

<comment><AUTHOR> To see the full quote, click on the loc.gov linked URL to Biden's bill, then "text of legislation," then "printer friendly."

You'll see this text: _" It is the sense of Congress that providers of electronic communications services and manufacturers of electronic communications service equipment shall ensure that communications systems permit the government to obtain the plain text contents of voice, data, and other communications when appropriately authorized by law."_

Vice President (then Senator) Biden's bill was what led Phil Zimmermann to publish PGP, as he wrote here in the original 1991 PGP User's Guide:

*"It was this bill that led me to publish PGP electronically for free that year, shortly before the measure was defeated after vigorous protest by civil libertarians and industry groups." [http://www.philzimmermann.com/EN/essays/WhyIWrotePGP.html](http://www.philzimmermann.com/EN/essays/WhyIWrotePGP.html)

The more things change...

</comment><comment><USER2> Since this links to a general page on the bill:

> SEC. 2201. COOPERATION OF TELECOMMUNICATIONS PROVIDERS WITH LAW ENFORCEMENT. > [0]

> It is the sense of Congress that providers of electronic communications > services and manufacturers of electronic communications service equipment > shall ensure that communications systems permit the government to obtain the > plain text contents of voice, data, and other communications when > appropriately authorized by law.

[0] [http://thomas.loc.gov/cgi- bin/query/F?c102:1:./temp/~c102LGb...](http://thomas.loc.gov/cgi- bin/query/F?c102:1:./temp/~c102LGbVYJ:e24171):

<comment><AUTHOR> There's a reason I linked to the general page of the bill (in addition to making it clear Biden introduced it in the Senate). That's because Thomas generates temporary URLs; yours no longer works.

</comment></comment><comment><USER3> They will just keep trying and trying and trying until finally they get what they want. Different language, different bills, different Congresses...it doesn't seem to matter.

<comment><USER4> What makes you think that?

It hasn't worked for gun control, and plenty of people (most certainly including a lot of gun owners) feel just as strongly on this issue.

This was a big thing in the '90s (along with Federal level gun control), it all failed (like the worst of that Federal level gun control), and _eventually_ the government stopped controlling encryption as a munition. What's different this time, besides the currently not very hot in the US GWoT?

</comment></comment><comment><USER5> If you're interested in this sort of stuff, I highly recommend Steven Levy's 'Crypto', which documents the rise and fall of the Clipper Chip, as well as the release of Zimmerman's PGP software amid the crafting of Biden's legislation. I read it a few months ago and was struck by how relevant it still is. Little did I know...</comment>


Ask HN: Is it normal for your team to have root access to your workstation? - <AUTHOR> I'm currently working remotely and I just got a complaint from my team manager because he was unable to log in to my workstation using the root account/password that everyone in the company knows. He wanted to use my workstation because it's the only one with a webcam and speakers for a conference call.
I've never been in this situation. I don't have anything to hide but still it feels strange to allow essentially anyone in the company to have root access to the machine I use every day.
Is this normal practice? <comment><USER2> Not clear to me why anyone is logging in directly as the root account, but let's leave that aside for a minute.

Tracing activity back to a user or machine is a common way to find out how a mistake or security breach happened. If your manager uses your workstation, can you be blamed for something he screws up?

Also, a device with a camera + speakers costs less than $200. A webcam costs $20. Speakers are built in to almost every machine. If your company doesn't have enough money (or sense) to equip everyone with conference-capable equipment, that's not a well-run company.

<comment><AUTHOR> It's not a literal "root" account. But an account that exists on most machines that can sudo.

Thanks for the reply!

<comment><USER3> That's much less egregious. It's very common for IT admins to implement security updates or change virus scanners or policies behind the scenes.

<comment><USER4> It's not really that much less egregious than root. With this shared account, anyone is able to log in and become root.

There is not audit capabilities when using shared accounts. Using shared accounts is just bad idea.

</comment></comment></comment></comment><comment><USER5> This might just be ruffling feathers, but if you work remote why does your team lead need your machine's webcam?

That said, since this is company equipment, the more rational part of me says, "Put up with it."

But from a security/auditing perspective, this 'policy' is an absolute minefield, particularly because it sounds like each individual developer has to set up this account on his/her own box.

What happens when someone is fired? Does every developer have to change the password and disable the old account? What happens if one developer is off sick that day? Will the company keep that hole open until that developer comes back? Or will they kill off all of the sick developer's SSH keys?

Crap, it's hard enough to provide proper access control and monitoring when everyone has a unique credential. I can't even begin to imagine what that kind of policy would look like.

</comment><comment><USER6> Oh jesus christ no, it's not (and shouldn't be) normal. Work activities should be able to be reliably traced back to the individuals that did them.

</comment><comment><USER7> In a typical enterprise, devs usually don't have root access. The IT staff have root privileges. However, IT staff does not equate to your boss. I wouldn't personally be ok with something of this kind. However, I don't put any personal data on my company's laptop.

</comment><comment><USER8> I've worked at places where my supervisor had root access both ssh and a user account, and we also allowed each other to ssh in for various reasons. No one has ever been allowed on my workstation as me, though. Hard line.

<comment><USER9> Um, can't root su to your user ID? Without a password?

</comment></comment><comment><USER10> I don't think this is "normal" in any sense, however, as other have commented, if this is company equipment, there is usually little you can do outside of leaving the company.

In my limited experience working in and as a member of enterprise IT environments, the people specializing in "security" typically seek to reduce as much as possible, what a user is able to do on the machine. Unless you can document why you need extra privileges and have management that will support you, it is a waste of time to ruffle feathers.

</comment><comment><USER11> why was he complaining to you, that your company workstation, I assume that he has in front of him if he's trying to use webcam and speakers (sigh), wasn't responding to some stupidly shared root account?

Along with just about everything else you've said, that's also not your problem.

</comment><comment><USER12> If you're working remotely how does having access to your webcam and speakers help the manager in any way?

Edit: Here's me just now realising you're probably referring to a completely different desktop in an office that has the webcam and speakers.. I'm gonna head to bed now :)

</comment><comment><USER13> You don't specify whether you own this equipment or not. Is it company-owned?

<comment><AUTHOR> Yes, it is company owned.

<comment><USER13> It does seem strange that "anyone" in the company (by nature of having a shared root password) can access your system. But if that's company policy, however unfortunate it is, then you're obliged to follow. Unless you want to take some kind of moral stance -- which could put your job at risk.

</comment></comment></comment><comment><USER14> I think it's ok only if he cannot send email from your account.

There was an Ask HN a few weeks ago about a guy that someone sent an email resignation letter from him to his boss...

</comment><comment><USER15> At my old company the entire of IT had a tech account that gave you basically root access to all the computers.

I used an OS in a VM for all the things I could have.

</comment><comment><USER16> agree with you. No one except you for sudo purposes should have root access. Lead should have an account setup on machine for him to access

</comment><comment><USER17> >because it's the only one with a webcam and speakers

Lol. I would probably look for another job. Like at a real company.

<comment><USER18> Exactly my thoughts.</comment></comment>


Show HN: We use Github Gists to store user data - <AUTHOR> http://blog.elastic.io/post/19778691186/your-data-is-owned-by-you <comment><USER2> Another company blog without a link to the company home page. I had to manually type your company URL to try to learn what this is all about. It is absurd how common this is.

<comment><USER3> It's hidden under the "see more" widget on the left. There is a tiny "elastic.io" link under the main headline.

</comment></comment><comment><USER4> BTW, your landing page at elastic.io could use some work. The slideshow runs much too fast (I had to hit the back button at least ten times to read it) and it didn't really explain the service you're providing (or explain why it's valuable, though I suppose "avoid billing surprises" is nice.)

<comment><AUTHOR> Great idea! We also thought about this one. As we will re-sell cloud APIs it will be definitely a good feature to protect our users from slashdot effects.

</comment></comment><comment><USER5> It's a clever idea, to be sure.

I wonder if anyone at Elastic has talked with anyone at Github as, it seems to me, if Elastic gets any significant traction, this does nothing to help github (though perhaps I'm overlooking something) and leads into a 'Tragedy of the Commons' scenario wherein everyone is depleting a shared public resource for their own personal gain knowing full well that it isn't sustainable long term.

<comment><AUTHOR> Agree. Also with our current implementation right now we might pose a bit too much load on Gists (which is actually only our fault), however it's only first step. We want to give our users their data at hand, I could imagine a potential independent 3-rd parties storing our data where other companies (Facebook) will use it on our behalf. Users private data will be more protected, and portable. So if I would like to switch (Facebook --> Google+, hypothetically) I would just revoke access from one site and give it to another.

</comment></comment><comment><USER6> Wow, so they moved off requiring you have a Twitter account to requiring you have a Github account. Keeping in mind that requiring _any_ 3rd party account to use your own service is a bad idea, this sounds even worse.

Have you ever tried to sign up for a Github account? Last I checked they made you perform a bunch of scary crypto stuff on your local machine before they'd let you in. I gave up at that step, as it would have required downloading and installing a bunch of random software to pull off. No idea why they would make people do that (and it's why I still don't have a github account), but...

To limit _your service_ to only accept customers who have navigated that minefield? Sounds like the ultimate form of adding friction to your signup process.

<comment><USER7> I sincerely hope that this is a troll comment. I suppose it's subjective, but I don't consider "ssh-keygen -t rsa" to be scary, and I would've thought that most developers would've already have OpenSSH installed (which is the only dependency for generating keys, not "a bunch of random software.")

Do you really have no idea why they would make people do that, though? Maybe it's so that your source code can be securely protected so that only you can access it and modify it?

<comment><USER8> I'd really like to know if the original comment was a troll, joke or otherwise as well. According to the posters profile he is actually a developer of several services.

If it wasn't a joke of some kind I'd like to make a note to never trust any sensitive data of any kind to his products.

Considering generation of an SSH key 'scary' is a pretty strong indication to me that there is no tangible level of security being implemented.

</comment></comment></comment><comment><USER9> It's a cool idea (storing user data in their own github accounts), but it sounds like a nightmare when it comes to security and data validation. No longer can you trust what gets into your database and instead you would constantly have to validate the data you import.

I suppose that makes the service more like an API where the service generates the code to run on it rather than the user.

<comment><AUTHOR> Yes, that's definitely a problem. For our use-case where we want to follow SW engineering best practices like versioning, continuous integration, etc. we thought reuse of git as a repository and them to user will be a good thing.

</comment></comment><comment><USER10> Some feedback on your main site: Each slide has a lot of words, and I can't figure out how to pause it. I'm signing up for the beta because I _think_ I know what your site does, but I'm really not sure. I'd be more comfortable if I could see all 4-5 pictures at once, which could easily fit horizontally on my monitor.

Edit: OK, I was able to read all of the captions via "View Source"

<comment><AUTHOR> Thnx for your feedback. Very good point! We will definitely improve our website in the nearest future.

<comment><USER11> The caption on the blog (unseen before you notice the ribbon, and unreadable before you select it) should be on the main page. <http://i.imgur.com/KyRQD.png>

</comment></comment></comment><comment><USER12> _We don't want to lock your data in our databases._

GREAT! Now get rid of the _silly_ github requirement (and don't return to the even more silly twitter requirement) and give your users the _option_ of storing it in github or retrieve their data some other way.

I can't even begin fathom the decision process that concluded in _requiring_ github.

</comment><comment><USER13> For specific audiences, using Gists as data storage is really useful. I did the same for my "reverse StackOverflow": <http://askedtheinter.net/>

Users own all their data, they can revise their answers, and other users can fork them; just like small Git repositories, and just the use-case that gists generally solve. Compare: <http://timcameronryan.askedtheinter.net/q/1318314> with <https://gist.github.com/1318314>

</comment><comment><USER14> Reminds me a little bit of what unhosted (<http://www.unhosted.org/>) does

<comment><AUTHOR> Exactly. Primary motivation was to have a simple versioning for user data flow and Git repository management overhead was too much, however after we implemented it we realized that data portability is a by-product of that.</comment></comment>


Doubts over Oxford vaccine as it fails to stop coronavirus in animal trials - <AUTHOR> https://www.telegraph.co.uk/global-health/science-and-disease/doubts-oxford-vaccine-fails-stop-coronavirus-animal-trials/ <comment><USER2> Nice misleading headline. The titers are lower than Sinovac, and some monkeys (3 out of 6) did exhibit symptoms but no one of them had lung damage. Also, for reasons I can't understand, the dosage was half the one used in the human trial.

Oxford will, according to a statement, also try multiple administrations, exactly like one arm of their trial.

Lastly, some protection is better than no protection.

Personally I'd wait for the trial results before saying, falsely, that it fails to stop the virus.

<comment><AUTHOR> Thanks for the clarification. It's been hard to get a clear view of things with the media's tendency for sensationalism</comment></comment>


Web admin interface for elasticsearch - <AUTHOR> https://github.com/lmenezes/elasticsearch-kopf

<comment><USER2> Nice screenshots! The links on the github page didn't load for me though...</comment>


Show HN: Do you track net worth? If so, then my side project may interest you - <AUTHOR> https://apps.apple.com/us/app/balanceviewer-finance-tracker/id1476048552?ls=1 <comment><AUTHOR> Hello everyone,

I was looking for a good net worth tracker that supports multi currency accounts without bank account linking for a long time to replace my google spreadsheet with a ton of different formulas. Since I was not able to find anything that will cover my needs I've decided to create it by myself.

BalanceViewer is a simple IOS application for net worth tracking which allows you control all the changes in your finances in a few minutes per month.

You can check it out on the AppStore: [https://apps.apple.com/us/app/balanceviewer-finance- tracker/...](https://apps.apple.com/us/app/balanceviewer-finance- tracker/id1476048552?ls=1)

Site: [https://www.balanceviewer.com/](https://www.balanceviewer.com/)

The app is a mix of net worth tracker + classic tracker with income and expenses. The main difference from other trackers is that you don't need to waste time tracking hundreds of expenses every month. All you have to do is keep track of your account balances once a month and add all your income. The total amount of expenses will be calculated AUTOMATICALLY based on account balances and income.

How you usually track your net worth? What apps/services do you use? What is most important for you there?</comment>


Design patterns implemented in Java - <AUTHOR> https://github.com/iluwatar/java-design-patterns <comment><USER2> _All designs should be as simple as possible. You should start with KISS, YAGNI, and Do The Simplest Thing That Could Possibly Work principles. Complexity and patterns should only be introduced when they are needed for practical extensibility._

This needs to be at the top, in the introduction. Especially in Java and C#, I've seen far too much "over-patterned" code, in contrast to the opposite.

<comment><USER3> I think this has a lot to do with how OOP is taught. At uni, on the same semester we were introduced to C++ with classes, OOP, UML, and design patterns. This of course creates in the mind an association between all of these things -- a feel of 'if I'm doing OOP then I should also use these patterns'.

The thing is, during the class we understood what the patterns were. However, since the actual programming project was comparatively small we didn't actually understand what a need for following these patters looks like. We didn't see a case where the simple way just didn't cut it, we were simply told to use them because they are good. The effect of this is that, unless someone with experience then comes and mentors you, you will overengineer all of your solutions because you don't know any better. We were taught the patterns but didn't understand the reasons. And I suspect many other engineers have had similar experiences

<comment><USER4> I wrote a bit of C recently, it's impressive how patternless it makes you think. At least not in the OOP way. You may think in patterns, but it's not encoded in source. It's implicit structure. It's also very different because every bit of help you allow in your source is carefully thought out, you want it to fit the fragile land of C and also now you're moving bytes somehow explicitely, you tend to think more about memory and cpu perf.. again less pattern envy.

ps: I also forgot to say, even though I'm a fp head these days, imperative C felt fun, that is if you carefully stay into state -> state mindset ;)

<comment><USER5> Unfortunately this means you wrote several copies of essentially the same code but with minor differences, and if you find and fix a bug in one the others are still wrong.

</comment></comment></comment></comment><comment><USER6> My take: you do not truly understand modularity until you have had to work with a third party framework where your software is integrated as plugin. Working with Eclipse / PDE / CDT has taught me more about modularity (good and bad) in 2 years than a decade of green field development (plus, I can now write a usable Eclipse plugin faster that I can write the equivalent Vim function ...). I also recommend "Practical API Design" (which contains both large scale advise and tiny but important details regarding source compatibility vs binary compatibility with aspects that have been unknown to me after several years of developing Java) and "Java Application Architecture" (which contains decoupling strategies, but you only learn to appreciate those after you have encountered the generic problem pattern).

</comment><comment><USER7> Is anyone aware of a similar C# repository?

<comment><USER7> After a little research i have found a repo with C# examples. [https://github.com/abishekaditya/DesignPatterns](https://github.com/abishekaditya/DesignPatterns)

</comment></comment><comment><USER8> I would also mention "Emergent Design" along with KISS and YAGNI. Do not start your code base with a collection of design patterns. This is the usual cause of a complete over designed mess. Instead as the code grows look for the patterns to emerge and then apply them.

</comment><comment><USER9> For PHP, [https://github.com/domnikl/DesignPatternsPHP](https://github.com/domnikl/DesignPatternsPHP) neatly documented with Sphinx

</comment><comment><USER10> Thank you! The code and the docs look great!

</comment><comment><USER11> "Design patterns implemented in Java"

I'd argue that Design Patterns mostly appeared _because of_ Java. Because of people hitting the wall with Java; Java does not allow metaprogramming; Java did not allow class members (it allows instance members); Java does not allow multiple inheritance; Java has a cumbersome and underpowered exception handling system; Java's OOP is really strict and limited; no real functions that can be passed around (not even in Java 8); recursion can't use tail call optimization... etc etc

because of ALL this, then developers had to resort to applying the same workarounds. And such workarounds were collected, tagged, and proposed as

        Design Patterns

by the gang of four.

But seriously, if the authors write,

 _" All designs should be as simple as possible. You should start with KISS, YAGNI (...)"_

Then they should be looking at alternatives to Java in the first place. It's 2017 and there are other alternatives that even run in the JVM (if this is a requirement).

<comment><USER12> Tail call optimization is a way for compiler to align functional recursive algorithm with stack-based procedural reality. Since Java is not a functional language and has sufficient expressive power to write iterations as... iterations, good programmer will just write a for loop and will not bother about a feature that is basically unnecessary in multi-paradigm language. Oh, by the way, recursion is a functional design pattern, isn't it?

<comment><USER11> > Since Java is not a functional language and has sufficient expressive power > to write iterations as... iterations, good programmer will just write a for > loop and will not bother about a feature that is basically unnecessary in > multi-paradigm language.

Ok, so you think recursion is unnecessary _in a multi-paradigm language_.

Which implies also that multi-paradigm languages shouldn't be really multi- paradigm languages... Java, by the way, is hardly a multi-paradigm language.

And you imply that the reason one uses recursion is because one can't "write iterations as ... iterations".

You should realize that recursion is used whenever expressing the problem in a recursive way would make the problem easier to program and/or clearer to express, etc. Not because of recursion being fancy or fashionable.

Recursion is a computer science technique, not a "Design Pattern".</comment></comment></comment>


The 21st IOCCC Winners - <AUTHOR> http://www.ioccc.org/2012/whowon.html

<comment><USER2> The way the site is run really lets the contest down.

<comment><USER3> Why? How? They have a single page with all the winners ever, and for each C file they also have a hint.text/hint.markdown/hint.html file. They also have a Twitter feed.

What's so bad about that?

<comment><USER2> Weeeelll:

1) As others have pointed out, the separate release of code/writeup. I wager that most people really just want to see the code. Why bother doing both? If it's just to attract attention, that's a reasonably valid reason -- but it probably has the opposite of the desired effect, people get annoyed that they can't view the code now, and therefore start disliking the contest in general.

2) Even when the code is released, the format they use makes it difficult to actually look at the code. Let's take the 2011 winners for example [1]. One would assume that clicking each entry (e.g., the top entry[2]) would perhaps show the code, perhaps annotated in a useful way... nope! Surely it must link to the code then... nope! Perhaps it links to a page that links to the code... nope!

You have to go to the 'Winning Entries' page from the main menu (from [1]), scroll down to the appropriate year, then play a fun game of matching up entrant's surnames to their entries (yes, I know the surname is in the URL of [2]).

[ 3) While not a 'real' complaint: the I-just-learned-how-to- use-a-3D-modelling-program logo really is awful. It makes the contest look juvenile, when in fact the quality of the winning entries is very high. The site looks much better without the logo -- try it yourself, delete the img node from the homepage using Inspector/Firebug/whatever. ]

In conclusion: show us the code, delete the logo :).

[1] <http://www.ioccc.org/2011/whowon.html>

[2] <http://www.ioccc.org/2011/blakely/hint.html>

<comment><USER4> 1) The primary reason to do separate releases is because the winning entries do not appear in the website as is. As far as I know the judges have to write separate remarks, the authors have to check any remaining problems and judges and authors have to agree on the finished write-ups. While it is a bit tedious, given the number of winning entries it seems reasonable.

2) Yup, agreed. For example the current website does not allow inspecting the code without downloading it first. (That's why I love www2.us.ioccc.org...)

3) They are not ordinary logos. They are made from the ray tracers from previous IOCCC winners (2004/garave and 2011/zucker, respectively). I do think that those logos should really link to the relevant entries, however.

<comment><USER5> (2) and (3) are now fixed.

(2) The mime types for the .c and .h files are now set to text/plain on <http://www.ioccc.org>.

(3) I (Simon) have added a link to the winning entry that generates the current logo.

<comment><USER4> Oh, thank you a lot! Should have sent emails before, but I always forget...

</comment></comment></comment></comment></comment></comment><comment><USER6> So - where is the code?

<comment><USER7> I wondered that too. But in the news section[1] of the front page:

 _The winning source will be released later this year after the winners have reviewed the writeup of their entries._

[1]: <http://www.ioccc.org/index.html#news>

<comment><USER8> The whole fun of the ioccc is to go through the code and figure out how it is done. Without the code this is a non-event.

<comment><USER9> Reading the write-up in combination with the code is usually really entertaining. Having the code before that would make it a lot less entertaining. But you are of course right, as long as there is no code, there isn't much to actually see here.</comment></comment></comment></comment>


Have you had an egg moment recently? - <AUTHOR> http://www.mobileuserexperience.com/?p=456 <comment><USER2> I've never been to a store where a clerk has checked my eggs -- have any of you? That is something I've always done before sticking a dozen eggs into my cart, since it seems like there's always a broken one in the first box I pick up.</comment>


Show HN: This is why I built my startup - <AUTHOR>

After a sprint towards MVP, we are about to launch what I hope is our most successful project yet. This is what motivated me.
http://blog.thevideosdb.com/how-thevideosdb-came-to-be/
What motivates you? <comment><USER2> What motivates me? The idea that most employee type jobs are working for unintelligent people who smugly feel they have accomplished something because they based they career around exploiting developers, artists, writers, etc. I've met hundreds of people like this, people who freely admit they planned their entire college experience to get into a management role as soon as possible so they could loaf and be non-contributors. These people are often paid more, get budget control and people's salaries and jobs to control, and yet they have done nothing with their careers. I'm talking about extremely dumb people who reverted back to grade school level behavior after college. They don't DO anything except maneuver violently to capitalize on and take credit for other's successes and hard work. They do this like their life depends on it because it does.

When you read about how there is a developer shortage or that 75% of developers leave the field after some age, it is because they are simply asking this corporate environment full of people who can't find anyone new to exploit. Most people in tech at some point realize that they are being exploited by people that faked their way through the hard technical part of a tech career and find something else to do. There are people out there who truly walked the walk, but they are few. If you are working at a place long term you should ask yourself what the hell you're doing there.

</comment><comment><USER3> Try just posting the link next time! Text posts are actually buried faster than links.

<comment><AUTHOR> Is there a way I can post a link and have the headline say Show HN?

</comment></comment><comment><USER4> Been an entrepreneur since I was a kid, long before I even knew the word existed or what the meaning meant. It wasn't a matter of motivation. Its naturally who I am. Never stopped doing business related stuff and probably never will. Don't need motivation for that.</comment>


Show HN: Tool to track Covid-19 near any US location using JHU geocoded data - <AUTHOR> https://www.prospercircle.org/coronavirus-near-me <comment><AUTHOR> My personal itch was to know coronavirus case numbers near my friends and family homes. I just didn't want to know there are 24K cases in Georgia. I wanted to know how many confirmed and new cases are near John's Creek, GA where my parents live.

So I built this tool.

The primary source of US data is Johns Hopkins University geocoded coronavirus data. For international locations and some US locations, I use a combination of public sources - CDC, WHO, ECDC, etc.

For a US location, you can see the number of cases reported in the county of the address. The tool also allows you to see estimated coronavirus stats within a 5-mile and a 10-mile radius of a US address. This number is estimated by combining current county data, with neighboring county data (based on the geographic location of the address and the radius selected), census data, and FCC location information.

Some locations that friends and colleagues are tracking include, their homes, office locations, grocery stores, schools, child care centers, places of worship, etc.

Would love to get Hackernews community thoughts. Hopefully, it is useful to improve the signal to noise ratio when tracking coronavirus stats.</comment>


Billionaire Peter Thiel thinks young people's blood can keep him young forever - <AUTHOR> http://www.rawstory.com/2016/08/billionaire-peter-thiel-thinks-young-peoples-blood-can-keep-him-young-forever/ <comment><USER2> > "I'm looking into parabiosis stuff," Thiel told Bercovici, "where they > [injected] the young blood into older mice and they found that had a massive > rejuvenating effect. … I think there are a lot of these things that have > been strangely underexplored."

> Thinks... blood can keep him young forever

Now that's some extrapolation!

<comment><USER3> Well, the article also quotes someone saying the aging reversal so far has seemed to be permanent, somehow "resetting gene expression". if it works more than the one time, potential immortality?

<comment><USER4> Blood has no access inside cells.) Viruses are using sophisticated machinery to inject pieces of DNA and enzimes into the cell through the membrane.

But the immune system probably gets reorganized and refreshed.

</comment></comment></comment><comment><USER5> Well if this Nietzschean quest for superman immortality doesn't work out, I recommend reading some Sufi poetry to help come to terms with the passing of time. Future generations will just have to find other exemplars of libertarian smugness to look up to.

<comment><USER6> Having no way of their own to biologically reproduce (yet), it is in the interest of queer rights that our most successful individuals (especially entrenched non-liberals such as Thiel) remain in the flesh and kicking for as long as possible; the sexually conservative majority tends to reproduce faster than us, liberals aren't making any babies, and the populations growing the fastest in the world have a history of anti-queer violence.

>Future generations

yeah, those people

</comment></comment><comment><USER7> This seems like a Thiel hit piece. Calling him obsessed is a bit much. How about all the people who eat right, are active, don't smoke, etc? We're all interested in longevity and health on some level. We know guys like Brin are deeper in the longevity hole, to the point of talking about sci-fi nuttiness like brain uploads and such. We also know that many celebrities do things like HGH injections.

Then quoting Gawker as a reliable source for an outrageous rumor with zero proof just tops it off. Clearly, Gawker is not going gently into that good night.

A non-hyserical article about possible longevity solutions championed by the SV wealthy here:

[http://www.newsweek.com/2015/03/13/silicon-valley-trying- mak...](http://www.newsweek.com/2015/03/13/silicon-valley-trying-make-humans- immortal-and-finding-some-success-311402.html)

The article also explains the blood issue:

She found that a protein called GDF11, common in the blood of young mice but sparse in the systems of the older rodents, caused much of the old mice's "reverse aging." In the bloodstream, GDF11 is responsible for keeping stem cells active; when GDF11 levels drop, as they do with age, stem cells (which are responsible for tissue renewal) falter, injuries heal more slowly and aging begins to take hold. But even in very elderly bodies with very little GDF11 inside them, those stem cells never go away—they merely become dormant as GDF11 levels drop. Injecting young blood, with its high levels of GDF11, into old mice seemed to restart those dormant stem cells, causing the old mice to "age in reverse" as they produced the healthy, vital tissues associated with youth. The work is "incredibly promising," says Collins.

<comment><USER8> Using an untested procedure for a non-essential health intervention does raise a mental health question, or certainly a question of judgement.

And anyway, of course it's a hit piece! The vampire metaphor is just too juicy.

</comment></comment><comment><USER9> Peter Thiel, literal vampire.

</comment><comment><USER10> What's the risk of acquiring infection or other disease from these transfusions?

<comment><USER11> That will 100% depend on if the transfused blood contains infection or disease.

</comment></comment><comment><USER4> There are lots of support from animal model experiments - it prolongs lifespan.

Also this idea is a hundreds years old, and has been known even by ancient Chinese.

This is, probably, is the treatment for Castro and others. If one has no serious chronic diseases it will do.

<comment><USER12> You got any links to more info on the ancient Chinese connection? Links or anything to google?

</comment></comment><comment><USER13> Blood doping works: [https://en.wikipedia.org/wiki/Blood_doping](https://en.wikipedia.org/wiki/Blood_doping)

<comment><USER14> Did you read the wikipedia article you linked? The wikipedia article is referencing blood transfusion and replacement as it relates to athletic ability, not prolonged life or aging reversal.

</comment></comment><comment><USER15> Someone flagged this? LOL.

</comment><comment><USER16> Once you go trump, the social justice goes hump!

</comment><comment><USER15> Vampire style?</comment>


You guys realize the apple watch is going to flop, right? - <AUTHOR> http://www.fastcodesign.com/3042987/you-guys-realize-the-apple-watch-is-going-to-flop-right

<comment><USER2> The author is making one fundamental mistake in their analysis of the apple watch: it's a fashion piece, not a gadget. If you look at it as a gadget; it will come up short, because it's lacking for all reasons they identified.

Just take a look at their pages for it: [http://www.apple.com/watch/apple- watch/](http://www.apple.com/watch/apple-watch/) tons of focus on the physical design details, with the actual interface and such taking the back seat.

And with prices ranging from $349 to $17K, it's pretty easy to see it's more fashion than practical.

The fact is, there is a market of people who want this & who bought this, and that's what matters. Yes, it's role as a gadget is questionable, and you certainly do not need it for anything; but people like it anyway.

I don't know that it will flop, in the end. Battery life and features will improve, and new versions will come out that people will buy. Eventually it'll do phone calls and probably have a camera, which will have a whole Dick Tracy appeal to it.

<comment><USER3> while it looks like a "fashion piece" it is a gadget, by a gadget manufacturer, with a battery, features, talks to your phone and has apps. Period. The rest is just marketing buzz.

<comment><USER2> What it is and how you spin it are not always one in the same. Yes, it's a gadget. But it's being presented and sold as a fashion piece, at fashion prices. Technology itself has become "fashionable" and so this just plays right into that. People who are technologists may not see it that way; but people bedazzled by technology will.

It would flop as a gadget. I don't think it has strong enough legs there; at least not this version. but as fashion it has potential. People did not need the watch like they could have needed the iphone or the ipad. This was purely accessory, something they had to be sold on in ways besides practicality; versus something like the iphone which is phone/gps/flashlight/camera/internet/whatever.

<comment><USER3> I see your point and I disagree. I believe that only a very small fraction of people buy the iPhone as a gadget but because you must have it, because it looks sexy and it "just works".

My point? The original author I believe didn't make so much of a mistake because he took well into account what the watch thing represents but still that it failed its target market.

Or, in other words, no one is going to wear a really good looking, really expensive _mechanical_ watch that doesn't run.

</comment></comment></comment></comment><comment> noir-york I sympathise somewhat with what the author is saying. The iWatch is the only Apple product that doesn't 'move' me.

That's all subjective though, we're going to have to wait for the numbers. [http://vr-zone.com/articles/apple-watch-sales-projections-lo...](http://vr- zone.com/articles/apple-watch-sales-projections-lowered-by-kgi-hiked-by- morgan-stanley/92132.html) \- but as with any, take them with a pinch (bucket?) full of salt.

<comment><USER4> I didn't think it was going to move me but since I've been using my Garmin 920XT with smart notifications turned on, I'm definitely seeing the potential - not having to get the phone out to look at notifications is definitely a plus.

</comment></comment><comment><USER4> 720k Android Wear devices shipped in 2014. 1M+ Apple Watches pre-ordered on day 1 and sales apparently still going strong. This is the kind of flop I'd love to have.</comment>


The Value of Learning from Client Relationships - <AUTHOR> http://www.letstalkdesign.co/design/the-value-of-learning-from-client-relationships/

<comment><USER2> Completely agree with the premise of this article. I'd even put communication slightly ahead of technical aptitude in the skills required to freelance.

I've just seen so many freelancers fall on their face because they built out what they envisioned as "done" rather than what the client actually wanted.

It's actually how I lost my first client. It was a two week Rails/Angular contract and I was focused on things such as clean code, contributing to OSS, and putting in tests. At the end of the contract the CEO said it wasn't going to work out.

I asked for a quick call before we parted and he revealed to me that he went with a consultant because he wanted to someone to know exactly what he wanted done and for them to just finish it independently.

It sucked failing like that for my first client after full time work but I'd rank it as my number one lesson in independent work.

<comment><AUTHOR> Well, what's really important was that it was a learning experience.</comment></comment>


It looks to me that Nintendo tried turning the SNES into a full blown 'computer' - <AUTHOR> https://www.reddit.com/r/retrogaming/comments/hxy4je/gigaleak_it_looks_to_me_that_nintendo_tried/ <comment> mr-ron Great video that summarizes whats going on here. Seems like a big deal to a lot of people interested in this era of games: [https://www.youtube.com/watch?v=jwDPwLE7DBw](https://www.youtube.com/watch?v=jwDPwLE7DBw)

</comment><comment><USER2> After the video game crash several companies, including Nintendo, rebranded their next-gen systems as "home computers" to avoid the stigma of being a "video game" system. In that light I don't think it's terribly surprising.

<comment><USER3> Video game crash was 1983 and affected the US marketing and positioning of NES (8-bit), this is 1991 and SNES (16-bit).</comment></comment>