Startup Sauna Puts Some Money Where It's Mouth Is, Secures Inventure Backing - <AUTHOR> http://techcrunch.com/2012/09/06/startup-sauna-puts-some-money-where-its-mouth-is-secures-inventure-backing/

<comment><AUTHOR> Big step for the Northern European, Baltic and Russian startup ecosystem. The VCs are putting in an effort to help early stage companies!

<comment><USER2> Congrats Antti et co. for securing this partnership deal, I think this raises Startup Sauna to a new level.

</comment></comment><comment> guard-of-terra How come article title is grammatically sound, but the HN title is not?

<comment><USER3> At least that proves it isn't a copy-paste job...

</comment></comment><comment><USER4> This, more than anything else in the history of startups, indicates that we are in a bubble. The heat and moisture in a sauna would play havok on computers and laptops.

Joking aside, they could probably choose a better name for their incubator. Startup Sauna is not a sauna. Rather, it is used in the same context as Silicon Valley or Silicon Beach. Maybe they should have gone with Silicon Fjord instead?</comment>


Alleged Hypocrisy and Discrimination at Glitch (Fog Creek Software) - <AUTHOR> https://twitter.com/nancy_hawa/status/1263858543448424449 <comment><USER2> Upvoted for the expression "aspirational truthing".

</comment><comment><USER3> > Before he started, users visiting [http://hyperdev.com](http://hyperdev.com) > (Glitch's predecessor) went straight to the editor. An app was spun up > automatically.

> All those users and apps were counted in usage figures for as long as I was > there (and maybe still?) Of the millions of apps that Glitch tauts, I'd > guess a significant percentage are either barely changed from the default or > do nothing but return a 500.

I've always wondered could this sort of behavior be considered fraud? Kind of like how I think some platforms allow bots to boost usage statistics, etc.

And, if the company doesn't work out, can the investors sue for that reason?

</comment><comment><USER4> > Some people had their years of experience knocked down if the experience > wasn't Fog Creek Caliber. So a person could have 7 years of experience and > get paid as if they had three. I understand this practice was kept after Fog > Creek changed to Glitch.

This is pretty egregious. Are there any current or former staffers (throwaway accounts if you value your NDAs) who can attest to this? Was there any reference document internally which discussed what constituted the appropriate "caliber" of work experience?

<comment><USER5> While I get this is frustrating - the bands don't matter. What matters if you are fundamentally being paid your worth. The bands are just an excuse for them to say "see we're paying you enough" \- they are not truth in and of themselves. And if you are not being paid enough, no matter what the bands, HR, or BS of the week says, you should advocate for yourself and probably leave.

<comment><USER6> Underrated comment. If you're not getting paid what you're worth, find an org that values you more. Always Be Interviewing.

</comment></comment></comment><comment><USER7> As the saying goes, don't build a tower until you've counted the costs, because of you only get it built halfway people will mock you.

All of these changes look good and quite frankly progressive (highest made a max of 4x the lowest, for example). Now that they haven't delivered, it looks like it was just talk.

A shame really, because I'd like to see this kind of transparency catch on, but calling out the hypocrisy will certainly put downward pressure on it.

</comment><comment><USER8> It finally happened [https://news.ycombinator.com/item?id=20016983](https://news.ycombinator.com/item?id=20016983)</comment>


Show HN: Ambient background noise mixing on web, iPhone and Android - <AUTHOR> http://asoftmurmur.com <comment><AUTHOR> The iPhone app was released today. The interface is made with react-native and the audio-playing part in objective-c.

Happy to answer any questions.</comment>


AWS lets agencies carry out unconstitutional surveillence on their customers - <AUTHOR> https://www.reddit.com/r/The_Donald/comments/6phcxi/i_will_remain_quiet_no_longer_and_americans_need?d=1 <comment><USER2> He's tired of surveillance so he posts publicly on a site hosted on AWS.

He's just some disgruntled employee, clearly just trolling for attention (why post on The Donald otherwise).</comment>


The Big Bang Theory Video - The Bus Pants Utilization - CBS.com - <AUTHOR> http://www.cbs.com/primetime/big_bang_theory/video/index.php?pid=H8pVgkLKFX__8As0MhPe3hCoSohIZlYk <comment><AUTHOR> UI View Controller on your screen</comment>


Dawn of the Dead NPM Packages - <AUTHOR> https://www.react-reveal.com/blog/npm/ <comment><USER2> I also noticed the search is pretty awful. I published a library that was impossible to find (even if written in full) because hitting 'enter' after a search just went to a more popular library that must have a closely matching term somewhere in their keywords or description.

So my only option for making the library findable at all, was to use a word that was unlikely to appear in any other fields of other packages. I settled on a dutch translation of one of the concepts used in the package, that would still have a predictable spelling if an English speaker heard it.

It's unfortunate, because the implication is that if you want your package to be found at all (assuming you already know the full name of the package, not even talking about discoverability), you need to pick a name that's unlikely to have any bearing on the function of the package.

</comment><comment><USER3> Last year, I switched to using the Yarn website[1] to search for packages. It's powered by Algolia[2], and it delivers much better results in my experience.

[1]: [https://yarnpkg.com](https://yarnpkg.com)

[2]: [https://discourse.algolia.com/t/2016-algolia-community- gift-...](https://discourse.algolia.com/t/2016-algolia-community-gift-yarn- package-search/319)

</comment><comment><USER4> I am a dev who uses Node.js a lot and published quite a few packages; the state of npm is very, very sad. It has evolved from being one of the great things on Node.js to something you have to fight constantly with counterintuitive defaults everywhere. Not that it used to be much better, but these issues were only acceptable when the ecosystem was smaller.

</comment><comment><USER5> I've had a lot of difficulty dealing with NPM as a customer. Changing a billing date is not possible, and you cannot get annual plans that are reasonably priced. As it is, I expense $14 a month in NPM expenses every month with no ability to switch to an annual billing.

The request to change a billing date was met with a hilarious response. Pause using the paid plan until you get to the day where you want billing to start, then unpause. In the interim, access to the paid features would be gone. Thanks, but no!

GitHub, by way of comparison, was a dream. Change the billing date to the first? Done and done.

</comment><comment><USER6> Ahhh, the wonderful world of npm, where every small task has 20 libraries that are all named the same and half of them are abandoned and the other half have confusingly overlapping feature sets, and sometimes are actually all from the same authors.

<comment><USER7> I thought wordpress plugins were bad keeping up to date, NPM is the same nightmare. Better filtering needed.

</comment></comment><comment><USER8> I agree with the author 100%. I personally never use npm directly for search. I also prefer to just use google as a start, and usually find the github results there more appealing. I realize it's not npm's prerogative to satisfy what I like, but I don't really understand their motivations either. A basic account costs $5-15/month for what I feel is a critical ecosystem service as the author puts it. It feels like the quality of the UI is related to this cheaper price, when I for one would pay much more for a better experience. It feels like they are selling themselves short for the importance they have achieved. It kind of feels like either the original product managers lost motivation, or they've become too big to have people that really care. (Or have to say this, they are just stuck up hardcore devs that don't care about the real world) I'm definitely not ranting and appreciate npm, but wanted to write my feedback here in case it's read by them.

</comment><comment><USER9> It's a shame that npm seems to have such a hard time doing what's it's supposed to do: making packages easy to discover, use and keep using.

</comment><comment><USER10> FWIW I usually use [https://npmcompare.com/](https://npmcompare.com/) to find packages that are actively maintained

<comment><USER4> Doesn't work on mobile

<comment><USER10> Fortunately I (and probably most people) don't usually program on their mobile devices...

<comment><USER4> Ah didn't think that one, just wanted to quickly test it. But I do use my phone on dead times (like train) and some times check npm there to see if my idea exists and for possible names. Guess not such a big case for USA where you mostly drive everywhere though.

</comment></comment></comment></comment><comment><USER11> It's really sad that npm has a great platform and amazing opportunity to innovate and deliver a great developer UX. I was going to apply there and see if I could get an interview to figure out what's up with them, and maybe to try and take things in a better direction.

</comment><comment><USER12> I'm guessing that the problem is the search engine? It would be interesting to compare the search/suggestion engines of CPAN/PyPI/rubygems/npm/CRAN, because this can't be a problem that has only been faced by npm.

<comment><USER13> Part of it is scale and growth rate. CPAN has around 36k packages but it's been around decades. NPM exceeded 350k a while ago.

See [http://www.modulecounts.com](http://www.modulecounts.com)

<comment><USER14> NPM used to have its own search, then one day in late 2016 decided to outsource it to [https://npms.io/](https://npms.io/) . That may be directly related to the issue at hand

<comment><USER15> Using the search terms used in TFA, npms.io seems to return the expected results compared to whatever's used on npmjs.com. So I don't think we should blame them.

</comment></comment></comment></comment><comment><USER16> The Elm package library is such a breath of fresh air! I'm glad I moved over.

</comment><comment><USER17> This is a really harsh assessment of a crappy search engine.

<comment><USER8> I honestly wouldn't refer to them as a search (engine). Implementing a keyword search with a Lodash function and a few if/else rules feels like it would provide better or comparable results to the current offering. I wouldn't refer to that as an engine.

</comment></comment><comment><USER18> most of the code we run every day is very old. the idea with open source packages is that you do not have to repeat the work made by others. but you can improve it if you can/want. old code is often "battle tested" and thus it can actually be safer then something that get constant updates.

<comment><USER19> That's not related to the issue at hand, which is that users searching for _actively maintained_ projects are getting sent to _old unmaintained_ projects that are abandoned for reasons other than "it is so stable it needs no updates". It's like trying to install CUPS (last updated a month ago) but being redirected to cup-stacker-pro (last updated in 1997). Sure, it's definitely old code, but is it really a good idea to install it?

But I also disagree that old _code_ is "battle tested". Old _codebases_ and old _projects_ are a different story. Running a binary built 10 years ago isn't generally a good idea, but running a modern release of a 10-year-old project is almost always better than a project started 2 weeks ago. The benefit of old _codebases_ is the experience of the maintainers involved, but you don't get that benefit if the codebase hasn't been maintained (or you're using a release that was made before they gained that experience).</comment></comment>


U.S. National Security Agencies Said to Swap Data With Thousands of Firms - <AUTHOR> http://www.bloomberg.com/news/2013-06-14/u-s-agencies-said-to-swap-data-with-thousands-of-firms.html <comment><USER2> Holy shit.

       Microsoft Corp. (MSFT), the world's largest software company, provides
       intelligence agencies with information about bugs in its popular software
       before it publicly releases a fix, according to two people familiar with the
       process. That information can be used to protect government computers and to
       access the computers of terrorists or military foes.

Microsoft gives US military hackers and the NSA zero days to go hack people with.

I think this helps explain Google's 7-day disclosure. Also, _fuck microsoft_. Running your mouth and trying to blackball people who don't give you 60 days while (presumably selling) those exploits to governments? Just amazing.

Edit: here [1] is discussion of Tavis Ormandy / Google's new 7 day policy. I really wonder if this was partially driven by eg Microsoft's abhorrent behavior.

[1] [http://www.theverge.com/2013/5/30/4379004/google-to-make- cri...](http://www.theverge.com/2013/5/30/4379004/google-to-make-critical- zero-day-exploits-public-after-7-days)

<comment><USER3> governments of every other country should shit in their pants after reading this. Stop using MSFT os at this very moment.

<comment><USER4> I can't believe there's a government anywhere in the world surprised by this news.

<comment><USER5> There's a difference between baseless speculation and justified paranoia.

</comment></comment></comment></comment><comment><USER6> I tried to submit this hours ago but nobody upvoted:

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

 _" As of 2008 there were reportedly eight million Americans listed in the database as possible threats, often for trivial reasons, whom the government may choose to track, question, or detain in a time of crisis."_

We are more than half way in the road to serfdom and tyranny.

EDIT: Resubmitted now as "http" \- [https://news.ycombinator.com/item?id=5878571](https://news.ycombinator.com/item?id=5878571)

<comment><USER7> 2.5% of the entire US population. Jesus christ...

<comment><USER8> I'll be sorely disappointed in myself if I'm not on the list.

</comment></comment></comment><comment><USER9> Well, there's the smoking gun for the reason behind CISPA. I'm sure tptacek still won't admit he was wrong though.

<comment><USER10> What was tptacek wrong about?

<comment><USER11> I'm not sure exactly what the parent comment is referring to, but here's one instance.

tptacek: "Someone on Twitter (sorry) said that Google and Facebook "looked like angels" compared to Verizon. That sounds about right to me, too."

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

</comment></comment></comment><comment><USER12> "AT&T, Verizon

Before they agreed to install the system on their networks, some of the five major Internet companies -- AT&T Inc. (T), Verizon Communications Inc (VZ)., Sprint Nextel Corp. (S), Level 3 Communications Inc (LVLT). and CenturyLink Inc (CTL). -- asked for guarantees that they wouldn't be held liable under U.S. wiretap laws. Those companies that asked received a letter signed by the U.S. attorney general indicating such exposure didn't meet the legal definition of a wiretap and granting them immunity from civil lawsuits, the person said."

This will make the ACLU's law suit 1000% more interesting as a legal battle.

Verizon doesn't just sit around and think to themselves "hey, if we're going to work with the NSA we should do some CYA". They have entire legions of smart lawyers who mulled this whole NSA business over (substantially I hope) and came to the conclusion that "this is most certainly a violation of the law and we need complete documented assurance from the government that our actions can never be prosecuted in court".

And they got it. But will it hold up?

<comment><USER13> I don't understand how the executive branch can guaranty immunity from civil action in the judicial branch.

<comment><USER14> > I don't understand how the executive branch can guaranty immunity from civil > action in the judicial branch.

The letters from the AG are protection from criminal action, and probably _government_ civil action, that extend beyond the term of the administration issuing them (wiretap laws have criminal as well as civil provisions, and there are cases where the government can bring civil prosecutions.) For criminal laws, ignorance of the law is not a defense, but reasonable reliance on an interpretation provided by the public authority responsible for enforcing the law usually _is_ a defense. For civil actions, reliance on the representation of the party _bringing_ the action likewise can be a defense.

For civil action by a third party, unless there is a specific provision that makes this a defense for the particular offense at issue (which there may be, but I'm not aware of one), I don't think this would be particularly useful under any generally applicable principal.

<comment><USER13> Thanks for the breakdown.

</comment></comment></comment></comment><comment><USER15> `Committing officer`? wtf is this? Subpoena these guys. They have immunity, so why not make them talk?

      If necessary, a company executive, known as a "committing officer," is given
      documents that guarantee immunity from civil actions resulting from the
      transfer of data. The companies are provided with regular updates, which may
      include the broad parameters of how that information is used.

</comment><comment><USER16> How much of a role did the requirement for complete secrecy play in this scenario? Secrecy mean the recipients of such orders were isolated, thinking they were by themselves in this. Such a person will be much less likely to disobey orders.

Now that the dam has sprung a leak, and the full extent is becoming evident, people will begin to realise that they are not alone, and it is safe to talk. There is safety in numbers. One gets the feeling that the whole scheme is unravelling, and this is the trickle before the dam bursts.

I'm looking forward to it.

</comment><comment><USER17> > While companies are offered powerful inducements to cooperate with U.S. > intelligence, many executives are motivated by patriotism or a sense they > are defending national security, the people familiar with the trusted > partner programs said.

Their fervent patriotism certainly didn't stop them from demanding immunity as a prerequisite.

<comment><USER18> Patriotism. Yeah, sure.

This article runs terribly short on the other half of the question: what did companies _really_ get in exchange?

Call me a cynic, but I can't believe it was just the fuzzy warm feeling of being a patriot.

<comment><USER19> Considering all the tax sheltering that the corporations engage in and the government doesn't aggressively pursue, I think they already get great financial breaks.

(My contacts at IRS said they are warned to avoid "poking" into certain institutions actions without highest authorization. So they go after the small fry and leave the big fish alone. Fucking game of life is rigged.)

</comment></comment></comment><comment><USER20> Wow, this scandal just keeps getting bigger and bigger. Good to see some light finally being shined into what had been darkness. A free and open society, based on classical liberal / Enlightenment ideals of individual freedom, is NOT compatible with secret governments, secret laws, secret courts, mass surveillance of the public and all of the things the US government is doing. Now we know, and now - if the people have any spine or backbone left - we can force some change.

</comment><comment><USER21> Am i supposed to believe all the companies participated in the program just out of the goodness of their hearts?

Yeah right... Anybody want to dig deeper see what they got for participating?

<comment><USER22> Should be self explanatory. What would companies in say the manufacturing industry want? ... access to sensitive foreign competitors data stored on the cloud.

Industrial espionage plain and simple. It's in the interest of both the US government (to increase domestic economic activity) and said business to share this information.

</comment></comment><comment><USER6> This keeps getting worse.

<comment><USER23> Baffle them with bullshit or dazzle them with details.

I think we are against an effort to tranquilize us with tyranny!

Where we are just overwhelmed with outrageous actions such as to desensitize us to the fact that ___" well, holy shit, this is so pervasive and so entrenched, what is there to be done? I mean, my life was great for the last three years and this has been going on, at such great lengths, for so many years -- how bad can it be??"_ __

This is a test as to how much we will take. They want action - they want an excuse to really show us what debt slaves we are.

</comment></comment><comment><USER24> To me, this is the scariest part though not that surprising:

        "That metadata includes which version of the operating system, browser and
        Java software are being used on millions of devices around the world,
        information that U.S. spy agencies could use to infiltrate those computers
        or phones and spy on their users."

A database that contains the specific versions of installed software for millions of computers world-wide is a very powerful tool. For any given target --if their machine is in the database--compromising their system is a trivial matter! It's a "what exploit would you like to use today?" situation.

Assuming they gather this information from Internet backbones--I'm OK with that. Good for them for skimming data off the _public_ Internet and shame on the software that makes it too easy.

On the other hand, if they're obtaining this data from the likes of Microsoft (or McAfeee or any other incredibly popular vendor with an item in everyone's systray) that is an _incredibly scary_ proposition. No target stands a snowball's chance in hell at not being (trivially) compromised. It's one of those situations where, "you'd better not use _that_ company's products!"

I can't even imagine the sheer destruction that could occur if such information fell into the wrong hands. Imagine if some "fuck the world" anarchist hacker got his hands on a database that contained precisely the information he needed to, say, compromise (and just plain erase; 'rm -rf *') just about every banking computer that happened to be listed. It would be like, ARMAGEDDON.

</comment><comment> enoch-root > If necessary, a company executive, known as a "committing officer," is given > documents that guarantee immunity from civil actions resulting from the > transfer of data.

Letters of marque ([https://en.wikipedia.org/wiki/Letter_of_marque](https://en.wikipedia.org/wiki/Letter_of_marque)) of our day

</comment><comment><USER25> Well I guess that explains stuff like this: [http://arstechnica.com/security/2013/02/at-facebook-zero- day...](http://arstechnica.com/security/2013/02/at-facebook-zero-day-exploits- backdoor-code-bring-war-games-drill-to-life/)

</comment><comment><USER26> While it makes sense for US carriers to want immunity from civil lawsuit, I'm not sure that would make sense for Google, Microsoft, et al - as obviously any US guarantee wouldn't protect them from civil lawsuits in other countries such as EU ones which have much stronger laws around data protection.

</comment><comment><USER27> Well, they could give data 'personhood' such that it's an individual in the eyes of the law and covered by the US constitution. No more changes required, except that the NSA would grind to a halt on all of these programs.

</comment><comment><USER28> This is holy shit of everything on this planet!

</comment><comment><USER29> Wait, can someone explain to me what's so bad about this? I'm a security company and I go from company to company, trying to patch up holes in their systems. I'm basically a network plumber/exterminator. Sounds like the NSA is just telling me what the bugs and leaky pipes look like so I can fix them in companies around the world.

What's so bad about that?

</comment><comment><USER30> "Show me yours and I'll show you mine".

(For big boys)

</comment><comment><USER31> What ever happened to Einstein 1 and 2?

</comment><comment> o0-0o -= YOU =- Hi, my name is __________ . I would like a [loan, voter registration, health care check up, et al]

-= THEM =- Ok, ________ . Did you live @ ___________ in _ _ _ _ ? Did you ever have an account at ________ ?

Where do you think they get the info. Connect the dots.

<comment><USER32> that info comes from credit reporting agencies (trans union, experian, equifax)

<comment><USER19> And other systems. Amazing how much demographic data is available to third parties alone. Spend some time with a skip tracer or good bail bonds person and you realize how easy it is to get almost any data of significance on a individual.</comment></comment></comment>


Ask HN: Things you wish you'd learned about programming in college? - <AUTHOR> A friend and I will be giving a talk to a group of computer science students in a few weeks.  We're both students ourselves, but are a bit older and have more working experience than the average attendee will probably have.
Here are some of the ideas we've had so far:
- Present on "using and knowing the tools" from OS to editor to libraries.
- Something interactive, like working as a group through one of the problems from the New Turing Omnibus.
- Talk about the social aspects of coding, like group dynamic and collaboration tools, and maybe introduce pair programming.
The audience will be mostly undergraduate CS students.  My friend and I are 25, and have worked freelance and at startups/medium sized companies on mostly Rails, PHP, and Java web apps for 5+ years.  We have a lot to learn ourselves, and see this speaking opportunity as a way to better ourselves as presenters and learn more about the topic we pick.
So, what's a good topic?  What's something every CS grad wishes they had learned or heard about?  Thanks in advance for your suggestions! <comment><USER2> Don't waste your expensive and valuable college time on software engineering tools, source control, and other mundane crap that any monkey can learn quickly. Every programming tool that I learned about in college is now either unused (CVS, RCS, Motif), or dismissed by the l33t rock-stars as dinosaur technology (C++, Java, Perl). Today's l33t tools will be just as dead in ten years. Learn enough to do your assignments well, but view the time invested as a sunk cost.

If you want to learn how to be a coder, go to DeVry, or read some O'Reilly books and hack away. Your career will be mercifully short and uneventful.

If you want to be a computer scientist, spend your time learning math and theory, and learn it inside out. Then take business classes, chemistry classes, language classes, art classes -- anything to make you marketable in a non-technical way. The only way you're going to survive to old age in software (if that's even possible) is by acquiring talents that grow more valuable with age and experience -- skills that can't be cheaply exported to the next younger guy who is willing to work 80 hours a week for low wages and free soda.

<comment><USER3> _If you want to learn how to be a coder, go to DeVry_

It's worth noting that neither a DeVry "degree" or a Computer Science degree will make you a programmer. If you just get the DeVry education, you will know what functions you can call in the Java core library. If you just get a CS degree, you will know what B+ trees are. But neither of those alone get you a working database management system; that requires excellent coding skill, and an excellent understanding of the underlying mathematics. "The real world" requires that you have both sets of skills; only having half the education will make you less than half the programmer.

I think this is a wider problem in our field; the "academics" don't want to admit that the "industrial" aspect of programming is important, and the practitioners don't want to admit that the academics are quite-often onto some very good ideas. Turns out that both sides are important. The practitioner doesn't want to waste time reinventing simple concepts (which is why we have code organization techniques that were popular in academia long before they were popular in industry), and the academic doesn't want to reinvent industry (turns out that knowing about automatic testing and source control make writing your new researchy programming language a whole lot easier).

So it's clear that to be an effective programmer, you need to be well-versed in both the practical and academic aspects of the field. Dismissing the practical aspects by saying they are a waste of time and that some dude from a trade school can handle them for you is ... short-sighted.

(Oh, and if Perl is a "dinosaur technology", Java, C++, and C are "pre-life self-replicating molecule" technologies. Just sayin'.)

<comment><USER2> _"So it's clear that to be an effective programmer, you need to be well-versed in both the practical and academic aspects of the field. Dismissing the practical aspects by saying they are a waste of time and that some dude from a trade school can handle them for you is ... short-sighted."_

That's not what I said, though. My opinion is that if you want to have longevity in your career, you need to focus on the theory. That doesn't mean that you don't learn the other stuff -- you just learn what's necessary, and move on. More to the point: when you're spending big bucks on college classes, you'd better be devoting your time to learning stuff that you can't learn from a few hours of quality time in a coffee shop with an O'Reilly book and a laptop.

For what it's worth, though, I've known many CS professors, and many industry programmers, and I wouldn't put the average of one group ahead of the other in terms of programming skill. The myth that academics don't know "industry" is a myth (but there are plenty of coders who don't know anything about algorithms).

Also for the record: I like Perl. I'm not the one calling it a dinosaur technology. I also like C++, though, so maybe I'm just old.

<comment><USER3> Why can't you learn data structures from a book in a coffee shop? I did.

I would argue that you can't learn the theory until you have enough practical experience to actually implement and play with the theoretical concepts you are learning about. By not learning "the trivial stuff you can learn from an Oreilly book in a coffee shop", you are wasting your on time. The sooner you stop wasting your own time, the less of it you will waste.

</comment></comment></comment></comment><comment><USER4> Everything useful I learned about programming came either before college, after college, or when I got home from classes.

I'm obviously from the pro-dropout sector, but I can tell you that the one thing I've learned about learning is that for anyone successful (by pretty much any definition) I've met, most learning has taken place outside of a classroom setting.

Grab something hard, confusing, foreign, etc... Master it. Then move on. Learn things that are ostensibly completely useless to your job. You will do your job better than those who do not.

I still do take classes to help with things occasionally (there was a great arduino class at the hacker dojo recently), but even in that case, I've learned more about it on my own since the class than I did during it.

So here's my advice: Don't wait for other people to teach you things. Learn stuff on your own now. Maintain the expectation that you only know 10% of what you need to know.

And if anyone ever hears me say that I know everything worth knowing, someone please shoot me.

<comment><USER5> Learning by yourself when you want to is just so much more efficient than learning in a class.

However I will give credit to school for introducing me to new stuff that I would have never crossed on my own. Perhaps that's how education should be in the future: easy introductions to various things.

<comment><USER6> > easy introductions to various things.

right on! imho, one of the main points of a diverse undergraduate education is to give you exposure to introductory-level courses in lots of different fields. it's unreasonable to imagine that you can master a field just by taking a few undergrad courses in it, but that's not the point of those courses. that's why i think that general-education and non-technical elective courses are such important parts of the curriculum, even though they don't directly teach you anything applicable in your future job

</comment></comment></comment><comment><USER7> "Take initiative. You're not going to learn to be a programmer in college. Do open source, internships, summer jobs... Make sure you work with people better than you."

And then focus on getting the most out of the stuff that college is good at teaching: fundamentals and theory. Do you really want to learn how to be a practician from a career academic?

</comment><comment><USER8> I'm in my final year of CS undergrad, and I've learned a couple of things outside of class that help me, all stuff I wish they would teach (well) in class:

* Learn how to write a Makefile, your builds should be one button/command away

* Learn how to test your code using assert.h, JUnit, whatever, just test all the fucking time.

* Learn GDB, stop using printf to debug.

* Use source control for everything, but especially group work. The groups in your classes emailing code around are doing it wrong, and by the time they'll find out, it will be to late.

* Spend some time in a functional language, and apply what you've learned to your Java/C/C++ class work. Minimizing side effects will minimize errors

Most of all though, get involved with your faculty or department, and try to affect some positive change. The connections you will make with other students and faculty could change your programming career more than anything else you do in school.

<comment><USER3> _\- Learn how to write a Makefile, your builds should be one button/command away

\- Learn how to test your code using assert.h, JUnit, whatever, just test all the fucking time.

\- Learn GDB, stop using printf to debug._

One of these things is not like the other. The first two pieces of advice suggest that doing things automatically is better than doing them manually. Then, you throw all that away for debugging? Instead of having your program just print the results of intermediate steps, you want to load the program inside another program, set breakpoints, and type "continue" as you hit them all, requiring your constant attention to perform a tedious task?

Debugging with printf is fine.

<comment><USER9> I think he should amend his statement to be _learn how to use your debugger of choice._

I think printf is a fine tool for some things. GDB others, the IDE's version of a debugger as well for some tasks, re-looking at the code in question another time is another way. It should not be a holy war and there is never a completely correct way to do multifaceted tasks such as debugging. Knowing the strengths and weaknesses of the tool at hand is the best way to increase your effectiveness.

I am hacking on a kernel driver right now and printf(well IOLog) is the easiest way to debug but if I was running in userspace I would probably use the xcode interface to GDB because it lets you zero in on what you want to look at with state but sometimes printf is all I need.

<comment><USER10> What says you can't use GDB on the kernel? You'll need two machines to use it, but there's support in Darwin for debugging over FireWire.

<comment><USER9> I never said you couldn't. I said the easiest(least amount of hassle) way is to use IOLog and my brain for debugging purposes.

</comment></comment></comment></comment></comment><comment><USER11> Source control, continuous integration, automatic testing. All of those things you might learn on a software engineering course but for some reason were conspicuously absent on my CS course.

<comment><USER12> Despite a trend for some colleges to teach computer science as software engineering (my college included..), they _should_ be considered two different things. However, they're not. So we usually wind up with a mix that is some CS, some SE and satisfies very few people.

<comment><USER13> Agreed. I think most universities would rather err on the side of CS, lest they be construed as something like a trade school. Unfortunately, that doesn't mesh well with the reality that the majority of students will go into software engineering, not computer science. It's clearly difficult to serve the divergent goals of teaching people core abstract concepts, while still adequately preparing them for a career.

In most of my "CS" classes, it was sort of assumed that tools like version control, test suites, etc were just part of getting things done, and they were up to you to learn on your own time. Lots of TAs/LAs had quick tutorials to teach things like CVS and the like, but it wasn't really considered course material. The same was true for processes/development models, and for tools in other areas of engineering, like Solidworks, SPICE, etc.

</comment></comment></comment><comment><USER14> How to research.

How to ask a question.

How to communicate.

How to come back to a program you've written after a year. Or after ten.

Distributed source code control.

Incremental development.

Integrated debugging. Planning for failure. For support.

Finding and using libraries or frameworks.

Backup.

Source code archeology; how to understand and extend and maintain complex applications.

How to work within a team of programmers.

Upward-compatibility and code longevity; the multi-edged sword of an installed base.

The game (tools, operating systems, languages) changes at least every five to ten years, or more often.

You're an integrator first, and a programmer second. Or third. When you need to.

<comment><USER14> It'd be interesting to teach a semester-long course building up a single complex application, and to require each student to swap their source code with another (randomly selected) student for each new assignment.

<comment><USER15> They do that at my university for one of the project courses (where teams of 5-6 build a single application for one semester). Later on they make teams trade the code with eachother. I'm not there yet so I can't comment much.

My program is computer engineering, not CS, though.

</comment></comment></comment><comment><USER16> The whole purpose of learning about technology is to make technology do something for people. So somehow we got the idea to focus exclusively on the technology and hope the people part takes care of itself.

Smart people can learn all sorts of interesting technical stuff. In fact, if you're smart, you're going to learn all sorts of stuff like SDLC, functional programming, OOAD, ER Modeling, etc.

What they don't teach you is the part about interacting with regular people -- people who have no idea how to make technical things happen.

Interviewing. Negotiation. Conflict resolution.

I know it sounds fluffy, but I see smart guys all day long. What separates the truly successful from the rest of the pack is how well they interact and solve problems for people, not tech smarts. Technical smarts [and a willingness to develop them more] are a given by the time you get into the field.

</comment><comment><USER17> Highly relevant stackoverflow.com thread: "What is the most important thing you weren't taught in school?": <http://stackoverflow.com/questions/258548>

</comment><comment><USER18> Compilers.

Somehow I got a BS and MS in computer science without taking a single compilers course, and I've regretted it.

I recently saw someone make a comment along the lines of "I'm a web developer, why would I ever want to learn about compilers?" Many people seem to think compilers are just programs like gcc that turn a language like C into machine code, but that's really just one kind of compiler.

</comment><comment><USER3> Functional programming.

</comment><comment><USER19> My biggest nitpick about Georgia Tech was the lack of web-geared CS courses. The most "advanced" web-geared class was an 8-person class taught by a grad student about basic MySQL/PHP/Ajax. Of course I had the regular C, SmallTalk, Java, Matlab et cetera courses, but none of that interested me like LAMP, RoR and other stacks do.

Also not too many CS students early on have played with version control, and when they do it's CVS or something that was required by a class. SVN and Git should be more common in curriculum IMHO.

So I guess I'm suggesting you should address to these students where they can get started in web app development, because my university sure didn't help much when it came to that. Every semester I asked my academic advisor on their status of adding a Rails CS course and it was usually "same as last time.. looking for a professor that can teach it"

</comment><comment><USER20> How to collaborate with a large team of others. We had group projects, sure, but they were small enough that usually one or sometimes two guys would do all the coding and everybody else would just fuck around.

The stuff you have to learn to effectively collaborate -- including task estimation, task splitting, source-management, communicating progress effectively, knowing when to ask for help, and more -- is basically what you spend the first year or two of your working career learning.

I don't know if it can be effectively taught in an academic context, but I really wish it had been. It's a timeless skill that transcends the actual technology used to get it done.

</comment><comment><USER21> Don't forget about all the non-technical stuff. No one programs in a vacuum...

The Systems Development Life Cycle: analysis, design, development, testing, security, deployment, project management

Underlying systems theory, regardless of language: architecture, databases, frameworks, MVC, properties, methods

Underlying logic, regardless of language: iteration, branching and conditions, functions and routines, variable typing and scope

Anyone can go to webmonkey and learn how to write a "Hello World" program. But these basic underlying concepts that you use for the rest of your life: that's what college _should_ be for.

</comment><comment><USER22> I wish I took a software engineering class earlier than my junior year. I started programming my freshman year, and didn't realize how badly I was doing it till that class.

I also wish I didn't learn a compiled language first. I almost think there should be two beginner classes: lisp or python and then a unix tools class where you learn scripting.

Operational things like getting a box setup, code deployed, etc. would also have been nice.

I guess I'm saying I learned enough theory and math, and wanted more practical knowledge.

<comment><USER23> > I started programming my freshman year, and didn't realize how badly I was > doing it till that class.

Now there's an interesting idea: a college doesn't have to devote huge amounts of time to teaching about version control, collaboration, and so forth. They just have to cover it enough to make the students realize that they have a problem.

</comment></comment><comment><USER24> This will obviously vary depending on how much the school focusing on CS or CE, but I'd stress mastering the basics of several programming languages in different domains (e.g. C, Java, PHP, Python, Lisp). There is a lot to be taken from each of these, even if you think they suck on their own.

I don't think you can effectively give a talk about "using and knowing the tools" without being too specific. If you're specific you fail. Instead, I'd focus on simply drilling it in people's mind that they should feel incredibly comfortable using their editor. It's the only thing they will always be able to control and it's the only place you'll be modifying your code. I'd encourage you have them pick an OS, and a standard library for each programming language and get super familiar with it.

I'm not sure interaction in the form of social coding would work in a single presentation. If this were a regular thing, sure. I think you can provide greater value doing something else.

One thing that I feel is often missing from my fellow students is confidence. They're all a bunch of babies and school is torture for them. I think an interesting talk (and judging by your experience, I'm sure you could make it awesome) would be to emphasize the confidence and empowerment that comes with mastering a programming language and doing some cool shit with it (a side project). There are too many people in my classes that are always sinking, who have not yet realized that they can actually do cool things because they're too busy sucking at class. They need to learn something really cool on their own, which will drive them to learn and finish school because they'll finally see dots starting to connect.

</comment><comment><USER25> First, congratulations on being offered the opportunity to talk to your peers. I would echo many of the comments here to go outside academia and CS and focus on what you have learned by coding for pay and pleasure.

How to build your personal online coder reputation, begin contributing to the community (open source, blogging) - focus on what you personally have done/not done and your experiences good and bad with sharing and collaborating. And what's it like starting? or working at a startup

My point here is focus on experiences that have made you learn. Come in as peers who have been out in the external-college real world and tell them about the real world (calibrate their expectations)

I think most of the students are expecting a standard tech briefing, and I challenge you to switch it up on them. Promise some soup du jour tech topic but change it to talking about the real business world (change it after audience is seated so you get the students who probably would have skipped a real-world/business topic oriented lecture).

One of the most valuable lectures I've ever crashed was one for Ch.Eng seniors on how to get the job you really, really want. I directly respect the impact of that lecture with giving me enough real knowledge to apprach interviewing with confidence.

<comment><AUTHOR> Thank you for your input, I really like the idea of "turning things around."

<comment><USER25> Good luck! You're welcome. I don't think anyone will walk out of your lecture after the bait-and-switch. Maybe you can hedge the bait-and-switch by making the main topic 20% of the total time and the rest 80% (Q&A + the switched topic). Please try to video or at least audio record it for your records (you seem to be someone who will want to do this sort of thing again, better). If you can get pizza (even if its - who wants pizza - pitch in a $1 or $2), that might help.

</comment></comment></comment><comment><USER26> I wish I had learned C++, personally. A number of the places I was hoping to work for required many years experience in it. Like or hate the language, it's used frequently. Or at least it was.

Some other things I wish I had done/learned: * working with external libraries in C * working in groups on LARGE projects

Something I did learn through extracurricular activities, not school work for the most part: * SOLVING PROBLEMS!!! UVa, TopCoder, Google Code Jam, ACM Programming Contest. Learn how to take a given problem and convert it into code.

</comment><comment><USER27> First, never confuse schooling with education

Second learn stuff thats in this book: [http://www.amazon.com/Introduction- General-Systems-Thinking-...](http://www.amazon.com/Introduction-General- Systems-Thinking- Anniversary/dp/0932633498/ref=sr_1_1?ie=UTF8&s=books&qid=1259567705&sr=1-1)

Third,The general idea of good education is to prepare you for the future rather than learning about the past

</comment><comment><USER28> Make up (or find) as much gnarly, twisted data as needed to throw at your code to convince yourself that it will respond gracefully no matter what comes along. (Then if you can, get someone else to.) If it can't - or you can't test all conceivable ways it can fail - then you need to either rethink your design or switch languages.

</comment><comment><USER29> I used to be quite concerned that all my major programming projects were for my own business, and as a result I figured that I had to be missing some sort of 'process' step that would mean I was developing software the _right way_.

Being walked through a few different development lifecycle models would have helped to put my mind at ease.

<comment><USER30> Consider yourself lucky. You could have been taught ISO-9000 or something from the Software Engineering Institute. The way things go now, three classes and you would have missed a release cycle.

</comment></comment><comment><USER31> Experience is the best teacher. Just build programs! The more you build, the better you'll be. Note how I said build, not write. Think about it.

Oh yeah, and contributing to open source is the bomb. You learn so much about real-world applications of your knowledge.

</comment><comment><USER32> I went through a "Information Science and Technology" program rather than a "Computer Science" program but the one thing I _really_ felt like I missed out on was gaining experience using svn/git/etc in teams.

</comment><comment><USER33> Code versioning and unit testing are the only two things I wished I had known from the start (though I still avoid them, god knows why).

</comment><comment><USER34> I wish I learned more about testing, Source Control, and using and integrating with existing code and libraries.

</comment><comment><USER35> What pg said: <http://paulgraham.com/hs.html>

</comment><comment><USER36> I'd suggest you know the difference between

        selling software &
        selling consulting

</comment><comment><USER37> Will your talk be recorded? I'd be interested in seeing it.

<comment><AUTHOR> Yes, it's on December 11th, and will be recorded and available here: <http://www.vimeo.com/user1295234> sometime in mid-December. Thanks for your interest! I'm looking forward to it.</comment></comment>


Airbnb Lifestyle: The Rise of the Hipster Nomad - <AUTHOR> http://techcrunch.com/2014/10/03/airbnb-lifestyle-the-rise-of-the-hipster-nomad/

<comment><USER2> "Ownership is a pain. I honestly can't imagine ever wanting to own a house. Because I can't stand the thought of having to deal with all the crap that comes with owning such a large and expensive thing. Renting is so much more convenient, and the fact is, I'm willing to pay for that convenience."

Yes, it's convenient..until your landlord raises your rent > 10% every year and you have to move (multiple times in multiple years). When I rented, my rent started out at $800/month and I had to leave when they raised it to $1500/month (after 5 years of raises).

"Freelancers are kings. Freelancing is becoming a way of life, too. I've been hearing from a lot of highly talented engineers, designers and product managers recently who are going freelance by choice. Work is becoming much more fluid, and workers have increasing control over when and where they work. This makes them less tied down."

I freelanced for 3 years and traveled throughout Asia during this time. Yes, you are less tied down, but when you require a stable (and fast) Internet connection, your travel choices become limited.

The majority of companies want a meeting a couple of times/week, some over Skype/Webex. Try this in a popular Internet cafe in Cambodia.

Freelance also isn't all that great. You are treated as a tool for companies and are used, abused, and the first to be let go. I am much happier running my own company.

"The royal we. Families are getting smaller. Many of us may never have kids or get married at all. As family sizes shrink, there's less incentive to settle down."

I know plenty of people that say this in their 20s and now have 2 kids in their 30s.

"Democratization of style. There is a convergence happening in aesthetic style. We all basically like the same things, at approximately the same time. But, what we like changes relatively quickly, according to the latest hipster fashions. Ergo, borrowing is better for us than owning."

As I've gotten older, I tend to sacrifice fashion for convenience. Borrowing gets tiring and is not nearly as convenient as owning.</comment>


Microsoft Office 365 beats out Google's G Suite in S&P 1500 - ah- https://tech.winton.com/blog/2016/12/technology-leadership <comment><AUTHOR> Of course it does. We (@ work) use G Suite and it's good if you use it for simple things, but it's really a toy. People who work a _lot_ with long-ish documents all know that Word is better (because of richer functionality); and people who work with larger spreadsheets know that Excel is better (functionality and performance).

It's the typical situation: no user uses more than 5% of Excel's functionality -- but users don't use the same 5%.

Where G Suite is great is 3rd party integrations, especially ones targeting small/mid size companies.

<comment><USER2> The model of natively cloud-hosted documents was Google's lead to loose, and I think they are losing it.

O365 took the idea and ran. Yes, their web-based UI isn't as rich, but it has some decent collaboration, really good mobile apps and of course excellent desktop native apps.

Google could have held their lead IMHO if they kept building out their Docs/Sheets to be closer to feature-parity with Word/Excel _and_ started earlier on good mobile and desktop native apps (which don't even exist!)

I love me some google docs for collaborative editing, but your right in the scaling of large docs in Word and Excel functionality.

<comment><USER3> Google docs has to become office in terms of feature parity faster than office online has to match google docs because the microsoft price point is comparable to the standalone. Microsoft can always push people to use the native word and excel apps for certain features because it's covered in the cost of the 365 sub, but google can't do the same because it's a separate cost.

<comment><USER2> Yea, I agree.

I'm also amazed at how much suckage people are willing to put up with in O365, but still consider it a better choice than Google Docs for the company.

Sharepoint is complete crap, and the off Sharepoint file syncer client is absurdly flaky, but there is a huge tolerance for that kind of thing.

Or at least, it's not the biggest factor when considering making year+ commitments to one office suite or another.

Price, familiarity and feature-richness are definitely in MS favor.

<comment><USER4> Isn't OneDrive replacing SharePoint?

<comment><USER5> They seem to be parallel services, like Lync and Skype. I still cannot figure out where our documents are stored... is it on the windows share? OneDrive? SharePoint? My personal Dropbox??

Outlook for Android is the biggest piece of shit to hit mobile and O365 on the web takes a huge smelly dump on linux users. I am still angry at my employer for foisting this garbage upon us, just so the nontechnical exec team can have their precious Outlook

<comment><USER6> > "like Lync and Skype"

Lync has been renamed to Skype For Business, and is very similar in terms of user experience to the standard Skype app.

> "I still cannot figure out where our documents are stored... is it on the > windows share? OneDrive? SharePoint? My personal Dropbox??"

You can hardly blame Microsoft for the slack IT policies at your workplace.

<comment><USER5> Uh, the Mac client still says Lync, and it looks way different than Skype.

"Don't blame Microsoft for slack IT policies" What? Like hell I'm not blaming them. It's not my fault they offer a bunch of shitty, complicated, barely- working, overlapping, should-be-simple services that nontechnicals can barely wrap their mind around. It's not my fault my employer hired me to work on Linux code and then has a sudden Windows come-to-Jesus moment. (I'm sure theres some stupid sales rep to thank for that...) It's not my fault that Microsoft can't write decent AJAX!

If they would simply follow standards we wouldn't have this problem. But then of course Micro$oft wouldn't make as much ca$h, and we certainly cant have that now can we....

<comment><USER7> Then you haven't upgraded: [https://products.office.com/en-us/skype-for- business/downloa...](https://products.office.com/en-us/skype-for- business/download-app?tab=tabs-3#Mac)

<comment><USER8> Not unusual. Many orgs are still lagging on Win10 as well. They have contracts with things like _cough_ anti-virus providers of ill repute _cough_ and they cannot upgrade because these tools don't work.

<comment><USER5> We're rather fond of Windows 7, because it pretty much just works. (And nobody wants to deal with upgrading) A few of the handful of Win10 laptops have been headaches.

"Lagging" is an interesting choice of words...

<comment><USER8> Funny you say that. Know what I'm doing right now?

Re-encoding MP4s to a slight variant of MP4 so that my demos are visible to Win7 installs. Because they flip out. Known issue, I'm told, but not fixable. Win7 is frozen!

You may not like Win10, but I think Win7 is a ghastly experience that is about as fun as bamboo shoots under one's nails (for developers). It has 0 affordances for modern software development EXCEPT misapplications of the Windows UI. Oh, also before I forget: old Win7 font rendering is substantially uglier than new Win10 font rendering! Critical stuff!

If "just works for email" is your criterion, it's a mistake not to use Chromebooks in the first place.

<comment><USER5> Well, it's not like you can expect Win7 to just doesn't magically support new file formats? Video is complicated and finicky, you'd be doing bullshit tasks like that for one reason or another

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> Setting aside the accuracy of the data collection here, is it any surprise that companies prefer an enterprise focused product backed by support contracts, SEs, and actual desktop/mobile apps instead of web interfaces?

Oh, and one cannot overlook the power of Excel lock-in here - the number of business lines run on excel macros in this country is staggering...

<comment><USER10> Yeah, personally I find desktop apps to be much more usable than shoehorning complex functionality into a browser tab, which is always awkward.

My current company was on Google apps for about 2 years and then switched to Office for the last 2 years. I can't say MS is better at everything, but overall I definitely prefer it.

I will say the "cloud" evolution of Microsoft Office is annoying. Every time I start a new document it wants to default to saving it to OneDrive and pops up a login window. I just want to work on local files, dammit.

<comment><USER11> > I can't say MS is better at everything, but overall I definitely prefer it.

My employer is trying to roll out O365 to the enterprise. Some of us have been using Google without official IT blessing (due to needing to get shit done in the absence of an official solution) for years.

The biggest pain point so far as been moving from Hangouts to Skype for chat. The UI on Skype is awful - multiple pop up's instead of one page ([https://hangouts.google.com/](https://hangouts.google.com/)), a native client that wants to update way too often vs a website, and for some reason every new conversation with someone starts a new window even if the person already has one open. It's a joke.

<comment><USER12> you could always use Microsoft Teams for chat now... ([https://products.office.com/en-us/microsoft-teams/group- chat...](https://products.office.com/en-us/microsoft-teams/group-chat- software))

<comment><USER11> That actually looks quite good! Thanks for the recommendation.

<comment><USER13> Teams even works as a fully-functional (i.e. chat, voice, video, groups) replacement client for Skype for Business. In my opinion, it works much better as a SFB client; hoping it eventually just takes over SFB.

</comment></comment></comment></comment></comment></comment><comment><USER14> We're using G Suite at work and while Mail, Calendar and Docs are OK, the other apps in their offering are atrocious. I'll give you some examples.

Sheets has problems well documented online for years. No recent activity on them whatsoever.

Groups (which is used pretty much everywhere as the only roles&permissions mechanism) are like mailing lists from last century. A separate interface kind-of-but-not-quite gmail threads replies by subject only! God forbid you try to use the "shared mailbox" surrogate.

Directory doesn't even have calendar-integrated birthdays, something which is basic in a company.

There is no Wiki. Its "replacement", Google Sites comes in two flavors: the old ones - feature complete but really dated and the new ones which don't even support tables or mail notifications... Compare that to the superb Microsoft OneNote...

So I seriously wonder: how many people are working on this offering? Is this something Google gives a sh*t about? Do they intend to improve it in the future?

Or should we cut our losses and switch now?

</comment><comment><USER15> This isn't too surprising, as a paid G Suite user my 'help' experience was better than that of the free version (at the time) but it was still sub-par to the support Microsoft gave for even small businesses that bought 15 licenses to Office.

The killer is that Google still has not cracked the 'support people who don't like to use computers but have to' nut and it is very very hard for them to get there. Until they can get there I don't see them making either serious inroads or serious cash flow from any consumer facing app/device.

</comment><comment><USER16> Just this morning I found myself unable to switch between two Google Drive accounts, because both of them had the same domain, @gmail.com.

Signing out of a single account leads to all accounts being signed out. Gmail was launched 12 years ago.

Why, Google, why?

<comment><USER17> Another issue that drives me nuts with Google Drive is that it crashes Lightroom if I keep LR catalog in Drive folder. I either have to shutdown Drive while working in Lightroom or move catalog out of Drive folder.

I don't think I ever had crashes when I kept catalog in Dropbox folder. Once my subscription runs out, I will probably try out OneDrive or go back to Dropbox.

<comment><USER18> That's a problem of their Google Drive Desktop Sync program. I also hated it (it also sucks a lot of CPU). Since switching to Insync for desktop synching all my problems with GDrive are gone. Google should buy this tiny company for their great work with GDrive.

<comment><USER19> I agree. Huge fan of Insync.

<comment><USER17> Thanks, I ll try it out.

</comment></comment></comment></comment></comment><comment><USER20> Microsoft put the hard squeeze on EA customers and just turned their reseller model upside down. Most people are forced into paying for some sort of O365 offering, so the path of least resistance is to just go for it.

The other thing is that Google is impossible to deal with. Their product is awesome, but enterprises are a hobby for them. Their field sales and SE force is small and have a limited scope. They come off inflexible, while it's easy to get Microsoft or partners to do all sorts of stuff on a pre-sale basis.

Microsoft has the advantage of interia around the traditional office suite and email. The other services are shit. Skype is an abomination. SharePoint is little better.

<comment><USER21> >The other services are shit.

Our company (~200+) just started using MSFT Teams, and I find it's pretty underrated. It's not as polished as a Slack/Hipchat, but the MSFT team is super responsive to our feedback, and you can tell they're excited about iterating on it.

I wish Skype was a bit better, I agree - but I'm hoping their recent restructure of the Skype team will help this moving forward.

<comment><USER20> Hasn't arrived for my tenant yet, I'm really looking forward to it.

I agree they are great at ops and some of the smaller new products. But the legacy of things like Lync/Skype and SharePoint is a boat anchor.

</comment></comment></comment><comment><USER22> One of my biggest frustrations running my business on G Suite is knowing if the product is something Google seriously cares about.

With Office, there's a predictable schedule of product updates and I never doubt Microsoft's seriousness about maintaining Office hegemony. Meanwhile Google's communications about G Suite updates and roadmap leave much to be desired.

One example of Google not prioritizing desktop software: _finally_ Google Drive for Teams is in the pipeline, delivering a "hard drive in the cloud" concept (helping our team understand everybody has their own drive has been nightmarish). But in the beta testing, they don't support the desktop app at all for sync. What's the point of that?

</comment><comment><USER3> TIL S&P 1500 refers to the combination of the the S&P 500, S&P Mid cap (400) and S&P Small cap (600) companies: [http://us.spindices.com/indices/equity/sp- composite-1500/](http://us.spindices.com/indices/equity/sp-composite-1500/)

</comment><comment><USER23> Office 365 and G Suite are no comparable to be honest. My old company had 365 (Fortune 500 company,) my new one has G Suite (Start-up.) I miss Office 365. I actually just use my personal copy of Office 365 on my own device (BYOD.) Also from a Sysadmin view Office 365 is miles ahead of where older versions of office were. The only problem I suppose is that G Suite is a bit cheaper and it attracts small-mid sized businesses. I do find their offering to be pretty sizable and they keep adding new products to Office 365 to existing members.

</comment><comment><USER24> I pay for O365 but barely use the web apps. Google's losing IMHO because web apps suck, simple as that. Yes every once in awhile I'll fire one of them up because I need to check something and then 30 seconds later I'll remember why I never use them; slow, clunky, unstable.

Native apps forever (or until the infrastructure is built out more at least.)

<comment><USER25> And if you have something like a Surface, the native apps have great inking support. Just open up a Word doc, sign it and send it back. The web apps are nice in a pinch, but I find that they have these (probably intentional) shortcomings that make them fall short of doing real day-to-day work. For example, no format painter in Excel Online. That doesn't make any sense to me and these features should at least be available to paying customers.

<comment><USER24> I'd imagine it's about half intentional, half limitations of the platform. Doing some of the stuff that Excel does in a browser would be maddening.

</comment></comment></comment><comment><USER26> Anecdata : I tried to switch the company to Gsuite by sharing more and more docs using the personal version. It works well until for some reason they changed the way to create a new document, instead of the classical file > new it was a big "+" sign at the bottom of the screen. Nobody could figure it out and even if they switched back to a more classical ui later (or that we were in the wrong sample of an A/B) usage of drive and Google Apps declined.

</comment><comment><USER27> Very curious to see what the delta is next time they run this analysis. The trend is really more indicative of success than a single snapshot, I believe.

<comment><USER28> The trend seems to be going to MS also. Remember that Google pioneered the idea.

<comment><USER29> I don't think it's true, although the dates on wikipedia might be wrong and I have no time or interest to look on the sources.

[1] [https://en.wikipedia.org/wiki/Zoho_Corporation#Zoho_Office_S...](https://en.wikipedia.org/wiki/Zoho_Corporation#Zoho_Office_Suite) [2] [https://en.wikipedia.org/wiki/Google_Docs,_Sheets_and_Slides](https://en.wikipedia.org/wiki/Google_Docs,_Sheets_and_Slides)

</comment></comment></comment><comment><USER30> We're currently going through a migration from G Suite to Office 365, and so far my impression of Office is mostly downright bad. All of the online apps seem like slow knock-off products.

In particular, Excel Online feels like a joke compared to Google Spreadsheets. At first you notice the sluggish movement of focus from cell to cell due to this ridiculous animation. Then when you select a cell value from a drop-down and hit tab, focus moves down instead of to the right, which is infuriating when you suddenly find yourself typing in the wrong cell. Somehow they screwed up copy and paste as well, sometimes pasting takes multiple seconds. Then if you work on something else for a bit, the page gives you an error about inactivity and makes you reload in order to resume. The whole thing is so bad I do my work in Google Spreadsheets and then copy the finished work into Excel Online.

As a developer, one of my primary use-cases for spreadsheets is to generate and maintain an overview of different legacy implementations, the state of their rewrite, and any changes in behavior we've made. This type of work is largely done collaboratively with other devs and project leads. Turns out this type of real time collaboration for spreadsheets is basically dead with Office 365. It feels like we're going backwards in time, I used to just share the document and others would make their changes, but now we're fighting over file locks and in a few cases I've heard of people sending files back and forth with email.

Also, I really miss the "Shared with me" view in Google Drive. With OneDrive there is a separate drive for myself and for each group I'm a member of. When someone shares a file with one of my groups it doesn't show up in my OneDrive, I have to look through each of the groups' OneDrive.

Oh, and the online scheduling assistant is useless when you invite a group of people. The whole group shows up as one "person" who is busy as soon as anyone is busy. Also, noone can see the RSVP status except for the organizer, so when our scrum master is home sick I have no idea who has accepted the meeting. And why do canceled meetings stay in my calendar but renamed to "Canceled: XYZ"?

/rant

<comment><USER19> I have similar experiences. For a customer I need to use O365, but if you don't need it for some features it really feels backwards. Spreadsheets that kill your session after very short idle times, using multiple accounts gets confused, constantly choosing between Web and desktop version of the software, shared editing very clunky, sharepoint just sucking in general, I can't get used to it.

</comment></comment><comment><USER31> Office has been around for over 25 years. Most businesses use it, and 365 is included. So isn't the surprise that G Suite (silly name) shows up anywhere on the same scale at all, with it being a third as old?

</comment><comment><USER32> You'd be surprised by the number of companies locked into Microsoft products.

<comment><USER33> Willingly, because most competition is actually worse.

</comment></comment><comment><USER34> I am using O365 for my own domain (with only 1 user) and had only great experiences so far. The support is great too!

</comment><comment><USER35> That's the benefit of a real enterprise sales force who already sell them their Windows, Office and SQL Server licenses. Office 365 is probably just an upsell rather than an entirely new product.

And Microsoft has actual reliable support, unlike Google. It makes a difference when selling into large companies.

</comment><comment><USER36> Honestly, I can't get this. I use both Office 365 (@ work) and Google (@ everywhere else). And oh boy how sluggish, impractical and featureless Office is. I HATE every second I spend using it. Hell, even Zoho Docs are much more smoother and UX friendly than that piece of sub-MVP piece of software that Office 365 is.

Edit: I wanted just to say that I tried Office 365 on three different platforms: Ubuntu, Windows and macOS. On both Chrome and Firefox. Every time it's sooo slow, even just to list the files in a directory.

Editing becomes hellish (with visible latency) if I type more than a couple of pages (I'm journalist by day).

It's not that Google Drive is better than O365. EVERYTHING is better than O365.

</comment><comment><USER37> To be fair, by far the most powerful weapon the Spaniards had was disease, not technology. That's what ended up killing millions of Native Americans. So, it's a bit of a weird analogy...

<comment><USER38> You mean like a virus ?

I found it a weird analogy because I couldn't figure out who are supposed to be the Spaniards. Is it Google because they are up against a competitor that is massively entrenched in the office suite market ? Or is it Microsoft because they seem to be expanding their presence.

</comment></comment><comment><USER39> O365 is the most unreliable, haphazard, glued together, frequently unavailable piece of $&,$/$! that my team and I have used for 4 years. I can honestly say that I have never in my life experienced such repeatedly unreliable software in my life. Worse yet it's backed by the most incapable off-shored and overworked support team(s) that we now no longer bother to log queries with.

</comment><comment><USER40> While I use some Google products (AppEngine, GCP, Play movies+music), I don't think they compete with Office 365 where for $99/year family plan my wife and I each get 1 TB cloud storage and all the Office apps that we use on Mac laptops, Android phones, and our iPads. Such a good deal, and once when I needed customer service it was there and someone helped within a few minutes.

</comment><comment><USER41> May be some big company has access to Google. But Microsoft has much better support for the rest of us, SME or Large Enterprise.

And Google simply dont "get" it. Not Business, Not Enterprise.

Newest Office is pretty nice, they finally refined Ribbon to a point where it is half usable. And Hosted Exchange is simply much better then Gmail. Having used IBM Notes, Gmail and Exchange, I am surprised Exchange works better with iOS out of the box.

I was actually looking for some light weight alternative to Office, Exchange Email, One Drive. But i have find none so far. There may be services that individually works better then Office counterpart, but as a package it seems M$ Ecosystem is hard to beat right now.

</comment><comment><USER42> Hmm, our office went from using Google docs/office to Office 365 Online, to finally using the desktop version. The web versions of frankly both products seemed just too slow and unreliable.

</comment><comment> tek-cyb-org in other news, water is liquid.

</comment><comment><USER43> It's important to differentiate the offerings. O365 without access to their desktop apps is a sub par experience that is easily bested by G Suite. If you do have access to the full blown Office apps then, of course, the O365 solution is better. Albeit, MS will make you pay dearly for it.

</comment><comment><USER44> Hmmm...I wonder why S&P 1500 was the benchmark? It's kind of an atypical bracket for S&P companies to compare. Why not the more common 500, 1000 or 2000?

Is it because the statistics come out in M$ favor when only looking at the 1500 bracket rather than 500 or 2000? Hmm...

</comment><comment><USER45> No fucking shit! Google makes a product, and then goes to fucking sleep like a little fucking bitch.</comment>


MMO in loving tribute to xkcd-1110 - <AUTHOR> http://1110.n01se.net/

<comment><USER2> I found a bug

In the Chasm of Fate, after you defeat B'Joril the TimeMaster, you're supposed to get 1 piece of Titan class armor, and a random roll for 1-3 Peacock Plumes, but every time my group only gets the armor, and never any Peacock Plumes.

The devs really rushed this one out. I can't believe they expect people to pay 12 dollars a month for this.

<comment><USER3> NO BUG FOUND: (Spoiler Alert) You haven't activated the Orb of Flounderment which is in the Antideulivation Room.

</comment></comment><comment><USER4> So serious question- right now its not accepting connections to the (websocket? haven't looked at the code) server as its out of connections.

Any theory as to what the most likely bottleneck for something like this is? I've been tempted a few times to put something like this together, and never been sure where its most likely to fall apart.

<comment><USER5> It's probably just running a single instance that has a set limit of maximum connections. Unlike a big MMO where you connect and you get "forwarded" to one of their hundreds of servers with free spots.

</comment></comment><comment><USER6> FWIW I set my own instance of this up for anyone who's getting locked out of the main server.

<http://www.feoh.org/1110>

</comment><comment><USER7> This is great. I much prefer this experience for viewing than the zooming ones that people posted right after it came out. This seems much more immersive. Great work!!

<comment><USER8> Yeah the only issue with this one is exploring the underground bits are difficult. It's practically impossible to get down the holes near the Mario bit in the east.

<comment><USER9> If you click on yourself then you switch to a ghost - in that state you can pass through objects.

Explore away!

</comment></comment></comment><comment><USER10> Note: it's xkcd, not xckd. (in the page title)

<comment><USER10> (note on the note: this has been corrected since my comment. Thanks!)

</comment></comment><comment><USER11> The server's overloaded. I'm refreshing the page madly but it's only getting worse!

;D

</comment><comment><USER12> To label your guy, type "I am Joe", and it will have Joe underneath instead of a number.

<comment><USER13> To write really long names, use chrome console, type avatar.msg="I AM 123456789012345678901234567890123456789012345678901234567890", close the console and press return on your screen

</comment></comment><comment><USER14> I think its a beautiful cartoon - I'm just worried that it sounds so wistful, did something happen in the author's personal life to make it so contemplative?

<comment><USER15> Martin is right, but there was also this:

<https://xkcd.com/1048/>

<https://xkcd.com/931/>

Because of this: <http://blog.xkcd.com/2011/06/30/family-illness/>

<comment><USER16> I don't get 931. He is saying the same thing twice but drawing a bigger picture.

<comment><USER17> Read the mouseover text.

</comment></comment></comment></comment><comment><USER18> Probably the 1000th person to name themselves "import antigravity", but I'm still giggling about it.

</comment><comment><USER19> Holy crap this is cool! Thanks for ruining my productivity for the rest of the day.

</comment><comment><USER20> If the server hits its user limit, you can console yourself with a demo video: <http://www.youtube.com/watch?v=EvLxOVYeo5w>

</comment><comment><USER21> I'm curious - how did you handle the collisions with objects? Did you run some sort of algorithm to auto-detect which objects should be solid, or was it all done by hand?

<comment><USER22> Maybe it is simple as: "if there are more than n black pixel ahead in the direction of movement, bounce"

<comment><USER23> Yes, more or less. Just read the source, all the game logic is client side. Line 132 in 1110.js.

</comment></comment></comment><comment><USER24> This reminds me so much of pitfall II <http://youtu.be/TSUk_bmJQRQ?t=23s>

</comment><comment><USER25> Server issues. Let me guess: node.js?

<comment><USER2> Do you think the server would perform more effectively if they had enabled the Cluster configuration (assuming the server has multiple cores)?

I'm fairly new to toying around with Node, so i'd be interested to know if there are fairly obvious or simple reasons for poor performance here

<comment><USER11> that would certainly help but it's just not running on a very powerful server, it's nothing to do with the language.

<comment><USER26> It's nothing to do with the language, it's to do with the threading model. It's a much argued about topic nowadays: one approach give peace of mind to programmers, and the other one gives peace of mind to users.

</comment></comment></comment></comment><comment><USER27> I got tangled in the radio tower.

<comment><USER28> Same here. I almost got tangled in a bit of dialouge too.

<comment><USER29> I _haet_ when that happens.

</comment></comment></comment><comment><USER30> I wouldn't call this "massively" multiplayer. More like a MUD (multi-user dungeon).

<comment><USER20> Yeah, server is limited to 20 users. "Massive" was more the wish than the reality.

<comment><USER31> Why is the limit so small?

EDIT: Never mind, read another comment where you pointed out it was running on a server with few resources.

</comment></comment></comment><comment><USER32> Goll-lee! That's an awfully large antenna tower in North Dakota.

</comment><comment><USER33> Awesome! I'd be happier moving around using WASD keys.

<comment><USER34> I was thinking the same thing! I actually considered doing something like this (using the image as a game map) last week, and being able to jump/fly around with a jetpack or something (or maybe import antigravity), but then realized I had no idea where to even begin. This project will be an excellent starting point.

<comment><USER22> I think this could help you: [http://higherorderfun.com/blog/2012/05/20/the- guide-to-imple...](http://higherorderfun.com/blog/2012/05/20/the-guide-to- implementing-2d-platformers/)

</comment></comment></comment><comment><USER35> Some issues with bounding boxes and collisions it would seem. <http://imgur.com/MMM3o>

<comment><USER36> You can click on the stick figure and turn into a ghost.

</comment></comment><comment><USER37> Thanks for making this. This is exactly what I imagined when I first saw that XKCD.

</comment><comment><USER38> This is neat. To delete all text, hit enter and type something else.

</comment><comment><USER39> I'd like world to be darker.

</comment><comment><USER40> This is very beautiful.

</comment><comment><USER41> Cool!</comment>


Ask HN: Stripe switching to two-day transfers - <AUTHOR>

Setup a strip account got this email:
We're excited to let you know that we've sped up how quickly you'll receive your money with Stripe.
It used to be the case that there was a seven day delay between when you charged a customer and when funds arrived in your bank account. We've reduced that delay so you'll be paid just two days later.
If you'd like to be switched back to your original seven-day transfer cycle for any reason, please let us know!  We are more than happy to answer any questions you may have about this change.
<comment></comment><comment></comment><comment>-
Anyone know anything about this? Would love to get this setup on my other Stripe accounts. </comment><comment><USER2> Someone from Stripe commented on another post that they were working on speeding up the transfers, but I had not heard anything. Maybe they are phasing it in and starting with new accounts.</comment>


Sal Khan on TED: Let's use video to reinvent education - <AUTHOR> http://www.ted.com/talks/salman_khan_let_s_use_video_to_reinvent_education.html

<comment><USER2> An extremely important video. Should be home-page by now.</comment>


Behind Wolfram Alpha's Mathematical Induction-Based Proof Generator - <AUTHOR> http://blog.wolfram.com/2016/07/14/behind-wolframalphas-mathematical-induction-based-proof-generator/ <comment><USER2> It seems kind of strange that he never thought of using computer proof systems for checking whether his proofs were right in class, and that he took a pattern-matching approach rather than using any of the existing AI proof- deriving systems like [https://arxiv.org/abs/1606.04442](https://arxiv.org/abs/1606.04442) or [https://intelligence.org/2013/12/21/josef-urban-on- machine-l...](https://intelligence.org/2013/12/21/josef-urban-on-machine- learning-and-automated-reasoning/)

<comment><USER3> There is literally almost a century of research in this area, and even a decade+ of much more impressive work on the natural language front.

If you care about anything beyond problem sets in freshman math courses, this post is noise, not signal.

<comment><USER4> Well, that century of research can be summed up like this: There is no good induction based proof generator.

<comment><USER5> That's simply not true. This isn't the first, and it's very, very likely not the best.

Google the term invariant generator. There are many impressive inductive invariant generators for interesting and challenging theories that contain the sorts of formulas this tool appears to handle (ie that summation is for loop).

In fact, the field of inductive invariant generation is so well-established that there are de facto benchmarks that the author could evaluate his work against, if he cared to make the claim you've made here.

Going from an inductive invariant to an informal English prose proof is slightly less well-trodden territory, but this isn't the first piece of work to do that, either.

I don't mean to disparage the product innovation here, but that first sentence needs to be edited out. Perhaps the right way of saying this is that the step- by-step integral solver for WolframAlpha is a really nice product, but it would have been dishonest to claim it was the first algorithm for computing indefinite integrals.

<comment><USER4> It seems to me that all of these approaches are very limited in scope (mainly linear arithmetic), and only capable of analysing pretty simple programs. That's not the kind of induction proofs I deal with on a daily basis, which prove arbitrary mathematical theorems. For those things you need to use just hard manual sweat work.</comment></comment></comment></comment></comment>


Ask HN: What can one do to protect against hosting failures? - <AUTHOR>

Right now AWS is having issues and I keep seeing arguments like "And that's why you don't put all your eggs in one basket." Day before yesterday MediaTemple's name-servers went down and many of my sites became unreachable. So what am I as a developer really supposed to do?
It's trivial to disable add-ons/APIs that add features to your site like Disqus but is there anything you can do if your host goes down or has networking issues? Is there a proper way to deploy data-driven sites to EC2, Rackspace, and MediaTemple so that it never goes down? I have yet to see an affordable host with 100% uptime.
I can understanding Microsoft, Apple, or Facebook having multiple data-centers for fail-over but what should small-shops do? <comment><USER2> Apologize for the inconvenience if circumstances beyond your control bring down your website, just like you would in the much more common scenario that circumstances totally under your control bring down your website.

</comment><comment><USER3> Don't have any single point of failure. Duplicate things."Don't put all your eggs in one basket" means "Put your eggs in many baskets". You could pay for 2 lots of hosting with 2 different companies. You could regularly try deploying your system to different hosting companies to test that you can minimize downtime.

However for some activities (eg Facebook application) you are unable to change that are.</comment>


Blackberry Officially Up For Sale - <AUTHOR> http://www.theglobeandmail.com/report-on-business/blackberry-says-it-is-exploring-strategic-alternatives/article13708618/

<comment><USER2> In my dreams, I have a vision that Blackberry will be sold to some major company that will continue to use the great engineers of Blackberry to create a truly magnificant QWERTY smartphone that will have the durability, usability of the previous Blackberries but will use a not-so-obnoxiously money greedy (read: BES) platform.

The market really lacks a proper QWERTY phone with Android.

In the meanwhile, I'll just keep on using my BB9700, I guess...</comment>


Very fast 100 million row database tables (Postgres) - <AUTHOR> http://www.isidewith.com/tech-blog/149349331-very-fast-100-million-row-database-tables

<comment><USER2> This is unfortunate. Once a table is partitioned and assuming new records are inserted over time, it's inevitable that some partitions will grow faster than others, and the advantage of partitioning is eroded by unequal-sized partitions.

So for a growing database this solution is really a stopgap measure, one that will eventually have to be repeated.

It seems to me that a hierarchical system has advantages over a huge single- level table of millions of records, for example one keyed by letters of the alphabet. But 100 million records in one flat table? Surely there's an organizing scheme that naturally produces faster access without resorting to artificially splitting up up the data.

To me, the fact that partitioning speeds up access means it's time to, not split up a gigantic table (something that may have to be done repeatedly), but rethink the database design.

<comment><USER3> Sometimes you really do have 100 million like-things. Partitioning can also be thought of a very compressed form of index, most of which are implement as some hierarchical data structure. This kind of hack basically is because of a weakness in implementation for this use case.

A more cohesive feature to help address this case is under discussion in PostgreSQL, but still nascent. There are notes here:

        http://wiki.postgresql.org/wiki/Segment_Exclusion

The goal is to retain most of the 4GL qualities of SQL while still getting advantages in physical data access, not unlike how regular indexes work today: in their most basic form they make no semantic alteration.

To some extent, data reorganization is inevitable: you can just hope to make it incremental, on-line, safe, and convenient.

<comment><USER2> > Partitioning can also be thought of a very compressed form of index, most of > which are implement as some hierarchical data structure.

Yes, fair enough. In such a case, why not use an explicit index like letters of the alphabet, in other words why not reindex the table just once, hierarchically, with something relevant to table searches, in a way that breaks the table up into manageable chunks?

I'm only objecting to the idea of a periodic repartition -- it seems inefficient, and according to the linked article, it takes the table out of service for as much as 15 minutes, apparently on a daily basis. To me this sounds hacky and ad-hoc.

> To some extent, data reorganization is inevitable ...

Yes, but if the solution doesn't address the underlying problem, just the symptom, it will need to be reapplied perpetually.

<comment><USER3> > Yes, fair enough. In such a case, why not use an explicit index like letters > of the alphabet, in other words why not reindex the table just once, > hierarchically, with something relevant to table searches, in a way that > breaks the table up into manageable chunks?

In an ideal world where we still only want to physically organize but one copy of data, the criteria for what partitioning would be ideal is dependent on query workload: for example, aggregates over a month (avg, stddev, max, min). In that case, choosing a partitioning metric makes a lot of sense, and reorganizations are seldom.

Sometimes people just want to have roughly-equal physical partitioning of the data, but want it more-or-less clustered by some metric (the ideal is typically a sort, but maintaining a strict sorted order may be too punishingly expensive on modification), with each partition being aware of some aggregation of its metric (such as spanning range). In this case, partitions will require re-balancing, and that's roughly the class of solution the post here falls into.

See also: index organized tables (not supported in Postgres), and their many, many problems when dealing with data modifications. However, they do perform well for some workloads.

> Yes, but if the solution doesn't address the underlying problem, just the > symptom, it will need to be reapplied perpetually.

Yes. However, this solution composes on tools already available, and are already caveat-loaded enough as-is (if you look at the pg_reorg page, they are quite upfront about those). There will always be a frontier of workarounds to problems that have not been polished, because polishing is probably about one hundred fold as expensive (sometimes more), and achieving the incremental, nice versions without database management system support is not very lucid and quite complicated, and not therefore not an economic choice for many situations.</comment></comment></comment></comment>


Ivy – First Android App in 100% Golang on Google Play - <AUTHOR> https://play.google.com/store/apps/details?id=org.golang.ivy

<comment><USER2> Is it really 100% Go? It does not seem that the UI bits are written in Go -- they likely just pull in the Ivy bits via JNI (e.g., via [1]) and implement the rest of the application in Java. The language on the page also seems to indicate this[2]. I'm much more interested to see Go/Android interop include support for interacting with the native UI within an entirely Go application without having to jump through the JNI hoops myself (though the benefits to this are admittedly tenuous at best).

\--

[1] [https://godoc.org/golang.org/x/mobile/app](https://godoc.org/golang.org/x/mobile/app)

[2] "A more complete description of the underlying engine is available at [http://godoc.org/robpike.io/ivy."](http://godoc.org/robpike.io/ivy.")

</comment><comment><AUTHOR> Github repo: [https://github.com/robpike/ivy](https://github.com/robpike/ivy)</comment>


MPG Plugin is perfect for creating an unlimited number of landing pagess - <AUTHOR> https://www.mpgwp.com/ <comment><AUTHOR> With the MPG: Multiple Pages Generator WordPress plugin, you can keep your website lean and fast and still generate an unlimited number of webpages with customized content using just one template page and a CSV file.

USE CASES Landing pages Reach out far and wide with multiple high-quality and unique landing pages to increase your engaged audience.

Location pages: Boost your local SEO with landing pages targeting specific locations. You can even personalize each page with a corresponding and customized map.

Profile pages: Manage profile pages within your website, simply update the information in your CSV file and re-upload whenever you need to.

Translation pages: Have a URL for each language you want to present yourself in.

Service pages: Create targeted keyword landing pages by having a detailed page for every service offered.

Client pages: Increase your conversions by creating a customized welcome page for each of your clients.

Explore all the use cases that this mass page creator plugin makes possible for your website and your business.

UPDATE ANYTIME What's the point of creating multiple new pages and then lose track of them? MPG makes it incredibly easy to bulk edit if you want to make small and big changes to your new pages.

You can delete or edit information from your CSV file, then simply re-upload it. So if you want to replace a certain keyword, add or delete a page, just go to your CSV and make your alterations.

If you want to change the look of your landing pages, you can bulk edit your pages by editing and updating your template page. Add a piece of information, change colors, coding, and more and MPG will do the rest.

UNIQUE LANDING PAGES You spend a lot of time and effort making sure your website stands out from the crowd and represents your company faithfully. That's why your landing pages need to do that too.

[https://www.mpgwp.com/](https://www.mpgwp.com/)</comment>


Epidemiologist: Stop the flights now - <AUTHOR> http://www.washingtonpost.com/posteverything/wp/2014/10/06/epidemiologist-stop-the-flights-now/

<comment><USER2> Am I missing something, or is this just a single-sentence "article?" All I see is a title and a single line of text, followed by 200+ comments...

edit: it appears to be loading an actual article now</comment>


Facebook Beats Profit And Revenue Expectations, The Stock Drops Anyway - <AUTHOR> http://www.businessinsider.com/live-facebook-earnings-2013-1

<comment><USER2> Service outage -> Stock down. Not surprised!</comment>


How To Make A Mint: The Cryptography of Anonymous Electronic Cash (1996) - <AUTHOR> http://groups.csail.mit.edu/mac/classes/6.805/articles/money/nsamint/nsamint.htm

<comment><USER2> Bitcoin solved the problem of double spending in a distributed system. Cryptocurrencies without this specific feature have been around.

Your paper avoids this issue: "In order to prevent multiple spending in off- line payments, we need to rely on physical security."

Basically they envisioned that for their system to work, you'd need really good DRM that prevented people from spending money twice. The NSA envisioned that most people wouldn't break the DRM so the counterfeiting wouldn't be any worse then it is now.

Yet, you should know how hard (or impossible) it is to prevent people from copying and distributing stuff. That's where the blockchain shines. It prevents this problem by having an eventually-consistant public ledger. No drm needed.

<comment><USER3> In abstract sense SHA256 keys are bitcoin DRM system. We assume that it's not going to be possible to break SHA256.</comment></comment>


Art of Product Management- LinkedIn - <AUTHOR> http://www.slideshare.net/sachmonkey/the-art-of-product-management-58156816 <comment><AUTHOR> Given the torrent of negative sentiments toward LinkedIn when news surfaced of it's precipitous stock decline, this slideshare on the 'art' of PM from a group that is missing the mark in that regard, just doesn't work. This slideshare full of jargon, rhetoric, and banal quotes that are barely interesting, but more importantly, not aligned with the evolution of their own product. HN users hit on so many key points that articulated how and why the product has lost it's luster, and I couldn't flip through this deck without grimacing.</comment>


Factchecking Rev. Graham and the Signs of Armageddon - <AUTHOR> http://factcheck.org/2011/04/rev-graham-and-the-signs-of-armageddon/

<comment><USER2> Having lived through several predicted Apocalypses, Ends of the World, and Armageddons (the 1974 Jehovah's Witness prediction is the earliest I can definitely recall, and of course, there's Y2K and GPS rollover in July of 1999), I expect most of us to live through the next "Apocalypse" or "Armageddon" unscathed. A few of us will have lighter wallets.

See you on May 22nd!</comment>