Ask HN: what language should I learn next? - <AUTHOR>

I'm a Ruby developer, and cut my teeth on Ruby/Rails after a bit of PHP. I love Ruby and will continue to use it at my day job. But I'm starting a side project and want to learn something new. What should I try?
I've always wanted to get better at C and Lisp, but building a database-backed web app in either of these seems like a lot of work. How is Weblocks? Any other worthwhile web frameworks for Lisp?
What about Java, or a JVM language like Scala or Clojure? <comment><USER2> I'm enjoying Clojure - in terms of web frameworks there's Webjure and Enclojure, for example. The latter seems more Rails-ish whereas the former is more Javaesque, but it's still pretty early days. I prefer Clojure to Common Lisp as it doesn't have a lot of the cruft you'll find in CL, it has some cool concurrency features, and you get easy access to any Java library you might want to use. Plus, the source code to the language itself and its supporting libraries is very readable and hackable, which is something I haven't found in other languages.

I can't really recommend _web_ programming with C, although it's a wonderful language to learn; I'm sure you'll have many revelatory moments as you get to grips with it and discover things about the higher level languages that you normally use.

Common Lisp is definitely usable for web development, and Hunchentoot is a pretty decent web server and programming environment, although it's certainly not the only one.

<comment><USER3> My personal opinion is that one should learn, and become comfortable in, Java before attempting Clojure. Clojure is a very neat little language, but if you don't understand what it's doing under the hood on the JVM, a lot of stuff is going to end up being mysterious.

Don't get me wrong, I love the language to bits, but a lot of its beauty is in how it takes the existing Java model and does something cool with it - and to understand that, you need to understand what it's working with.

<comment><USER4> Interesting. That's the exact same argument I made above with C and systems programming. Clojure has caught my eye, and I'm familiar with Java, but I'm not as familiar with the JVM itself. Any resources that are good overviews of the JVM?

<comment><USER3> Well, if you want to carry the analogy further, to know Java _is_ to know the basics of how the JVM looks at life. The JVM has concepts of class, inheritance, methods, instances, constructors, and garbage collection baked into it, and they have the same semantics as Java. Arguably, the only difference is one of coding: the JVM codes a Java method as a series of stack- based opcodes, and a class as a set of methods with attributes, but the basic operations are the same. JVM bytecode directly encodes all basic operations: "invoke method X on this class", "declare this method as public and static" - even "if an exception occurs between <this instruction> and <that instruction>, jump <here> to handle it".

By contrast, there's a level of indirection between Clojure and the underlying JVM. And so, for much the same reasons as it's a good idea to know some C when doing systems programming, you won't really understand what Clojure is doing (especially not the stack-traces!) unless you understand Java.

There's also the practical point that, if you're working on the JVM, you'll be wanting to make use of the massive class libraries available for it. They're all written for native Java, so you'll have to be familiar with Java semantics to use them effectively. (Although the Lispy macro goodness means you can then wrap them up inside a concise functional abstraction when you're using them).

If you still want to look at the JVM (for fun, or for implementation reasons), I'd say a good knowledge of Java is enough to just jump head-first into the specification: [http://java.sun.com/docs/books/jvms/second_edition/html/VMSp...](http://java.sun.com/docs/books/jvms/second_edition/html/VMSpecTOC.doc.html)

<comment><USER5> Just want to second this. I just read much of the spec this summer, and was surprised how directly the byte codes corresponded to Java semantics.

</comment></comment></comment></comment></comment><comment><USER6> OCaml. If you've been working with languages dynamically typed at runtime, using something statically typed at compile time will be very informative. Unlike most other statically typed languages, OCaml's type inference turns the type system from a thing that needs to be constantly appeased to a free reality check when you need it.

OCaml will also teach you functional programming tricks usable in Ruby, or several other languages. At the same time, it doesn't force you to learn almost everything all over again before you can do anything at all the way Haskell does. In my experience, OCaml is designed to be a practical, modern, statically-typed, multi-paradigm language, while Haskell is designed to be a conceptually pure language for experimenting with language ideas in new territories. Whether that's a good or bad thing depends on what you intend to use it for.

About the OCaml type system: [http://enfranchisedmind.com/blog/2008/04/14/useful-things- ab...](http://enfranchisedmind.com/blog/2008/04/14/useful-things-about-static- typing/)

"Why Rubyists Should Learn OCaml" (a presentation): [http://enfranchisedmind.com/blog/2008/07/07/rubymn- presentat...](http://enfranchisedmind.com/blog/2008/07/07/rubymn-presentation- of-ocaml/)

<comment><AUTHOR> Thanks - OCaml looks interesting, and would be a little further from Ruby than Lisp because of its static typing, right?

Any frameworks (or good libraries) for web apps? I enjoy digging into languages on their own, but I also want to get things done, which is usually easier with decent libraries for data persistence and user interface.

<comment><USER7> If you want to learn a new language and a new framework, you should try Seaside. It is a very interesting approach to web development.

<comment><USER8> In case you aren't familiar with Seaside, the underlying language is Smalltalk.

<comment><USER6> ...which is a _really_ cool language, and has a much more conceptually elegant implementation of OO than the C++/Java-style, I think.

</comment></comment></comment></comment></comment><comment><USER9> Perhaps you are asking the wrong question here. Instead of learning a new programming language for web apps, maybe you ought to try programming a type of application that is new for you. I think that taking a go at something like a client-server, embedded, mobile, or desktop application would help broaden your perspective and abilities more than simply learning a new language would.

<comment><USER10> Yep. I would learn Objective C and write an iPhone app.

Or I would say to heck with it and learn Lisp.

Why focus on a pragmatic language for web apps? You've got that already.

<comment><AUTHOR> Great advice, ricree and m_fish. I think this is right on. That's why I don't want to learn Python - it looks like a great language, but I already have Ruby. I've been trying C and Scheme on the side, but through reading (SICP and K&R), and I've kind of hit a wall. I really want to put something into production that isn't written in Ruby, and an iPhone app would do the trick.

<comment><USER11> What wall, out of curiosity, are you hitting with C?

<comment><AUTHOR> Understanding the development cycle of an application. I can fire up vi and complete exercises, or build an artificial tool, but that only takes one so far.

</comment></comment></comment></comment></comment><comment><USER12> There's more to software besides the web. Start off by learning C. Learn enough so that you could understand this <http://www.kegel.com/c10k.html> \- and see the implications of what's discussed there (low-level UNIX system calls, C code) on issues you deal with.

Finish learning C, by writing your own C compiler. Yes, really: pick up the dragon book, learn lexx/yacc and do it - it will test your knowledge of data structures and algorithms, automata/language theory and software engineering.

Learn Lisp or OCaml or Haskell just to know a functional language. Don't learn it to write webapps in it.

Learn Perl - and not just for webapps (although mod_perl is incredibly powerful as far as fast, transactional, web applications go), including Object Oriented Perl. Learn enough to automate your systems administration / operations tasks (being able to modify bugzilla would be a plus too).

<comment><USER13> I second Perl. You can learn enough Perl in a week to write neato sed/grep/awk type programs and shell script tupe stuff to outfit your command line however you like. Also... it's a good investment because your tools will run on any platform. You can soak up a measure of Unix culture as you go and you'll pick up a swiss-army-chainsaw that you can use when your usual dev tools don't cut it.

Going up to the next level in Perl has a larger learning curve than you might expect... but the "low hanging fruit" are very easy to get the hang of.

</comment></comment><comment><USER14> If I had the time, I would pick up C. I've spent a number of years working with higher level languages like Java and Python, and while they're good and fun and all that, I feel knowing a low level language like C is important to be an effective (insert any computer related task/job).

I personally am really interested in learning C and then figuring out how to tie my C code into a Python module - maybe increase the speed of some of my code...

That said, I had used some Scheme back in school to write a parser for a stripped down version of C, and while it wasn't the most fun project ever, working with a functional programming language really opened my eyes (up until then it has been OOP/Java all the way).

</comment><comment><USER15> It's probably not worth learning another language for a web development project. You'll spend most of the time learning the syntax and the framework. Nothing which will expand your mind.

Try a functional language like Haskell, Erlang or ML. But you really need a problem to work on. A database-backed web app can easily be written in Ruby, but maybe there is a feature which requires background processing, write that in the newly learnt language.

BTW, how is your javascript?

<comment><USER16> "but maybe there is a feature which requires background processing, write that in the newly learnt language."

great advice.

<comment><USER17> Agree and a standard project to do in Erlang seems to be a webserver which will also increase your understanding of webprogramming in general.

</comment></comment></comment><comment><USER7> If you want to stay on the OO path, I would suggest Smalltalk (Squeak), or the simple but powerful Io programming language (<http://iolanguage.com/>).

C is also an important language to learn if you don't know it already. You could use it to implement a simple database for a very specific task (<http://cr.yp.to/cdb.html>)

</comment><comment><USER18> Languages every programmer should at least have some understanding of:

Lisp - because it's lisp, duh Smalltalk - to actually understand OO Prolog - it requires a completely different thought process, for better or worse Haskell - for understanding useful type systems and functional programming C - because it as low-level as you should ever need

Just my 2 cents

</comment><comment><USER19> How about Italian? In terms of computer stuff... C is always a good one. Erlang is something kind of "new" and different, but at the same time quite practical for certain kinds of applications. Java's not a bad language to know, but it's not that exciting.

</comment><comment><USER20> IO (iolanguage.com) is very cool. The Qi layer over CL (lambdassociates.org) is also worth looking at. q/kdb+ (kx.com) is very interesting, but needs a more complete toolset for a commercial product.

What if your language was nothing but macros? Factor (factorcode.org) is a fascinating example of this, and I think due in part to the project developers and the language paradigm itself, I've never seen any open project language take huge leaps in capability in such a short amount of time as as Factor has. Incredible stuff, but difficult to get into unless you can devote a large amount of contiguous time to it.

When it comes to Lisp, I don't know why it's dismissed just because there's always something wrong with one of the open projects. Just buy Allegro CL - there's something to be said for products which hold up against commercial rigor.

One addition: everybody should probably be learning Erlang.

</comment><comment><USER17> Concurrency and parallelism is hot these days and functional languages are superior there. Learning a different type of language will widen your horizons and once you know one functional and one OO-language then it is quite easy to learn other languages after that.

My suggestions are Clojure and Erlang. Both are made for cincurrency, have web frameworks(maybe not as good ones at rails though) and are functional. Both also run on a VM.

Learning CLojure will also expose you to JAVA and the JVM.

</comment><comment><USER21> It is not difficult to build a database-based webapp using Common Lisp. Hunchentoot, CLSQL and something to generate HTML (CL-WHO and HTML Template are both good).

Clojure is really interesting, and may be my new favorite language. Parallelism is one of those things in programming that is rarely trivial in most languages. Clojure makes a lot of parallel problems easy and it has access to all of Java's libraries.

</comment><comment><USER22> I am in the process of learning OCaml and Haskell. If I can use them in production, great. If not, I'll still learn things I can apply to my Python work.

</comment><comment><USER23> Python because it is

1\. easy to learn,

2\. has lots of libraries,

3\. is anointed by Google,

4\. is anointed by Peter Norvig (<http://www.norvig.com/python-lisp.html>) .

Or go to Erlang. It's concurrency model is untouched. You'll be programming in Erlang someday.

</comment><comment><USER24> This is going to be unpopular advice, but I would suggest algorithms in C. You already know how to make web applications. Any reason you want to know how to make web applications again? Will Lisp or C web applications make you happier or more productive?

What will help you is probably a better understanding of algorithms/programming and I personally like C for that job. C doesn't hide stuff like higher-level languages do. It makes you think about how the computer processes the information and uses memory. I'm not suggesting that you ever use C for one of your webapps. I'm suggesting that knowing C and good algorithms will make you a better programmer in higher level languages because you will understand more.

</comment><comment><USER25> I'm not sure you really need to "learn" another language, if you can program in one you can probably get by in another quite easily given a bit of practice and some documentation.

I think it would probably be worth learning new algorithms or trying to tackle problems which are totally out of your area of expertise if you really want to learn something new.

If you really want to learn a new language you could look at VHDL, and start designing some hardware! I did this myself as part of my research degree and its quite interesting to program code that gets implemented on hardware.

<comment><USER22> _if you can program in one you can probably get by in another quite easily_

Yes and no. That holds true within families - if you know an imperative language, you can pick up any other imperative language easily enough, it's just different keywords and syntax for the same thing. But if you learn a different kind of language - e.g. functional, then you first have to learn a new way to think, and that's where the value is.

As an example, f you want to, you can easily treat Python as a sort of super- shell-script. So it's easy to get into, but most of its power will be wasted. To get the most out of it, you have to learn to think "Pythonically" and that takes time and experience using it to solve real problems, and constant rewriting until you "get it".

</comment></comment><comment><USER26> Just to throw my two cents into the mix, some of the best computer fun I've had in recent weeks has involved playing with Processing.

<http://processing.org/>

As somebody who normally does a lot of Ruby, PHP, Javascript web consulting working dealing mostly with data and database stuff, it's been fun to stretch my mind and play around with a much more visual programming environment.

</comment><comment><USER27> I think your next step should be a couple of static languages. Try C first (and object-c) and create a iPhone app, perhaps. Then try Java. I know, it is not popular around here, but it is good knowing one of the most used languages in the world.

With Java you can do server side programming, or even better do some mobile programmin (J2ME app for a phone, or an Android app).

</comment><comment><USER28> How about Chinese? Probably more useful.

But seriously, python is well regarded and with G App Engine as a possible hosting platform using it, you can also learn more about design for hosted infrastructure apps.

</comment><comment><USER29> I played around with Scala and thought it was really interesting.

</comment><comment><USER30> Hindi! Everything will eventually be outsourced to india, anyway.

Seriously though... Python is probably the best option, followed closely by Java.

<comment><USER31> _Hindi! Everything will eventually be outsourced to india, anyway._

Please keep this kind of thing off HN.

<comment><USER32> It was a joke. Soon after followed by a serious comment.

I would agree with what you said, had the comment been completely devoid of content, but as it is, I think you're being way too harsh.

</comment></comment></comment><comment><USER33> No Perl fans here?

Shame. :(

I, then, humbly suggest Perl. You might like it, and with your Ruby background it shouldn't be hard to pick up.

<comment><USER34> Try learning to write mobile code in Sleep. Its like Perl with anonymous functions all over the place.

<http://sleep.dashnine.org/>

Actually, its my language. Couldn't resist the opportunity to plug it.

</comment></comment><comment><USER35> I'd recommend Python, so that you can play with Djgano.

</comment><comment><USER36> python

</comment><comment><USER37> "who has a month to spare to learn another language?"

<comment><AUTHOR> I don't agree, but this shouldn't be downmodded either.

I definitely don't have a month free to learn a language. But I have a few hours a week free, and I'm not in a hurry. :)

</comment></comment><comment><USER38> BRL

</comment><comment><USER39> French.

</comment><comment> cypress-hill haskell without a doubt

haskell is on the edge of almost every interesting trend in programming tools.

parallelism? check STM? check closures? haskell _is_ closures functional programming? better than any other lang continuation style? check type inference? check good library support? check (kinda) repl? check etc etc</comment>


SSL 'site seals' are even worse than you thought - <AUTHOR> https://certsimple.com/blog/site-seal-ssl <comment><USER2> Head of Let's Encrypt here.

We considered introducing a site seal because it's a common request but we've decided not to do it (at least for now) for reasons similar to many in this post.

It's hard to design a seal that accurately conveys the value added to a site's security by a CA, and the potential for abuse is high. A CA seal either means nothing or implies too much because having a cert from a trusted provider is just one part of what it means to be a secure website.

<comment><USER3> Don't do it!

I want Let's Encrypt to do what it is supposed to: free automated certificates. Let third party tools (like Qualys SSL Labs) rate how good it is.

</comment></comment><comment><USER4> The article mentions this, but its really unbelievably that until recently, at least one major CA was using Flash for their site seal. Incredible how they can justify the security risk and the bloat of Flash in 2015 just so that their logo can animate.

</comment><comment><USER5> Recently I found out that Comodo TrustLogo always displays the site report for www.* even when used on a different subdomain secured by another CA. It is quite useless to include such a site seal even if users wanted to verify it.

[https://twitter.com/raimue/status/692018439502848000](https://twitter.com/raimue/status/692018439502848000)

</comment><comment><USER6> Good article, but the font for some reason is killing me and I can't figure out why.. It's almost like parts of letters are missing.

<comment><AUTHOR> What OS & browser? I can check it out. We use the same font as Medium used to (for readability reasons), but they've changing to system fonts (which are probably better) and I want to cut down on the page size anyway.

<comment><USER6> Windows 8.1/Chrome 48.0.2564.97

<comment><AUTHOR> Thanks! I've moved to a font which looks better on the Windows font renderer. It's fixed now.

</comment></comment></comment></comment><comment><USER7> But I like collecting site seals

[https://feld.me/index.html](https://feld.me/index.html)

</comment><comment><AUTHOR> Author here. So yeah: site seals link to useful info, but their UI doesn't encourage users to click on it: instead it expects users to use the presence of an image in the browsers content area as a source of trust.

Most of HN already knows that, so more importantly:

\- The reason the site seal uses JS (rather than a simple link) is that the link is actually to the CA's sales page, not the site report - there's no 'nofollow' so it's a massive search engine rank boost to the CA.

\- There's a bunch of studies from non-security industry sources about how 'site seals' actually impact conversions. Some are positive, some are negative, but the biggest takeaway is that 'site seals' increasing conversations is by no means a foregone conclusion:

[http://info.usertesting.com/OnDemandWebinarOptimizeYourWebFo...](http://info.usertesting.com/OnDemandWebinarOptimizeYourWebFormsforMaximumConversionJan2015_ViewVideo.html)

[http://www.widerfunnel.com/conversion-rate- optimization/do-m...](http://www.widerfunnel.com/conversion-rate- optimization/do-mcafee-or-hackersafe-security-badges-increase-e-commerce- conversion-rate)

[http://www.getelastic.com/best-practice-gone- bad-4-shocking-...](http://www.getelastic.com/best-practice-gone- bad-4-shocking-ab-tests/)

[https://vwo.com/blog/website-credibility-and-conversion- kill...](https://vwo.com/blog/website-credibility-and-conversion-killers/#)

[http://www.quicksprout.com/2013/10/31/the-7-things-every- gre...](http://www.quicksprout.com/2013/10/31/the-7-things-every-great- checkout-page-needs/)

[http://blog.optimizely.com/2013/12/08/ab-test-assumption- sec...](http://blog.optimizely.com/2013/12/08/ab-test-assumption-security- badges-increase-conversions/)

[https://econsultancy.com/blog/5499-why-good-checkout- design-...](https://econsultancy.com/blog/5499-why-good-checkout-design-is- more-important-than-trustmarks)

[https://econsultancy.com/blog/7941-which-e-commerce- trustmar...](https://econsultancy.com/blog/7941-which-e-commerce-trustmarks- are-most-effective/)

[http://baymard.com/blog/site-seal-trust](http://baymard.com/blog/site-seal- trust)

<comment><USER8> You have a typo on [https://certsimple.com/why-ev- ssl](https://certsimple.com/why-ev-ssl)

"Cost money, because they require the certificate authority to check who your are."

<comment><AUTHOR> Thanks Aardshark! Fixed.</comment></comment></comment>


Xi fears Japan-led manufacturing exodus from China - <AUTHOR> https://asia.nikkei.com/Editor-s-Picks/China-up-close/Xi-fears-Japan-led-manufacturing-exodus-from-China <comment><USER2> Japan led? US should be pulling out as well. At least important things. Not only could we see return of manufacturing with a little protectionism (and possibly subsidy), that could turn into a massive wealth transfer back into the shrinking middle class. And national security is at stake too when you cannot manufacture components critical to the military or economy domestically, as we're finding out now.

Thanks to COVID19, the Chinese century has been at the very least delayed by decades.

<comment><USER3> US cannot be leading exodus now because it has allowed entire industries to be completely outsourced and now suffers from having no specialists in many important areas.

I predict that, thanks to Covid, China is going to gain because it was able to return to normal in 3 months while Europe and US will take most of the year at the very least.

Also China is beginning to be a world unto itself, sustainable in every aspect. They have large portion of world's population as a market, have mature all important industries, they even have their own internet.

Yes, they will be hurt if other countries pull back their production but no, they won't suffer as much as you may think. Countries that don't have all their industries, rely on export to balance the import.

If a country is self sufficient and it does not need import cutting entire export means that they are still balanced with regards to foreign trade.

Looking at China's imports ([https://oec.world/en/profile/country/chn/](https://oec.world/en/profile/country/chn/)), there doesn't seem to be many positions that the China can't fulfill internally. Probably raw materials like crude oil, gas, iron, copper. I am pretty sure they could ramp up the production of ICs and tools pretty quickly.

<comment><USER4> I would agree mostly with the analysis apart from the public sentiment toward China, and the latent nationalism existing in China itself. There are stress line that are coming to the front between EU/US and China partnership due to the political handling of covid-19. I wouldn't be surprised if there was a significant turn to protectionist measures on both side of the Atlantic coming, and specifically targeted at China.

<comment><USER3> This is not sentiment towards. It is a statement of fact.

Don't get it wrong. Chinese people are not free. However, Chinese government knows what it wants and is effective in its actions.

If you love freedom, turning away from factual reports and downvoting unpalatable opinions isn't going to help.

<comment><USER5> Just to hammer down the point: [https://www.uscc.gov/sites/default/files/testimonies/SFR%20f...](https://www.uscc.gov/sites/default/files/testimonies/SFR%20for%20USCC%20TobinD%2020200313.pdf)</comment></comment></comment></comment></comment>


The Fallacy of "Everyone Should Learn to Code" - <AUTHOR> https://medium.com/a-musing/the-fallacy-of-everyone-should-learn-to-code-8171e0896c5d

<comment><USER2> _Does the fact that a fashion designer knows how to code help her design better dresses? Probably not._

I don't think "everyone should learn to code" is proved wrong by virtue of there being careers where you won't use code. Ignoring the fact that more and more careers _will_ involve writing code (even if it's just an excel macro to help with your accounts), learning to code isn't about writing software.

The process of coding is about a logical, methodical approach to problem solving - and that helps with _everything_ , regardless of what you get paid to do. Having a set of skills that enable you to step back and see the bigger picture, think forward to see future problems, develop strategies that account for as yet unknown requirements, and so on, which are the key skills we use to write code, can be applied to non-coding jobs.

What people should learn should be about skills rather than knowledge. Studying things that aren't directly applicable to a job is still useful.

<comment><USER3> You must not know many artists.

</comment></comment><comment><USER4> "coding" !== "problem solving" && "coding" !== "critical thinking";

Not everyone is wired to be an "analytical/critical/problem solving" thinker.</comment>


Show HN: Twocentz iPhone app – Share opinions - <AUTHOR> https://itunes.apple.com/us/app/twocentz/id1143244299?mt=8 <comment><AUTHOR> Hi all, we're a bootstrapped startup looking for feedback on our newly launched iPhone app. Any feedback, good or bad is most welcome!

Twocentz is a fun and simple way to find and share opinions on interesting topics.

• Express your thoughts, share your photos, news, articles and places you visit such as restaurants or just about anywhere.

• Once you make a post, others can add their two cents in two words or less (or emojis).

• Up vote on the two cents you like best and the top ones will bubble upwards to show what everyone thinks about a post.

• Follow your friends and family to see what they're posting and discover accounts from all over the world.

• Poll your followers or tag people you'd like an opinion from.

• Share your post to other social networks and chat apps like Facebook, Twitter and Whatsapp.</comment>


Google's Schmidt Says Inequality Will Be Number One Issue For Democracies - <AUTHOR> http://techcrunch.com/2014/03/07/googles-schmidt-says-inequality-will-be-number-one-issue-for-democracies/ <comment><USER2> This reminds me of a story I heard from a professor while I was studying public relations.

In her early career, my professor was a lobbyist faced with a seemingly impossible task: getting Republicans and Democrats to agree on a healthcare initiative. The nonprofit foundation that employed her wanted Congress to help provide care to more Americans who couldn't afford it. (This is unrelated to the more recent Affordable Care Act.)

Here's the interesting part: my professor didn't just start speaking with politicians. She interviewed and distributed a survey to congresspeople and their aids. The goal was to better understand what phrases attracted or turned off Democrats and Republicans, respectively.

She learned that, when it came to bridging gaps between people, both parties wanted similar things — but they discussed the issues in dramatically different ways. Democrats frequently used the word "inequality" and phrases like "leveling the playing field." Meanwhile, Republicans preferred phrases like "raising the bottom," the notion being that natural economic disparities exist among different groups.

Researching the parties' preferences and crafting different messages, my professor succeeded in passing the initiative.

The takeaway is that if you're trying mobilize people around this topic, be very cautious about the language you choose, especially the word "inequality." Liberals and conservatives both want to help disenfranchised people, but, at least among those with political power, language can be the dividing line.

<comment><USER3> >at least among those with political power, language can be the dividing line.

Yup, the emotional connotations of a word matters to people who are sensitive to that sort of thing. "Job Creator" vs. "exploiter of the proletariat" \- Now, to me? my assumption is that both phrases refer to the same entity. They say a lot about the speaker, of course, but not a lot about what the speaker is speaking about.

My observation, though, is that the sort of people who are most conscious about choosing the emotional content of their words are also the most easily manipulated by others choosing words of different connotations.

it seems very weird to me that someone who manipulates others using a certain technique would also be more vulnerable than average to that same technique being used on them.

</comment></comment><comment><USER4> Technology, in the form of capital, will win over labor as the primary factor of production in the near future [1]. There is no shortage of STEM labor [2], only a shortage of extremely skilled knowledge workers willing to work at bargain basement prices.

The only workable solution involves a state redistribution mechanism, which depends heavily on the politics of your nation. Some nations already have excellent safety nets, others not so much. Best to prepare for the future now, than be caught in an ideological war between the wealthy as they decide the fate of the less fortunate.

Most readers here have the ability to emigrate to a nation with excellent social welfare systems. Look for low crime rates, healthcare, education opportunities and low costs of living.

Conversely, if you are an upcoming or current millionaire/billionaire, the world is your oyster. Just remember that death smiles at us all, so it may be worth giving Craig Venter (et al.) some money [3].

1\. [http://www.washingtonpost.com/opinions/review-the-second- mac...](http://www.washingtonpost.com/opinions/review-the-second-machine-age- by-erik-brynjolfsson-and-andrew- mcafee/2014/01/17/ace0611a-718c-11e3-8b3f-b1666705ca3b_story.html)

2\. [http://spectrum.ieee.org/at-work/education/the-stem- crisis-i...](http://spectrum.ieee.org/at-work/education/the-stem-crisis-is-a- myth)

3\. [http://www.nytimes.com/2014/03/05/business/in-pursuit-of- lon...](http://www.nytimes.com/2014/03/05/business/in-pursuit-of-longevity-a- plan-to-harness-dna-sequencing.html)

<comment><USER5> The problem is that we're not talking about a safety net anymore, but a solution for a permanent reduction in the workforce. That's something entirely different, more daunting, and perhaps unsolvable.

</comment></comment><comment><USER6> People say they want equal pay for equal work. But they don't like some people getting paid more, even though they do more work.

People who leverage technology to create and sell more value take home more money. Those that haven't figured out how to do that or don't care to, don't.

We have machines and systems that enable a person to multiply their efforts. Yes, we do. That's why some people make ridiculous amounts of money. They produce something and manage to deliver it to large numbers of people.

What amazes me is that people familiar with computers and startups still don't understand the effects of technology. Those who command technology have more power than those who do not.

And societies that fail to grasp that will fail to compete with those that do.

<comment><USER7> A defining characteristic of capitalism is that profits go to the owners of the means of production, not those who actually produce. It's not the person who uses the machine that multiplies their effort that make ridiculous amounts of money, it's the the owners of the machines that do. And as time passes, the set of people who own the machines and the set of people who built the machines will presumably only continue to diverge.

Taken to the extreme, you reach a point at which machines can run entire businesses. Profits will go straight to the owners of the machines.

To look at it another way - labor is not priced based on productivity of labor, but rather, supply and demand. As we continue to become more productive there's little reason to think that those who are becoming more productive are those who are earning more. Indeed, looking at a graph of real wages versus productivity over time (quick googling yields [http://thecurrentmoment.wordpress.com/2011/08/18/productivit...](http://thecurrentmoment.wordpress.com/2011/08/18/productivity- inequality-poverty/) ) it's hard to imagine that labor's share of wealth isn't decreasing. This is not a surprising result; as it's supply and demand that sets the price of labor, the impact of replacing people with machines is that there's greater supply on the job market (everyone who is out of a job) combined with less demand (as most industries aren't constrained on number of people they can hire).

<comment><USER8> _It 's not the person who uses the machine that multiplies their effort that make ridiculous amounts of money, it's the the owners of the machines that do._

The obvious solution to this is that the person who uses the machine should also own it. Which means that people who think of themselves as "labor" should be looking for industries where they can own the technology that multiplies their productivity. Such as, just an example off the top of my head, programming. :-)

<comment><USER7> I don't know about you, but my employer owns my work product via an intellectual property assignment agreement, that I signed as a condition of employment. In addition, our operation requires very expensive datacenters, which they clearly own, not any of the employees. Or even all of the employees, taken together.

So, I write programs, but I neither own them nor the systems that are required to run them. Taken collectively, the employees at my job have created a very profitable machine, in that it brings in revenue that greatly exceeds the market cost of building the machine. This profit goes to shareholders, not employees, and an employee by virtue of an employee will not receive any share of the revenue created by their work after they leave their company.

Yes, I am partially paid in stock, and this means I am at times part-owner. But this can be seen as a coincidence and doesn't really significantly alter the power dynamic. I say this because it is ultimately part of our compensation, and the fact that they choose to pay us some shares (and correspondingly less cash) is more of an accounting trick then a fundamental shift in the employee-employer relation.

<comment><USER6> That doesn't keep ypu from buying the means of production, a computer and doing programming on your own. And the what you produce will be yours if you protect it the way your employer protected the work that he paid you to produce for him.

</comment></comment></comment></comment></comment><comment><USER9> _upper limits to the number of people who can hold advanced STEM jobs_

It's not that there is a limited number of people capable of doing work in STEM, it's that the economy doesn't offer enough jobs in STEM. There have been layoffs after layoffs in chemistry, pharmacology and biotech, math isn't the dream ticket to Wall Street any longer - in fact the only areas with job openings are computer science and petroleum engineering. Computer science is growing because investment there increases workers' productivity, and the jobs in petroleum are there because of domestic gas production. As soon as tech yields no more increases and as soon as the gas bubble pops the party will be over there, too. Eric Schmidt predicts public unrest and wants to get out of the way. A worrying thought.

<comment><USER10> "As soon as tech yields no more efficiency increases"

So like never, right?

<comment><USER5> Depends on what you mean by efficiency. Building a widget faster means nothing if there's no buyers.

</comment></comment></comment><comment><USER11> Seems to me that Schmidt and company are just afraid of the poor masses or just wants good publicity. There is no other reason he would care. It's obvious from his "solutions" that they are solutions to his own problems, not those of the poor. Startups are not a solution to this problem. That's just ridiculous. Education and welfare are canned answers.

</comment><comment><AUTHOR> I posted this because this topic has become popular with my friends and family - most of us agree that this is problem number 1 for our society. Not everyone will be able to compete for future jobs and a stronger social safety net will be required.

</comment><comment><USER12> Free men aren't equal, and equal men aren't free. This kind of talk always comes from people who like to tell other people what to do, and Schmidt is no exception.

<comment><USER13> Sorry, but what are you trying to say? What does this have to do with the linked article?

<comment><USER12> Inequality is not a problem. It's a symptom of a society where the decisions you make have an influence over your life. I should have thought that was obvious. Did you read the article?

</comment></comment></comment><comment><USER14> "Number One Issue For Democracies"

As opposed to what? The inequality within aristocracies / theocracies?

This is stock standard "content-free information" that seeks to motivate (usually for political/economic reasons), using only hand-waving and implication as its main rhetorical tools.

</comment><comment><USER15> I know one way Eric Schmidt and other billionaires could put their money where their mouth is...

<comment><USER16> Great idea! Take the 100 richest people in the US, say their wealth is worth $3tn. Distribute this amongst 300m Americans. Everybody gets $10 000. Congratulations! Even disregarding inflation, you'll be in exactly the same situation next year, except this time there will be no more billionaires...

<comment><USER17> That actually sounds like a worthwhile experiment. I doubt the 100 richest would be worse off or at a lack for opportunities to become rich again. And I bet giving $40K to a family of four (since you include children in your 300m count) in poverty would on average go to significant good use and provide excellent returns for many years to come, contrary to your condescending implication that non-rich people would waste the money.

<comment><USER18> I'd definitely suggest listening to this freakonomics podcast: [http://freakonomics.com/2013/09/26/would-a-big-bucket-of- cas...](http://freakonomics.com/2013/09/26/would-a-big-bucket-of-cash-really- change-your-life-a-new-freakonomics-radio-podcast/)

You could also make a similar point as the podcast by looking at the experiences of modern lottery winners. So I would say I'm pretty skeptical that something like this would be effective for the vast majority of people.

<comment><USER17> My comments were not a serious proposal. I was replying to a comment that lacked intellectual rigor and I proposed the opposite to point out some logical flaws.

That said, cash transfers can help bring people out of poverty. A flat redistribution of wealth is not the right way to get that effect, but some kind of direct cash assistance is not remotely a wasted effort.

</comment></comment></comment></comment></comment><comment><USER19> ...Waiting for more Americans to comment. Please keep it fact-free, polemic and don't over complicate. Less is more. Bonus points for 'otherwis' ye speekin german right now' type of "arguments". Their wealth is your freedom.

<comment> FLUX-YOU Look, Schmidt is just another Obama-tomaton. We can clearly see that here: "Schmidt was a campaign advisor and major donor to Barack Obama and served on Google's government relations team."[0] It's purdy darn clear that Schmidtty was going to be more useful outside of the government, safe inside of Google's bunkers.

Whatever Schmidty might say to the public, he's sitting on his nice little nest egg in the event that TSHTF[1]. He has an escape plan and possibly a security detail and a private jet to get the hell out. Probably has a few panic rooms built into that $22 million home of his[2].

>"His new home in Holmby Hills, an exclusive enclave that is one of three neighborhoods forming Los Angeles' Platinum Triangle"[2]

'Enclave'? More like burbclave.

But let's stop beating up the scarecrow and look at his points directly:

>First, support startups. "When you look at the solutions to the problems that you're describing, which ultimately lead to severe joblessness, they all involve creating fast-growth startups."

Now, it don't matter if your startup is makin' moonshine and running from the Fed[3] to hacking a new way to disrupt the sectors of integrated customer service experiences, it's obvious that startups are focused on Silicon Valley right now -- where the money is. Maybe we oughtta spread those startups out a little bit?

>Second is "more education, more information, more connectivity." He and President Obama have both pushed for more education in science, technology, engineering, and math to help fill unmet demand for tech jobs.

Yeah, but the damn problem is that your jobs ask for 99 languages with a decade of experience in each of 'em on top of a computer science degree. All of that time and all of that money for an entry-level position at a startup that can't pay a penny to keep a train from derailing. But guess what? You can make your own workers and get in on the college business, and brother, business is a-boomin'. So how 'bout we get Google there to make their own college and maybe take a shot at these ridiculous tuition costs?

Back on jobs, next to nothin' you got H1-B applicants out the ass takin' our jobs. But hey, there's a market opportunity to bypass those damn regulations[4] Look at that guy. He's wearing a suit and you can always trust a man in a suit.

>Finally, there are upper limits to the number of people who can hold advanced STEM jobs. Those who lose out will need government assistance. Schmidt argued that society needs a "safety net" for those who lose their jobs so they can "at least live somewhere and have healthcare."

Last thing we need is a bunch of leeches on society ruining our labor motivation. People won't use that as a safety net, especially when Big Google is out to automate everything in the name of 'progress'. I don't care if I'm contradicting myself, damn it, I'm mad as hell and I'm not gonna take it anymore. As a red-blooded American, I don't want to be told I American't.

So you see, it's simple -- we kill the Silicon Valley.

[0][http://en.wikipedia.org/wiki/Eric_Schmidt#President_Barack_O...](http://en.wikipedia.org/wiki/Eric_Schmidt#President_Barack_Obama)

[1][http://en.wikipedia.org/wiki/Shit_hits_the_fan#Trouble](http://en.wikipedia.org/wiki/Shit_hits_the_fan#Trouble)

[2][http://www.forbes.com/sites/erincarlyle/2014/02/13/a-look- in...](http://www.forbes.com/sites/erincarlyle/2014/02/13/a-look-inside- google-billionaire-eric-schmidts-new-22-million-hollywood-house/)

[3][http://www.moonshineheritage.com/blog/apple-pie- moonshine/](http://www.moonshineheritage.com/blog/apple-pie-moonshine/)

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

[0x5f3759df][http://en.wikipedia.org/wiki/Poe%27s_law](http://en.wikipedia.org/wiki/Poe%27s_law)

</comment></comment><comment><USER20> Part of the inequality in income results from the inequality in representation. When the wealthy run the government, of course they are going to stack the deck in their favor.

</comment><comment><USER21> Everybody is equal. But some are more equal than the others.

</comment><comment><USER22> We are to our way to a utopian society, where there are no poor and no weak. Unfortunately, they seem to have died in the process.

</comment><comment><USER23> Seems like Inequality is an old issue, which goes back to monkeys.

</comment><comment><USER24> Why do all think that inequality is bad? Inequality is the way to evolution. Keeping the area from influence will create ghetto someday.

<comment><USER25> Thank god we are all equal in death. That's the only justice left in this world.

<comment><USER26> Don't worry, technology will solve that soon enough too.

</comment></comment></comment><comment><USER27> he should worry.</comment>


Ask HN: Fairly Hotel/B&B on bay area - <AUTHOR>

I'm going to spend about one week on bay area in september. as I can see there's many HN's who live there, could someone give me good/not-so expensive hotel suggestions.<p>Thanks in advance. <comment><USER2> <http://airbnb.com>

<comment><AUTHOR> Amazing, thanks PG

</comment></comment><comment><USER3> Where will you be? San Francisco, San Jose, Marin, East Bay, Fremont, or the mid-Peninsula. It makes a big difference. And what sort of amenities do you require?

</comment><comment><USER4> <http://hotels.homesteadhotels.com/>

they have locations in san carlos and mountain view.

</comment><comment><USER5> where in the bay area? It is pretty large!

I am in San Jose.</comment>


Show HN: git-bug – Distributed bug tracker embedded in git - <AUTHOR> https://github.com/MichaelMure/git-bug <comment><USER2> This is interesting, a few disconnected points:

\- You should post this to the Git mailing list. We don't bite, and a lot of people would be interested in the details of how it works there.

\- If you haven't you should check out git-annex. It solves an entirely different problem, but much of the distributed custom merging of histories, using git for ad-hoc metadata etc. is the same problem you're solving.

\- You should be aware if you aren't that the design of having a ref per bug has some drawbacks, some operations in git are O(n) the number of refs.

\- It would be really interesting to see some write-up on how the format you're using compares to the format Fossil uses for its bugs. I think some of what Fossil does wouldn't be possible to do in git due to its simpler data model, but still, such a comparison would be educational.

</comment><comment><USER3> I have always wanted something like this without having to move away from Git (to Fossil).

A bug tracker like this allows the bug history to be tracked and remain with the source code which is much better than keeping the bugs in a web based service because every 5 years you need to migrate it (Bugzilla to Trac to JIRA) and in every migration, some context or formatting is lost.

For something like this to be successful in enterprises, the tool should be management-friendly. Right now JIRA leads because it allows management to pull pretty reports out of it. Is there anything planned in git-bug to appease these management type people so that it has a good chance of taking off in the enterprise world too?

<comment><USER4> Fossil's fantastic. The next release includes (in addition to their extant version-controlled tickets, wiki, and blog) discussion forums. [https://www.fossil- scm.org/index.html/doc/trunk/www/forum.wi...](https://www.fossil- scm.org/index.html/doc/trunk/www/forum.wiki)

<comment><USER5> Are there any active Fossil instances available for free/open source projects? I found Chisel, but am not sure whether many of the projects are active.

Also, the design of Fossil and Chisel is s bit difficult to read on mobile.

<comment><USER6> If you click through Chisel you can find a few active projects. You're right about discoverability though; It's not great.

Fossil's neat because it really tries hard to be decentralized. Because of that the repo is really all you need. Hosting isn't so important when code, bugs, forums, and wiki can be moved by copying one file. The downside is that there's no FossilHub with thousands of projects using similar UIs and conventions.

As far as Fossil hosts go, I know of at least one more: [https://secure.hydra.ecd.space/](https://secure.hydra.ecd.space/)

<comment><USER7> I think one issue is that it's really easy to set up a public Fossil instance. It takes about two minutes to get it running if you've got a web server with CGI support.

</comment></comment></comment></comment></comment><comment><AUTHOR> If you missed it on the readme, I wrote a document that explain how it works behind the scene: [https://github.com/MichaelMure/git- bug/blob/master/doc/model...](https://github.com/MichaelMure/git- bug/blob/master/doc/model.md)

</comment><comment><USER8> This is a nice idea, let me ask you a question:

One of the more interesting projects now a days is ForgeFed ([https://github.com/forgefed/forgefed](https://github.com/forgefed/forgefed)) which would allow for projects to use ActivityPub for pull requests, forking, etc.

This is important because so much of the value add of Github isn't in the git hosting (which one can do with Gitea or Gitlab) but in the collaboration.

This is also important because many Github extensions work through their API to glue functionality such as test suites and linting through monitoring a PR.

So where might your project fit in there?

<comment><AUTHOR> The problem with this approach is that usually your work computer is not reachable from internet, so ActivityPub won't work here. It might be used to create a federated GitHub though, but it's outside of the scope of git-bug for now. The project is just one month old ;)

<comment><USER8> The way you could bridge the two is that you'd have something to monitor the bugs in both directions (gitbug -> AP and AP -> gitbug).

The argument that connectivity is an impediment is valid, but increasingly less so.

The problem with storing bugs in git is that you are forcing the users to download the entire project, or to make a PR for each comment, etc.

So a bridge would make things much easier.

</comment></comment></comment><comment><USER9> I love this because I started building a small utility to help me consistently track issues inside my project files like tickets/{folders}/{file }.md inside my projects, because I do not need an enterprise level management system, and I also really like the idea of tickets moving and closing as a part of merges, IMO it provides a better context when looking through history.

This is clearly more elegant, though it adds a new dependency, which is OK.

<comment><USER10> > I also really like the idea of tickets moving and closing as a part of > merges

So does that mean that bug reports are tied to branches? (I.e. depending on which branch you've checked out, you see a different list of bugs?) I wouldn't like that idea at all because how would you keep track of bugs (and related discussions) _across_ branches? (For instance, having 10 branches would imply that you suddenly have 10 versions of the same bug discussion, too.)

<comment><USER9> It does pose a significant problem.

I see more value in it for clear technical tasks with technical descriptions, and not so much for discussions. Then proposals can be peer-reviewed before accepted as work that needs to be done (as a merge request to master, for example).

Then another problem that comes along with that, especially for golang users, is that your master branch is getting bombarded with issue updates, causing what looks like releases, when there's no effective change.

</comment></comment></comment><comment><USER11> With the rise of static sites I'm not sure why something like this isn't much more common. Would love to see more options like this. Maybe eventually (not holding my breath) different git hosting providers will allow exporting to formats and importing to ticketing formats, so you can go from cloud to local instance or vice versa, or store tickets for mirror purposes.

Maybe someday git projects will have a /tickets folder or branch? Tickets per branch... hmmm... Maybe ignore the ones not in Master

<comment><USER12> There is also Distributed code review system for Git repos: [https://github.com/google/git-appraise](https://github.com/google/git- appraise)

<comment><USER13> That's super rad. Thanks. Now something I can use with Keybase.

<comment><USER12> Keybase already has git integration: [https://keybase.io/blog/encrypted-git- for-everyone](https://keybase.io/blog/encrypted-git-for-everyone) (now sure why would you want Keybase but okay).

<comment><USER14> I imagine they meant it's a way to do code review for projects they currently host on Keybase.

<comment><USER13> Correct, thanks.

</comment></comment></comment></comment></comment></comment><comment><USER15> Bugs are "retroactive" \- you discover a bug, and then go on to determine the earliest point it was present.

Given that, I am looking for an extremely niche but vital feature: the ability to keep track of which branches a bug has been fixed in. Is this something git-bug can or does enable?

<comment><AUTHOR> Not yet, but that might be a good feature. Also, the goal is to have an extensible data model where you can store whatever metadata you want to support arbitrary external bug tracker.

Please open an issue so we can discuss that.

<comment><USER16> It would be nice to have a way to automatically update a bug's status when a commit claims to fix it. Presumably that could be done with a (server-side) hook.

</comment></comment></comment><comment><USER17> A similar but much more minimal tool in shell: [https://claudius- hubig.eu/note.sh](https://claudius-hubig.eu/note.sh)

It uses a dedicated "bugs" branch checked out to a .bugs directory in the current working directory. To use, copy it to a git repository which has a master branch and a remote for this master branch an run it.

Very bare-bones, but so far sufficient and without external dependencies (but probably lots of security problems…).

</comment><comment><USER18> This looks great! I'll very much consider using it for my next project, if only for the warm feeling in the stomach that my bugs are close to the project itself. Huge kudos to the author.

The one thing that I'm not sure about is the separate `git bug push/pull` commands. I guess it makes sense, but I'd prefer ordinary `git pull/push/fetch/merge` to seamlessly handle syncing bugs around.

<comment><AUTHOR> git-bug store the data in separate references that are not in `refs/head`, so they are not recognized as branches. This is meant to not pollute the normal code workflow.

git push/pull doesn't touch references outside of branches and git-bug has special code in the push/pull commands to merge bugs when needed.

<comment><USER19> > git-bug store the data in separate references that are not in `refs/head`, > so they are not recognized as branches

How does that work with garbage collection?

<comment><AUTHOR> `git gc` will garbage collect what is not referenced by a ref anymore, including arbitrary references. So it's fine !

As each bug reference the file blob needed, once your delete a bug, `git gc` will clean these blob as well.

<comment><USER20> `git gc` will also garbage collect any ref that isn't used by a current branch/tag (under refs/heads and refs/tags), the index (staging), originals from filter-branch (refs/originals), and reflogs.

The question isn't whether the data will be garbage collected, but how the active data AVOIDS being garbage collected - git gc only targets a pretty small amount of refs to preserve.

<comment><USER2> You are wrong about the semantics of git-gc. It will consider for garbage collection all objects that are not referenced, and a reference is everything under refs/*, in addition to the other things you mentioned (index, reflogs etc.).

<comment><USER20> The documentation on the man page does not make that clear, if explicitly calls out specific ref types - so that makes more sense.

</comment></comment></comment></comment></comment></comment></comment><comment><USER21> This is really nice. I think this would work really well as a GitLab integration i.e. Use GitLab's UI when online, but store the issues in your repository so it's available offline etc.

<comment><USER12> That's my main issue with GitLab, there is so much interesting innovation that they could do w.r.t. tooling but instead they play it safe by copying Github or providing integrated services that are already possible in Github.

<comment><USER22> I genuinely feel this is not the case. GitLab is so much more - it encompasses the full DevOps Lifecycle in a single application. If you haven't checked out our homepage recently, it might be interesting for you to rediscover what GitLab offers - [https://about.gitlab.com/](https://about.gitlab.com/)

Full disclosure: I work for GitLab, but what I stated above has nothing to do with the fact, it's how I personally see GitLab as a product.

<comment><USER12> > GitLab is so much more - it encompasses the full DevOps Lifecycle in a > single application

That's what I meant by "integrated services already possible with Github". I guess you are familiar with Github Marketplace.

I don't mean to offend GitLab, it's a great service, I just mean that it could be much more if it worked on low level things too, like storage of issues as git objects, or federated instances. These are hard problems that won't make GitLab easy sell to a manager but definitely interesting things that would get developers attention.

<comment><USER22> We have some low-level stuff on our roadmap (e.g. federated Merge Requests [1], federated GitLab instances [2], cross-platform mentions [3] - i.e. mentioning GitHub users). These didn't get prioritized yet, but it's only a matter of time. We have limited resources so we have to prioritize and scope out releases in a such a way that it advances both our vision and satisfies customer requests.

A really interesting low-level component that we created and use in production is gitaly [4] (which is a git RPC component that aims to completely remove GitLab's dependency on NFS for repository access - and replace it with gitaly itself).

[1] - [https://gitlab.com/gitlab-org/gitlab- ce/issues/4013](https://gitlab.com/gitlab-org/gitlab-ce/issues/4013)

[2] - [https://gitlab.com/gitlab-org/gitlab- ee/issues/4517](https://gitlab.com/gitlab-org/gitlab-ee/issues/4517)

[3] - [https://gitlab.com/gitlab-org/gitlab- ce/issues/42230](https://gitlab.com/gitlab-org/gitlab-ce/issues/42230)

[4] - [https://gitlab.com/gitlab-org/gitaly](https://gitlab.com/gitlab- org/gitaly)

<comment><USER12> Glad to hear that, I was not aware of most of these. How about starting GitLab Engineering blog? :)

<comment><USER23> There is already an "engineering" category:

[https://about.gitlab.com/blog/categories/engineering/](https://about.gitlab.com/blog/categories/engineering/)

</comment></comment></comment></comment></comment></comment></comment><comment><USER24> Honest question: how does it compare to bugs everywhere?

[http://bugseverywhere.org/](http://bugseverywhere.org/) has been around for a long time but services like GitHub and GitLab refuse to support its format, effectively blocking the adoption of the tool.

<comment><AUTHOR> Bugs Everywhere: \- bug are stored as files alongside the normal code, which is different than the vast majorities of bug tracker operate, and also rely on git to merge properly the bug's files in a correct state. In git-bug, merge is simply rebasing commit, there is no conflict. \- last commit was in 2013

As far as I understand, the data model of git-bug is much closer than what github does internally. If you look at githug's API, you will find the same timeline of edit operation, so it might help them to pick up the idea.

</comment></comment><comment><USER25> There's also [https://github.com/dspinellis/git- issue](https://github.com/dspinellis/git-issue), but I don't have any experience with it yet. Maybe it can give you some inspiration

</comment><comment><USER26> Awesome for personal projects or those startups with teams composed primarily of developers. But I wonder if the nature of embedding the bug reports in the repo makes it largely inaccessible to your typical QA and support personnel who tend to open the most tickets at larger organizations?

<comment><USER27> There are two sets of people who want to track programmer tasks, and they're quite different already.

The most successful company I worked for used two systems. There was an "external" user-friendly one, where customers could file issues and track changes and tie them back to contractual requirements and such, and there was an "internal" developer-friendly one, where programmers could talk about what line of the source code forgot to add one and which changeset hash introduced the bug.

Our partners wanted to file issues at the level of "I need to have some way to be able to do XYZ", and they shouldn't have visibility into source code and programmer assignments and internal roadmaps. Our programmers broke these into "Write a function to do X()" and "Add a database table for Y" and "Z.c crashes when you leave the title field blank", and they shouldn't be exposed to customer data that was part of the request.

It worked tremendously well, and I'm surprised this split approach isn't more popular. git-bug looks like it could be a great solution for the internal one.

<comment><USER28> IBM's old PMR system was their front-end, and they used CMVC as the back-end until it got replaced [1]. The two combined did what you described, and was the earliest example I know of as a commercial offering of version control tightly bound to bug reports. Very satisfying to see this concept get more traction with git and various bug trackers. I wish a public open interchange standard would evolve so the different integration combinations wouldn't be so brittle, though.

[1] [https://en.wikipedia.org/wiki/IBM_Configuration_Management_V...](https://en.wikipedia.org/wiki/IBM_Configuration_Management_Version_Control_\(CMVC\))

</comment></comment></comment><comment><USER29> Would be nice if there was a tracker done in all shell, or just plain text, so that we don't need to rely on go, or another program.

Maybe it could work to develop a core protocol and data structures that are usable by others, with your own go implementation to work with those structures and protocol.

</comment><comment> yoz-y I really like this. However, I'd like to know if there is something like git- bug status to see what new bugs/comments were added and git-bug reset (or checkout) to revert recent changes that were not pushed.

<comment><AUTHOR> That make sense. I'm waiting to have a clear design for the CLI UX to improve that. Feel free to raise your voice: [https://github.com/MichaelMure/git- bug/issues/2](https://github.com/MichaelMure/git-bug/issues/2)

</comment></comment><comment><USER30> In the past I've worked in a lab where dev laptops could be disconnected from the network for days without notice.

A tool like this would have reduced the productivity hit during those periods.

</comment><comment><USER31> Stumbled upon this similar project: [https://github.com/sit-fyi/issue- tracking](https://github.com/sit-fyi/issue-tracking) yesterday. I thought it was an interesting way of going about it. It's build upon this idea of serverless information tracking. [https://github.com/sit- fyi/sit](https://github.com/sit-fyi/sit)

</comment><comment><USER32> Personally I've had great success with [http://mrzv.org/software/artemis](http://mrzv.org/software/artemis) for the past few years. Issues are stored in a `.issues` directory as maildirs, so it does "leak out" into the file tree, unlike this which seems to build on Git's existing metadata storage.

</comment><comment><USER33> I felt a need for this long time ago, but since i use emacs, I just created a "bugs.org" file at the root of the project directory

</comment><comment><USER34> A pure python distributed bug tracker with a web interface. Also it has attachments. Very easily customizable:

[http://travisbrown.ca/projects/nitpick/docs/nitpick.html](http://travisbrown.ca/projects/nitpick/docs/nitpick.html)

</comment><comment><USER7> Is there any reason to stop with a bug tracker? Why not a wiki, metadata about your files, task list, etc.?

<comment><USER35> I went through this thought process with SIT[1] -- it started out with issue tracking hard-coded into it but it has been later extracted into a separate model and the data & process models are being refined to make them much more generic and support other use cases.

[1] [https://sit.fyi](https://sit.fyi)

</comment></comment><comment><USER36> This reminds me of sit: [https://sit.fyi](https://sit.fyi)

</comment><comment><USER4> This is the second time this week I've seen, and been jealous of, a gocui interface.

</comment><comment><USER37> huge fan of this model. i started my own proof of concept of it a while ago, tho didn't take it this far. i assume you can track the status of the bug independently per branch?

<comment><AUTHOR> Bugs storage and management is entirely disconnected from the regular code and branches. That said, it probably make sense to be able to tag a bug with the branches that are affected.

<comment><USER37> ah, bummer. yeah, "closing" a bug in a branch / PR, and then having that status automatically tracked across all merges into master / other branches is i think a huge win for this kind of idea. (vs. manually tracking it per branch, which is a good feature but no one ever seems to use, i believe because it's just to labor intensive.)

<comment><USER38> That helps you track the location of _one_ fix, but not of all the other places the bug still resides (other release trains, for instance.) I feel like maybe there are several release models that would benefit from different types of bug trackers.

<comment><USER37> agreed. to be clear i like this project a lot. we desperately need innovation in this area. this current github+jira duopoly on issue tracking is annoying.

</comment></comment></comment></comment></comment><comment><AUTHOR> Shameless plug: if you like this, I'm looking for a remote job. My email is on my Github profile and my resume is here: [http://pellelatarte.fr/dl/resume.pdf](http://pellelatarte.fr/dl/resume.pdf) .

<comment><USER39> Sorry for turning this comment thread into an AMA but I have a question for you as the author :)

Reading over this page [https://github.com/MichaelMure/git- bug/blob/master/doc/model...](https://github.com/MichaelMure/git- bug/blob/master/doc/model.md) gives me the impression that you're reproducing some of Git's functionality. Can you elaborate on why Git's merge model is insufficient and why the "Operation/OperationPack" serves the distributed- edits problem better than Git itself? Or alternatively, explain what I'm missing about how this doesn't step on Git's toes? Congrats on building this and shipping it!

<comment><AUTHOR> Damn, your comment moved my shameless plug at the very end of the thread :(

<comment><USER40> I wouldn't be too worried, it made it here: [https://news.ycombinator.com/bestcomments](https://news.ycombinator.com/bestcomments)</comment></comment></comment></comment>


Understanding GauGAN Part 1 - <AUTHOR> https://blog.paperspace.com/nvidia-gaugan-introduction/ <comment><USER2> These images are stunning. I love the name "Gauguin". I don't know enough about GANs to evaluate the explanation in this article; is it helpful?

<comment><USER3> important to remember that header image is result of professional concept artist drawing over gaugan result (bottom left). explanation of paper is not awful but not great, would recommend to read the original [https://arxiv.org/pdf/1903.07291.pdf](https://arxiv.org/pdf/1903.07291.pdf)

<comment><USER2> Thank you!

</comment></comment></comment><comment><USER4> Here is a working GauGAN sample notebook you can fork: [https://ml- showcase.paperspace.com/projects/gaugan](https://ml- showcase.paperspace.com/projects/gaugan)

Disclosure: I work on Gradient

<comment><USER2> How do you download the notebook? I don't see the download link. Or are we supposed to copy and paste it cell by cell?</comment></comment>


Windows Terminal Preview Is Now Available for Download from Microsoft Store - <AUTHOR> https://www.microsoft.com/en-us/p/windows-terminal-preview/9n0dx20hk701 <comment><USER2> TL;DR

EARLY PREVIEW BUILD

This very early preview release includes many usability issues, most notably the lack of support for assistive technology. Much of the internal work to support this is complete and it's our top priority to support assistive technology very soon. To follow progress please follow this issue on GitHub: [https://github.com/microsoft/terminal/issues/634](https://github.com/microsoft/terminal/issues/634)

ABOUT WINDOWS TERMINAL

The Windows Terminal is a new, modern, fast, efficient, powerful, and productive terminal application for users of command-line tools and shells like Command Prompt, PowerShell, and WSL. Its main features include multiple tabs, Unicode and UTF-8 character support, a GPU accelerated text rendering engine, and custom themes, styles, and configurations.</comment>


Show HN: Chartify – React.js plugin for building charts with CSS - <AUTHOR> https://chartify.github.io/chartify/example/ <comment><USER2> Bottom chart shows a missing feature, I'd like a way to zoom in or something, right now it looks like you play that one song a lot and all other songs are indistinguishable in terms of play count.

Also do you only have a few songs from any given year?

</comment><comment><USER3> Ooh, this is just in time for me. Was searching for a React charting plugin with multiple styles just in the morning. Will give this a spin in development and come back with more comments. Thanks :)</comment>


Family or Career - Zero Sum Game? - <AUTHOR> http://ben.casnocha.com/2010/03/do-you-want-a-family-or-a-calling.html

<comment><USER3> Steve Blank had a good post about this, if you want some perspective from someone who has actually dealt with these issues:

[http://steveblank.com/2009/06/18/epitaph-for-an- entrepreneur...](http://steveblank.com/2009/06/18/epitaph-for-an- entrepreneur/)

<comment><USER4> I use the similar approach, with the main principle being that the family must not be neglected no matter what.

As my daughter slowly grows, I see clearly that a neglect of not spending enough time with her for a longer time can't actually be compensated later on, and that could only create regrets when I'll get older.

My experience have been so far that family/career can be balanced, since it is always possible to squeeze out more time for work by getting up sooner, stay awake longer or give up some personal leisures.

<comment><USER5> We currently live somewhere where my work is a 20 minute walk away, my wife's work is 15 minutes walk away and our son's school is 10 minutes walk away.

That has made a _huge_ difference to what we can both get done in a day - <USER2> need for long commutes (previous role had a commute of 2.5 hours a day) or school drop off and pick ups.

<comment><USER6> Wow, that's really, really cool. How'd you swing that?

<comment><USER5> The main factor is probably being in central Edinburgh - which has a combination of nice homes, offices and good schools in a fairly compact area.

</comment></comment></comment></comment></comment><comment><USER7> Work on your family as hard as you do your career:

"A truly rich man is someone whose children runs into their arms even when they're empty"

"My daughter one time said... We were leaving church, like a church party. We were driving home, in the car. And she didn't want to go home. She was like 3 or 4 at the time. I don't want to go to Mommy's house. I don't want go to Mia's house.

OK, we'll go to Daddy's house. OK.

We pulled into our house and she started freaking out crying. Why? She thought my house was the office.

And that's when I realized I needed to start pulling back.

To step it up, be a baller at home"

\- Josh James, founder of Omniture

From video originally posted by adammichaelc (I highly recommend the entire 1-hr video for inspiration and a kick-in-the-seat-of-your-pants)

<http://news.ycombinator.com/item?id=1164815>

<comment><USER8> Thanks for posting that link. As someone with a 1 year old and aspirations of having my own software business, the video provides tremendous inspiration and food for thought.

</comment></comment><comment><USER9> I really liked the Steve Blank post. As for my personal experience, Skype and Google Apps turn this old paradigm around. I am launching my first business right now, and last week my first son was born. As I work 90% from home, the 60 hours weeks don't interfere with my family time at all.

<comment><USER10> This. The technology we have at the moment actually assists a great work-life balance. If you're spending fourteen hours a day working at the exclusion of everything else, you're simply doing it wrong. That's the long and the short of it.

</comment></comment><comment><USER11> It was amusing to see a book with a picture of Ben Franklin being advertised on that page. It's hard to think of a stronger anecdotal rebuttal of the blog entry's argument.

</comment><comment><USER12> Wow, all of the sudden I feel very grateful: I'm a few years into running my first startup and I hired my wife (who has a PhD in my startup's field) as the 3rd employee.

Felt risky at the time, but it has definitely made life easier working those 12+ hour days together.

Now just gotta have some kids and hire them too..."Finish your code or no desert for you!"

</comment><comment><USER13> I used to work for a guy who was a family man, good at his (demanding) job, and ran triathlons. This is doubly impressive, as I see many fat programmers who might be successful in their families and careers but are neglecting their health. As far as I could tell, his method was:

1)Be very focused while on the job and have mounds of energy.

2)Be very smart.

3)Be very clear about your goals and what you want from life.

4)Do not care about appearances. He would regularly come in and leave at odd hours. But his superiors didn't care because he got good results.

5)Be insanely likeable. Maybe his superiors or his clients would have grumbled about his hours if they didn't think he was a swell guy. Note: being good at your job and likeable is a killer combination for being able to bend the rules and get away with it. Either quality alone is probably not enough.

6)Pick reliable underlings and delegate. This is related to point (5). Everybody wanted to work for him, you couldn't know the guy and NOT want to work for him, so he was able to choose competent people for his team.

I don't know that I could be like my old boss. Right now, I can barely keep grad school and my health together. But I have an example to emulate.

</comment><comment><USER14> _A calling is an activity you find so compelling that you wind up organizing your entire self around it -- often to the detriment of your life outside of it._

From this definition I would say that a family is a calling (and IMHO the most rewarding one). I've seen too many exceptions to believe that you can't do both.

</comment><comment><USER15> I always wondered whether part of it (at least in this day and age) was that it's disadvantageous for the spouse to have a hard charging partner. If the partner gets ahead, then they could get a better spouse.

</comment><comment><USER16> it doesn't have to be a choice.. but for most startup oriented people it will probably become one. also probably unintentionally. they end up ignoring their kids etc...

i love my job and even though it gives me a lot of freedom to spend time with my family i still sometimes get so caught up i have to remind myself to focus on the family.

</comment><comment><USER17> Family + Career = 0? Of course it isn't. If it were, success would be an automatic by-product of your family's misery.

What a silly, silly, statement.

<comment><USER18> Zero sum doesn't mean that the two terms literally sum to zero, just that one trades off directly against the other.

Family + Career = K

would be the algebraic expression of it.</comment></comment>


Ask HN: Resources for Updating JavaScript Skills? - <AUTHOR> The last time I did any heavy lifting with Javascript, jQuery was mandatory and Backbone and Mustache were hot.  (So, yeah, only about 5 years ago.)  But with a new side project requiring a modern front-end, it's time to get up to speed on the modern ecosystem.
A grasp of the absolute basics should be all I need to be able to research and learn the rest as the need comes up.  What are some good practical introductory resources on the following topics that are aimed at a reasonably experienced Javascript developer and that won't take more than an hour or so each to grok?
1) modern javascript package management
2) React
3) ES6 <comment><USER2> Top JavaScript Libraries & Tech to Learn in 2018 [https://medium.com/javascript-scene/top-javascript- libraries...](https://medium.com/javascript-scene/top-javascript-libraries- tech-to-learn-in-2018-c38028e028e6)

SEARCH RESULTS FOR REACT JS [https://www.creativebloq.com/search?searchTerm=react+js](https://www.creativebloq.com/search?searchTerm=react+js)

Fullstack React: The Complete Guide to ReactJS and Friends [https://coderprog.com/fullstack-react/](https://coderprog.com/fullstack- react/)

</comment><comment><USER2> 5 of the best JavaScript frameworks [https://www.creativebloq.com/features/best-javascript- framew...](https://www.creativebloq.com/features/best-javascript-frameworks)

AngularJS is a structural framework for dynamic web apps. [https://docs.angularjs.org/guide/introduction](https://docs.angularjs.org/guide/introduction)

SEARCH RESULTS FOR ANGULAR [https://www.creativebloq.com/search?searchTerm=angular](https://www.creativebloq.com/search?searchTerm=angular)</comment>


Golden age superheroes were shaped by the rise of fascism - <AUTHOR> https://www.theguardian.com/books/2019/aug/17/art-spiegelman-golden-age-superheroes-were-shaped-by-the-rise-of-fascism <comment><USER2> tldr: Dude makes irresponsible claim that Trump is a fascist by referring to "orange skull" and has publication rejected.

Fascism was invented by Mussolini, as the combination of socialism and nationalism. Mussolini was a fellow traveler of Lenin, who congratulated Mussolini when he took power in Italy. Hitler patterned the Nazis (the national socialist party) after Mussolini's creation.

I'd hardly call Trump a socialist.</comment>


Squery, a semantic search engine for databases - <AUTHOR> We are happy to introduce Squery. Squery is a semantic database query engine which can understand user's natural language input and uncover the matching entities. Currently it is able to recognize different expressions with same meaning such as "male person" and "person who is male", identify conjunction like "person working in San Francisco and living in ". Users without SQL knowledge can use Squery just like the way they usually ask questions. Squery works on MySQL and can be extended to any relational databases. Our demo is on http://22.214.171.124/nlp/ Your feedback is very valuable to us. You can reach me at firstname.lastname@example.com <comment><AUTHOR> I have made some updates to the search engine. Now Squery is able to recognize more flexible queries

</comment><comment><USER2> 404 error :/

<comment><AUTHOR> Turned out database disconnected =( try again

<comment><USER2> still errors i will mail you :)

<comment><AUTHOR> I can see the page on my browser. What exactly was the problem on your end?</comment></comment></comment></comment>


Ask HN: What's the most memorable thing you can do with $8000? - <AUTHOR>

A friend's late grandmother left him about $8000 "to do something memorable".  We need some help, since neither of us is familiar with the range of possible experiences outside of going to class, coming home, and doing   homework.  He's going to graduate in April (at age 22), though, so his time and mobility constraints will be nil.<p>How could he use the $8000 to the greatest fulfillment of the will? <comment><USER2> How about a long trip through Africa?

$4,645 + about $2k for flight gets you a 72 day trip from Nairobi to Cairo at: [http://www.tourvacationstogo.com/africa_tours.cfm?npid=18428...](http://www.tourvacationstogo.com/africa_tours.cfm?npid=18428&nhr=1)

They have longer trips too... up to 120 days (Cairo to Capetown - [http://www.tourvacationstogo.com/africa_tours.cfm?npid=15961...](http://www.tourvacationstogo.com/africa_tours.cfm?npid=15961&nhr=1)) for $7,170 + about $2k for Tickets.

</comment><comment><USER3> Well, nothing says "memorable" like a full-torso tattoo. $8K should just about cover it.

I'd recommend a couple of months of living someplace unique, I've always been partial to the Caribbean. You could live for almost a year on $8000, and get to see places and meet people that would likely have a lasting impact.

Or, lease/rent an RV and drive across the country to experience different regions.

</comment><comment><USER4> Travel far from home. I recommend nols.edu, for instance:

[http://www.nols.edu/courses/locations/scandinavia/scandinavi...](http://www.nols.edu/courses/locations/scandinavia/scandinavian_sea_back.shtml)

Add the plane ticket for under $8000. That's a month he'll never forget.

</comment><comment><USER5> Travel seems an obvious answer. For $8000, you could probably go just about anywhere on Earth for at least a week.

<comment><AUTHOR> Travel does seem obvious. I'm hoping for more specific answers, though.

He lives in Ontario, Canada. He's already been to Great Britain and France.

<comment><USER5> Agra (site of the Taj Mahal)? Giza (site of the pyramids)?

I think it would depend greatly on his particular interests. I don't think anyone can tell you, or him, what would be most memorable to him. What has he always wanted to do? Where did he dream about as a child?

<comment><AUTHOR> Maybe I could rephrase the question: "What would be the most memorable thing YOU could do with $8000?"

The things he dreamed about as a child are likely to be petty and unmemorable given his limited exposure to the possibilities.

<comment><USER5> The most memorable thing I could do with $8000 is follow Wir Sind Helden on their summer tour through Austria and Germany, but that's something very personal to me. I've always loved the feeling associated with big, open air concerts. Wir Sind Helden is my favorite band. I'm obsessed with learning German. And I've been to Germany, and have wanted to go back ever since returning to the states. None of this, presumably, applies to your friend.

You don't need to know all the possibilities. You just need to know what you love.

I don't mean to be unhelpful but, "What's the most memorable thing you can do with $8000," sounds an awful lot like, "What's the right way to spend $8000," and there is no right way. There is no "most memorable thing." There is no "greatest fulfillment of the will." Le mieux est l'ennemi du bien. The best is the enemy of the good. There is no possible way to spend $8000 that someone won't consider awesome and someone else won't consider a complete waste.

<comment><AUTHOR> I don't find your answer unhelpful.

Before your post, almost all of my ideas were of the form "travel to set of places X and see what you see." Now, I have ideas of the form "follow y while learning z", where y may be a band, a sports team, migratory animals, a circus, or famous trial lawyers in open court.

</comment></comment></comment></comment></comment></comment><comment><USER6> 1\. Go to a bar and buy everyone a round of drink and another and another till either you or someone else collapse.

2\. Give it to someone needy or Sponsor a kid

3\. Find a startup/non profit which works in an area which resonates with his grandmom's interests and invest in them

</comment><comment><USER7> hike the appalachain trail.

buy a RTW (round the world) ticket.

buy some christmas gifts for kids in need.</comment>


List of reserved usernames to prevent url squatting - <AUTHOR> https://gist.github.com/caseyohara/1453705

<comment><USER2> Amusingly, 'chinese' appears twice in the top-50 languages. (Besides 'mandarin' and other spoken chinese languages.)</comment>


Google: Links Will Become Less Important - <AUTHOR> http://www.huskyseo.co.uk/blog/google-links-will-become-less-important/

<comment><USER3> I don't understand his point. In the video he says "We will get better at understanding what user _is asking us_.

Therefore backlinks will become less important _as a measure of how important / trustworthy a website is_."

But these are two separate issues. Namely when user goes to Google and asks something, Google has to perform two tasks:

1) Figure out exactly _what_ the user is asking

2) Based on what was asked, provide a list of websites that answer the user's question (sorted by the order or relevance / authority)

I don't understand how getting better at (1) should change how Google does (2). They still have to have a way of sorting sites that offer answers - <USER2> if they can achieve a perfect understanding of user intent.

</comment><comment><USER4> This is a slightly misleading title.

Matt Cutts: for the next few years links _are not going anywhere and will still be used for determining reputation_.

But overtime, Google will rely a little bit less on links for reputation purposes.

</comment><comment><USER5> The content of this article is practically a transcript of this 2 minute 9 seconds long video on the "Google Webmasters" (official) Youtube channel, linked in the article; where Matt Cutts answers user asked questions: [http://www.youtube.com/watch?v=iC5FDzUh0P4](http://www.youtube.com/watch?v=iC5FDzUh0P4)

I personally, generally like transcripts and texts more than videos - but this video/clip was so short that I found it easier to just watch that instead.

</comment><comment><USER6> Stupid question: with all this crap becoming IRRELEVANT. What the hell IS relevant to search?

</comment><comment><USER7> And Google+ will overrun facebook...

</comment><comment><USER8> Or rather, google wants them to so it can bring everyone through google search and build up more profiles to spy on them.</comment>


Only fools rush in (and watch presidential debates live) - <AUTHOR> https://worldbetter.svbtle.com/only-fools-rush-in-and-watch-presidential-debates-live <comment><USER2> The article makes a good point. But one reason I favour watching such an event live is to get ahead of the mainstream analysis before it starts to influence me. i.e. I only have one shot at a blank slate and first impression

This is similar to why I might want to watch a popular film on opening night, before the rest of the world declares it a winner or loser.

The headline and "winner"/"loser" judgements of tonight's debate will be loud and unavoidable by tomorrow morning. Their impact can be insidious.

</comment><comment><USER3> People are going to want to watch the debates live for the same reason people want to watch sports live. You can argue all you want for why a post-processed sports game is going to be so much better, but the truth is that's not what people want.

And the sort of people who are going to want to read a fact-checked version of the debate are in the tiny minority and likely well-informed enough that they have completely made up their minds well and truly before the debate.

I do however think that fact checking is an absolutely great idea, it just needs to be done live. There could be a fact checking team which can interrupt candidates with objections, or ring a "pants on fire" bell, or something entertaining.

<comment><AUTHOR> The difference between sports and debates are that the post-processing in sports isn't going to change the most important "outcome," i.e. who won.

But post-processing when it comes to debates can mean overlaying information on top of the video that identifies clear falsehoods -- undermining a candidate's ability to play fast and loose with the truth to win, knowing that there's no real penalty for doing so.

So the "winner" might emerge differently if for example, news agencies didn't publish the live video, but each agency did independent fact checking (if the video were under embargo) and then each published annotated and unannotated versions.

You could still watch the vanilla version if you wanted to, but at least there would be widespread access to factually vetted versions as well.

</comment></comment><comment><USER4> I'd rather make up my own mind than have the cultural mandarins tell me what I should think. Honestly, if us plebs can think for ourselves, maybe we shouldn't be allowed to vote. Personally I'm wondering if Hillary can stand up for 90 mins straight since she obviously has a debilitating neurological issue.

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

</comment><comment><USER5> I've been watching a lot of Scott Adam's periscope videos about Trump as a "Master Persuader" and although Im not sold on the premise, it has made me reconsider the real role of a president. A job beyond detail work and one instead of setting direction and tone. It has definitly got me watching the campaign in a different way and I'll be watching the debate tonight with his periscope feed on my phone.

Adams, creator of Dilbert, has a track record for predicting Trump's moves. He has a theory worth looking into about Trump's church pastor as a youth being Norman Vincent Peale, the author of The Power of Positive Thinking. Adams is a trained hypnotist and detects in Trump the influence of Peale's techniques.

That said, I'm not American and enjoy my political theater with a pinch of conspiracy theory, so... grain of salt.

</comment><comment><USER6> Or here's an idea: I can watch it live _and_ read the analysis afterwards? No wait, that would make me a "fool".

</comment><comment><USER7> .

<comment><AUTHOR> Aren't there some set of claims that a candidate makes that nearly everyone can agree are objectively false? What's wrong with annotating a debate with that sort of information?

</comment></comment><comment> a-no-n This title is more apropos:

ANALYSIS | 13:37 GMT First Debate Between Giant Douche and Turd Sandwich

[http://www.fxstreet.com/analysis/first-debate-between- giant-...](http://www.fxstreet.com/analysis/first-debate-between-giant-douche- and-turd-sandwich-201609261337)</comment>


How neutrality locks in the web's 'Hyper Giants' - <AUTHOR> http://www.theregister.co.uk/2010/08/09/neutrality_new_net_hypergiants/

<comment><USER2> Private peering/caching/CDNs/etc are, in fact, the example that gives the lie to ISP claims that they can't charge for premium networking services: they absolutely can and already do.

Trick is, that sort of premium service requires an outlay of capital. Equipment may need to be bought, fiber lit, configurations made.

Blocking Net Neutrality, however, would allow the telecoms to enforce artificial scarcity on a per-protocol basis to increase profit disproportionate to any increase in capacity and with almost no capital outlay.

The actual issue isn't whether or not it's wrong for an ISP to accelerate content from a given provider. The issue is whether an ISP should be able to artificially constrain already-promised supply based on largely-arbitrary definitions they control and can game for increased profit.

As there is no Net Neutrality requirement, the ISPs could --today-- create agreements with terms that explicitly lay out QoS based on protocols. There is nothing stopping them from doing so, _except_ for the fact that they'd be required to communicate those terms to the public and that they'd be taking a gamble that some upstart would break ranks.

This squeeze only works if they all agree on the QoS policy and, industry- wide, the peering agreements all change. (If the peering agreements build in QoS, a consumer-side network can't effect a lack of QoS. Everything will have already been throttled upstream.)

This is a horizontal collusion play in plain site.

</comment><comment><USER3> The author seems to confuse economies of scale with being locked out of the network. They aren't remotely the same thing.

</comment><comment><USER4> The author is mixing up (or perhaps trying to force into the same boat) private peering and caching with Net Neutrality. Net Neutrality is about not prioritising traffic from one source or the other.

<comment><USER5> I think he is not mixing it up... I think the main point of the article (no matter if you agree or not) is that the philosophy behind the net neutrality, e.g. the idea of maintaining a levelled field, are already history.

The author suggests that already now a company like Google can use money to set up a "parallel" Internet. Because it's closed, they don't need to uphold any regulation. But they can use them to shorten the number of hops a package has to take to travel between two computers.

<comment><USER4> The number of hops still isn't related to net neutrality any more so than buying servers in a particular country can reduce the number of hops to a given ISP.

<comment><USER5> Hey, don't shoot the messenger. :)

What you just said was pretty much his point. By decreasing the number of hops you are speeding up the connection (maybe not, but let's say so for simplicity).

His point then is that net neutrality has always been a fuzzy concept. Because even now you can boost your speed by spending a lot of dollars, for example buying servers as you point out.

I won't comment if its a realistic comparison, but I definitely found it an interesting pov: food for thoughts. :)

</comment></comment></comment></comment><comment><USER6> And..... a non-neutral internet locks out all of the little guys.

</comment><comment><USER7> Andrew Orlowski is the worst of the trolls at the register, I stop reading the instant I see his name. You might find that insulting or arrogant, but it's a "don't feed them" policy which leads to a happier life. Judging by the comments here it looks like it's a good policy.</comment>


Backify to delete all free accounts in 7 days - <AUTHOR> http://i.imgur.com/1Ym3c.png

<comment><USER2> I signed up with a free account and got the email a few hours ago. I had a feeling this would happen because I couldn't figure out how they were going to make money when they were giving away 500GB for free.

</comment><comment><USER3> I have a free account with Backify and did not receive that email.

<comment><USER3> I spoke too soon, just received the email.

</comment></comment><comment><USER4> The free storage was probably a marketing ploy.</comment>