Ask HN: What software do you use for your startup? - <AUTHOR> I'll start with mine (feel free to add categories):<p>- E-mail/calendar/docs: Google Apps standard edition<p>- Hosting: Slicehost<p>- Invoicing: Freshbooks<p>- Analytics: Google Analytics<p>- Project management: Ta-da list (seriously)<p>- File-sharing: Dropbox<p>- Version control: Git<p>- Backups: rsync + home server<p>- Instant messaging: Skype <comment><USER7> Wow. All these startups, making potentially game changing software, all sending their private data and communications around via an uncontrollable 3rd party e-mail system managed by the admins of an company known for its aggressive consumption of startups.

Call me paranoid, but though Google's public motto may be "Do no evil" they're like every company and are after profit at the end of the day. Are you encrypting your e-mails? Is running your own mail server _that_ hard, or does Google Apps offer _that much_ benefit? Would you host your e-mail with Microsoft? Oracle? What really make's Google _that different_?

I am genuinely curious - Google seems to be treated by large portions of the startup community as if it were some charitable organisation, working for the benefit of man-kind in an open and free manner. Sure, they've done great things - Search, G-Mail, Android and loads of open source work. But they're still a company beholden to their shareholders, selling adverts based on mass data collection. At the end of the day, in my eyes, they're not fundamentally different from Apple, Microsoft or any other hugely funded mega-corp. I wouldn't store my secret sauces with those companies and their ever evolving market plans and TOSs. Am I overly cautious?

<comment><USER8> While it's possible Google might snoop on their competitors email to figure out their strategy, I'd think the possible consequences if they got caught would be too significant for any possible benefit. With regard to the guy that got fired for looking at other people's messages, one rogue engineer messing with a couple people is very different than a deliberate corporate strategy of espionage. If Google got caught doing that, they'd never be able to pursue government or enterprise contracts again.

<comment><USER7> I agree, and I very much doubt they'd ever do something like this. My argument is just one of prudence - if you wouldn't leave your business plans and private data lying around in a competitors house, why would you risk even the 10^-7% chance that doing so with Google would damage you when running your own e-mail server (or, if you don't want the maintenance, encrypting e-mail through G-mail) is relatively trivial?

Looking back in time and given what's happened, would Google the Startup have been wise hosting their e-mail on Hotmail?

</comment></comment></comment><comment><USER9> I feel so conventional!

Windows Server 2008, Sql Server IIS Visual Studio Quickbooks & Indinero Authorize.net Google Apps for mail

<comment><USER10> I'm inclined to say the MS stack is fairly unconventional for startups these days. One decent heuristic for whether a decision is conventional is whether your peers are likely to ask "why did you do that?". If a startup's stack is Rails on EC2, few in the startup world would bother to question it.

So, why did you do that?

<comment><USER11> I'm going to guess that that's what the person/team had experience with already.

I've not known many people who were already technical developers who started a venture and swapped over to entirely 'new to them' tech just because it's what some other people were using.

Go with what you know and have mastery of already - you've got enough going against you starting a new venture already - don't add to it by trying to learn something like django or rails just because someone on HN or TC used it too.

That said, using 'unconventional' tech _may_ make it harder to find more devs in the future if they're needed. Or... it may mean that you're simply pulling from a different pool. If you're one of 15 rails-based ventures someone is looking to join, you won't stand out as much as the one Perl-based operation.

</comment></comment></comment><comment><USER12> We've all read about what startups use for hosting, analytics, and version control before. What do you use for accounting? hiring (resume database)? Shipping? etc?

I know the big names like git get glory for this crowd, but there's a lot more to running a business than git and web hosting.

EDIT: Erm. I guess this means your company needs revenue. That takes care of a lot of them...

</comment><comment><USER13> \- E-mail/calendar/docs: Google Apps

\- Hosting: Amazon

\- Invoicing: InvoiceExpress

\- Analytics: Google Analytics & MixPanel

\- Project management: Goplan & Google spreadsheets

\- File-sharing: Dropbox & E-mail

\- Version control: Mercurial

\- Backups: scripts with S3

\- Instant messaging: Skype & Gtalk

</comment><comment><USER14> \- E-mail/calendar/docs: Google Apps standard edition

\- Hosting: Linode, Slicehost

\- Invoicing: Crunch (<http://www.crunch.co.uk/>)

\- Analytics: Google Analytics

\- Project management: Pivotal Tracker (<http://pivotaltracker.com/>)

\- File-sharing: Dropbox

\- Version control: SVN, Mercurial

\- Backups: rsync

\- Instant messaging: Skype

<comment><AUTHOR> Why go with both Linode and Slicehost? I was under the impression that they were pretty much interchangeable...

<comment><USER15> I wouldn't go that far. I've found Slicehost has some major deficiencies compared to Linode. i/o being the major one.

</comment></comment></comment><comment><USER16> \- E-mail/calendar/docs: Google Apps standard edition

\- Hosting: Webfaction

\- Invoicing: Billable (<http://billable.co.za>)

\- Analytics: Google Analytics

\- Project management: Basecamp

\- File-sharing: Dropbox

\- Version control: Git

\- Backups: Github + Webfaction git repos

\- Instant messaging: Google + iChat

</comment><comment><USER17> \- Email/Cal/Docs: Google

\- Hosting: our own servers at colo + EC2

\- Expense tracking/management: Xpenser ( <http://xpenser.com/> )

\- Invoicing: Billing Manager ( [https://billingmanager.intuit.com/billing/free-online- invoic...](https://billingmanager.intuit.com/billing/free-online- invoicing.url) )

\- Version control: git

\- File sharing: Dropbox

\- Analytics: google

\- Todo: <http://wisetodo.com/> (invite only ATM)

\- IDE: mostly Eclipse+Pydev+Aptana

\- Screensharing: Adobe Connect

</comment><comment><USER8> I'm in the process of releasing a game for iOS:

\- Email/Cal/Docs - Google Apps

\- Hosting - <USER2>

\- Accounting - <USER3>

\- Source Control - <USER4>

\- Issue Tracking - <USER5>

\- IDE - <USER6>

\- Libraries - ZLib, LibPNG, Lua, Bullet Physics, Wild Magic Geometry Tools

</comment><comment><USER18> \- E-mail/calendar/docs: Google Apps standard edition

\- Hosting: Heroku

\- IDE: RubyMine

\- Accounting: Xero

\- Analytics: Google Analytics, MixPanel

\- To do list/notes: Workflowy

\- Version control: Git

\- Backups: SpiderOak (because they store encrypted data)

<comment><USER19> I'm really loving Workflowy. Next killer feature: sharing sublists with someone else. That would be the killer todo list app!

<comment><USER18> I would actually like to see the ability to have simple documents as leaf nodes. Sometimes bullet point lists aren't quite enough.

<comment><USER19> Embrace constraints :)

I have linked to another page or perhaps to an Evernote document which is what I used to use for todolists (but their formatting was painful occasionally).

Agreed though, that if they're going to allow notes, the notes should be more full-featured.

</comment></comment></comment></comment><comment><USER20> For flickscanapp.com + thesocialcollective.com

\- Email: Multiple accts forwarded to private Gmail

\- Bulk Email Send: AuthSMTP (we setup a small server to act as a central SMTP relay to AuthSMTP to save on costs).

\- Hosting: Rackspace Cloud + CloudKick. DB Backups pushed to S3. File uploads within apps direct to S3

\- Analytics: Google, ChartBeat

\- Project Mgmt: Basecamp

\- File-Sharing: Dropbox kinda. We use Google Docs so much that everything pretty much lives there.

\- Local Backups: Arq (git style backups for OS X that uses S3)

\- Instant Messaging: Skype, heavy users of the video conferencing (my co- founder is on the opposite coast) and screen sharing features.

\- Media Monitoring: Watchlister.com (my own project), TweetDeck, Google Alerts

\- Code: XCode, TextMate

\- Version Control: SVN + Versions, Git (but how I wish there was a Version of Versions with Git support).

\- Production: Rails, Mysql, Memcached, Mongo, Nginx

\- Blog: Wordpress

<comment><USER21> \- Version Control: SVN + Versions, Git (but how I wish there was a Version of Versions with Git support).

Time to test: git-tower.com

</comment></comment><comment><USER22> Google Apps Standard Media Temple (Don't know if i'd recommend it though). Project Management: Skype + Email, may use 37 signals soon File Sharing - Cloud App Instant Messaging: Skype Analytics: GoSquared Twitter: CoTweet

</comment><comment><USER23> Does anyone NOT use Google for email anymore?

<comment><USER24> For personal stuff I use postfix and imap on a personal sever. The company I work for is sortof a startup and we used zimbra (I don't recommend)

I prefer desktop mail clients to web ones. I also dislike handing all of my mail to another company.

</comment></comment><comment><USER15> \- E-mail/calendar/docs: Google Apps standard edition

\- Hosting: Linode(much better than Slicehost) & EC2/S3

\- Invoicing: Freshbooks

\- Analytics: Google Analytics

\- Project management: Nothing

\- File-sharing: Dropbox

\- Version control: Git

\- Backups: Its our business, so our own redundant servers(not Linode or AWS)

\- Instant messaging: Skype

</comment><comment><USER25> \- E-mail/calendar/docs: Google Apps standard edition

\- Hosting: Strato, EC2

\- Monitoring: Cloudkick, Stashboard

\- Invoicing: N/A

\- Analytics: Google Analytics

\- Project management: toodledo, orgmode

\- File-sharing: Google Storage

\- Version control: SVN, Git

\- Backups: Google Storage, S3

\- Instant messaging: Etherpad

\- Production platform: AppJet, Node, CouchDB, Eucalyptus

</comment><comment><USER26> \- E-mail/calendar/docs: Google Apps standard edition

\- Hosting: DreamHost

\- Analytics: Google Analytics

\- Project management: Email (lots of), Google Spreadsheets

\- File-sharing: WebDAV, Dropbox

\- Version control: Mercurial

\- Backups: rsync

\- Istant messaging: GTalk, Skype

</comment><comment><USER27> Our list:

[http://blog-en.cloudsafe.com/post/1115843272/web-startup-too...](http://blog- en.cloudsafe.com/post/1115843272/web-startup-tools)

<comment><USER20> That's an interesting list, if for no other reason that I hadn't considered the differing needs of Euro vs US startups.

</comment></comment><comment><USER28> foursquare:

\- E-mail/calendar/docs: Google Apps

\- Hosting: Amazon EC2

\- Bug database: FogBugz

\- File-sharing: Dropbox

\- Version control: Git

\- Continuous Integration: Hudson

\- Code Review: Review Board

\- IM: GChat + Campfire

</comment><comment><USER29> \- E-mail/calendar/docs: Google Apps standard edition

\- Hosting: Linode

\- Invoicing: Zoho invoice

\- Analytics: Google Analytics

\- Project management: GQueues/Yast

\- File-sharing: Dropbox/OpenVPN

\- Version control: Git

\- Backups: Crash Plan

\- Instant messaging: Skype/GTalk

<comment><AUTHOR> I'd be curious to know how OpenVPN helps with file-sharing. Is it to secure a non secure file sharing protocol such as FTP?

<comment><USER29> We share folders between remote Linux, Windows and MacOs machines. Like you can do with Dropbox but without the size limits. With OpenVPN we can see our computers as if they were in the same local network even if they are remote.

</comment></comment></comment><comment><USER30> \- E-mail/calendar/docs: Gmail, Google Calendar/Docs

\- Hosting: Slicehost

\- Invoicing: CurdBee (<http://curdbee.com>)

\- Analytics: Google Analytics

\- Project management: Ta-da list

\- File-sharing: Dropbox (<http://dropbox.com/>)

\- Version control: Git (<http://git-scm.com/>)

\- Backups: offsite-backups

\- Instant messaging: Google chat

</comment><comment><USER31> \- E-mail/calendar/docs: Google Apps standard edition

\- Hosting: Amazon EC2

\- Invoicing: Freshbooks

\- Analytics: Google Analytics

\- Project management: JIRA, Rypple

\- Scrum: Greenhopper

\- File-sharing: Dropbox

\- Version control: Git

\- Code Review: Review Board

\- IM: GChat + Yammer

</comment><comment><USER32> \- E-mail/calendar/docs: Gmail, Google Calendar/Docs

\- Hosting: Slicehost

\- Invoicing: CurdBee (<http://curdbee.com>)

\- Analytics: Clicky (<http://getclicky.com>), Google Analytics

\- Project management: ActiveCollab

\- File-sharing: Dropbox

\- Version control: Git

\- Backups: TimeMachine with TimeCapsule & custom offsite-backups

\- Instant messaging: Adium

</comment><comment><USER33> \- E-mail/calendar/docs: Google Apps standard edition

\- Hosting: Amazon EC2 / Linode

\- Invoicing: Xero (& Recurly)

\- Analytics: Google Analytics, Woopra, Mixpanel, Kissmetrics

\- Project management: <http://PlayNice.ly> (our app)

\- File-sharing: Dropbox

\- Version control: Git(hub)

\- Backups: Github/Dropbox/Time machine

\- Instant messaging: Skype/Yammer

Other stuff:

\- Billing: Recurly

\- IDE: TextMate

\- Dev other: VMWare for local Ubuntu dev environments

</comment><comment><USER34> \- E-mail/calendar: Google Apps standard edition

\- Hosting: Oxilion (local hosting provider)

\- Invoicing: Excel

\- Analytics: Google Analytics

\- Project management: Excel

\- File-sharing/docs: Dropbox

\- Version control: Git: Codaset (previously Beanstalk)

\- Backups: Amazon S3

\- Instant messaging: Gtalk included in Google Apps for Domains

</comment><comment><USER35> \- Email/Docs: Google

\- Hosting: Heroku

\- Analytics: GA

\- Project Management: Pivotal Tracker

\- Chat: Campfire

\- File Sharing: Dropbox

\- Version Control: Git

\- File storage: s3

\- Backups: S3+Dropbox

\- Coding: TextMate

\- Internet: Google Chrome

\- Programming: Ruby

</comment><comment><USER36> \- E-mail/calendar/docs: Google Apps standard edition

\- Hosting: Rackspace cloud

\- Project management & invoicing: our own app (which is what the startup is about)

\- Analytics: Google Analytics

\- Version control: Mercurial

\- Backups: rsync

\- Instant messaging: Skype, GTalk

</comment><comment><USER37> \- E-mail/calendar/docs: Google Apps

\- Hosting: Linode

\- Invoicing: Google Docs, Billings Pro

\- Project management: Pivotal Tracker, Basecamp

\- File-sharing: Dropbox, UbuntuOne

\- Version control: Git (via Github)

\- Instant messaging: Skype, AIM, GTalk/XMPP

</comment><comment><USER38> Email: Gmail

Hosting: Media Temple and Dreamhost

Analytics: Google Analytics

CRM: Highrise

File-sharing: Dropbox

CMS (I'm not a programmer, but I'm learning Rails): Drupal

Monitoring: Pingdom

(ParkGrades.com plus some related stealth sites)

</comment><comment><USER39> at iWantMyName we use:

\- email/calendar/docs: google

\- hosting: slicehost, rackspace cloud, cloudprovider, dedicated servers

\- accounting: xero

\- analytics: google

\- project management/ bug tracking: redmine

\- file sharing: dropbox

\- version control: git

\- IM: jabber

\- stack: perl, CouchDB, RabbitMQ

changes in the last year or so:

mail -> google (from zimbra)

hosting -> +rackspace

accounting -> xero (from home grown)

file shareing -> dropbox (from VPN/own server)

stack -> -PostgreSQL

for my personal projects i also use:

time tracking: minutedock + xero (-> from freshbooks)

</comment><comment><USER40> Well, \- Vim \- Google Analytics \- Dropbox \- Git \- Linux \- Google Docs \- Skype

Not a cent paid, not a single complaint.

<comment><USER37> Are you using Git locally or are you paying for private repos somewhere (via hosted server or Github)?

<comment><USER40> Locally.

</comment></comment></comment><comment><USER41> \- E-mail/calendar/docs: Exchange/MS Office

\- Hosting: Limestone Networks, AWS EC2, Joyent

\- Invoicing: N/A

\- Analytics: Google Analytics

\- Project management: Internal App

\- File-sharing: Shared SMB Volume + VPN

\- Version control: SVN and Git

\- Backups: Tarsnap and rsync.net

\- IM: Wildfire XMPP

Other Stuff:

\- Development: IntelliJ IDEA, vim

\- CDN: AWS Cloudfront

\- Production Platform: Jetty, Wicket, Sun JDK, Ubuntu, PostgreSQL</comment>


What futures are already here? - <AUTHOR>

"The future is already here; it's just not evenly distributed yet." -- William Gibson
I find this quote to be a more reliable guide to the future than most predictions.
In 2000, Google was already two years old. Wireless was still pretty new, but every geek gathering just had to have it. Little digital cameras that you could attach to a phone were interesting curiosities. Phones that did email and web browsing existed but were super expensive and clunky.
In the other thread with predictions for the decade, almost all of them boil down to whatever's hot in 2009, only more so.
I'd like to ask the HN community to instead think of the really niche, expensive, geeky, "the mainstream will never get this" aspects of their lives right now. Stuff they find really useful, or just cool. And then consider if there's any upper bound to much they could scale up, or how easy these technologies could be made for others.
Now those would be predictions.... <comment><AUTHOR> I'll kick it off:

1\. Self-hosted social networking. Lots of my geekier friends are getting frustrated with Web 2.0 sites such as Facebook or Flickr, for a variety of reasons. They are retreating to personal sites to host their photos and blogs, and they just interact with the rest of the world with RSS.

There are some missing pieces here, but people have been talking about distributed social networking for quite a while. We may be reaching critical mass.

2\. Ubiquitous streaming video: right now, top bloggers like Scoble carry video cameras around at all times, and for special geek events, the grainy live video feed is standard. By 2019, that could easily be in everybody's phone (assuming the bandwidth is there, if not, then only in countries with decent telephony).

</comment><comment><USER2> I like James Brian Quinn's definition innovation: the reduction to practice of an invention in a culture. The focus of the question was on the expensive and geeky but the larger impacts may come from the re-purposing of 'simple' technologies for basic human needs.

Gerald Weinberg is dying of a rare form of cancer, thymic carcinoma. He used twitter to announce he was still alive <http://twitter.com/JerryWeinberg/status/7271106797> and he is using a special blog <http://www.caringbridge.org/visit/geraldmweinberg/mystory> to allow his family, friends, and many readers to follow his condition, leave tributes, and make donations.

There are things that the "mainstream may get" before the HN community that are worth paying attention to as well. They may not be a source of "change your life" wealth, but they may change the quality of your life.

</comment><comment><USER3> RSS. It has been available for years, but has not reached mainstream yet.

</comment><comment><USER4> Do home servers count? Certainly not mainstream yet in the UK.</comment>


Amazon's Echo Brims with Groundbreaking Promise - <AUTHOR> http://www.nytimes.com/2016/03/10/technology/the-echo-from-amazon-brims-with-groundbreaking-promise.html <comment><USER2> Writing a bit about the Echo has been on my todo list but this article touches on a lot of points I was thinking about. I got it thinking it would be a bit of a gimmick—and to an extent, it still is at times. But, as the author found, it has snuck into facets of my life. Shopping lists, weather, home automation, etc.

The thing is, it's a natural interface with a decent interaction model. Keyboards, mice, etc, have all become second nature to most of us but they're still not truly natural. The Echo feels like one of the first voice-based interfaces that isn't a complete gimmick. And the hardware does an amazing job of perking up when I say the wake word and picking me out of a room full of noise.

What really convinced me of it's value was when I started digging in to writing a skill for it. My grandfather passed recently and my grandmother has horrible eyesight. I wrote a skill that enables my grandmother to ask to start a phone call. She is then asked who she would like to call. Once she says a name, she receives a call on her landline, is greeted, and the call is forwarded to the intended recipient. There was a small learning curve ("you can't just say, 'call John,' you have to ask her to 'start a phone call'") but it has worked and has provided an often confused elderly woman with poor eyesight a straightforward way of connecting with her loved ones.

<comment><USER3>
        > Shopping lists, weather, home automation

Funny, I felt the article gave unusually short shrift to Siri, which I use for all of those things, in addition to "What time is it in X?", alarms, and so on.

Siri is not working so well when music plays, and I wish I could easily add skills to it, so if they've cracked that then it's something.

<comment><USER4> I haven't used an iPhone in a while, does Siri have a wake word? Does it work when the phone is in standby? Android has "Ok Google" but it doesn't work when in standby and doesn't work from the distance that Echo does.

I think that's really its killer feature. You are in the pantry and notice you're out of basil, you say "Alexa, add basil to my shopping list" and it's done. No pulling out your phone, no unlock screens, you just say what you want to happen and it works.

<comment><USER5> As of the latest iPhone 6, you don't even need to have the iPhone plugged. You trained Siri a few times by saying a few sentences and later you can say "hey Siri" and it will start listening. Apple added some new chip which will be listening for that key sentence and will only react to your voice, not someone else. So no more funny joke from co-worker nor Podcast and in addition low battery impact.

<comment><USER6> As much as I want to like this feature, I've found it less than impressive. It rarely picks me up on the first try, so I find myself shouting a very clearly- enunciated "HEY SIRI" a few times, which kind of kills the magic. About 50% of the time I just end up walking over to the phone and using my hands to accomplish whatever I was trying to do. I'm not trying this from far away or in a noisy environment, either. Admittedly an anecdote, but still frustrating.

</comment></comment></comment></comment></comment><comment><USER7> Surprised that no one in this thread brought up any concern about putting an always-listening internet-connected device into their home... That is connected to other things, like phones and even electrical devices, like garage openers.

My wife likes to glue a sticky-note over the camera on my iMac.

<comment><USER8> This is my concern as well.

My privacy threshold is pretty low (my username across most of the web is my real name, for example). This, though, is an always-listening device in your home, that connects directly to a company who's stated goal is to sell you more things. That, combined with the potential for abuse/hacks/subpoenas, crosses a line for me.

It feels a lot like the GPS trackers that insurance companies want to put in your car, which I also think is a bridge too far.

<comment><USER9> Echo only transmits the audio command to Amazon after you invoke the wake word "Alexa." It's "always-listening" but not "always-recording/transmitting." You can easily verify this by looking at your network activity.

<comment><USER7> ... and there's absolutely no way it could ever be changed without your knowledge or consent to do anything other than described!

Right?

<comment><USER10> Couldn't the same be said about the phone in your pocket as well?

<comment><USER7> It could, yes. Perhaps everyone could be a little more suspicious of phones as well.

</comment></comment></comment></comment></comment></comment><comment><USER11> > the F.B.I.'s battle with Apple over encryption should prompt deep questions > about a future of Internet-connected devices spread around our homes. Amazon > has strong privacy protections in the Echo. It doesn't stream anything > without the wake word and it has a physical mute button that electrically > disconnects the microphone but, as with all groundbreaking technology, there > is no doubt we are entering new territory here.

At least there's minimal thought given to this issue...even if it is at the end of an article claiming the Echo is the next best thing since anything.

</comment><comment><USER9> I bought an Echo a couple of weeks ago, and I love controlling my Philips Hue lights with it. If I'm on the couch watching a movie, I can just tell Alexa in the kitchen to dim or turn off the living room lights. Setting a timer and having the lights blink when it goes off is neat too. My kids love asking it questions and playing music.

Right now that's pretty much all I use it for... I always forget the specific commands to order an Uber, pizza, etc. Especially the IFTTT recipes (that require you to say "trigger" first), or any of the downloadable "skills" \-- there's a specific syntax you have to use. I wish there were multiple, more natural phrases for these actions.

"Alexa, where's my phone?" would be much more memorable than "Alexa, trigger: find my phone."

<comment><USER12> That's sort of the problem with voice interfaces. Unless it's smart enough to actually have a degree of "understanding" about what you're trying to do--as opposed to largely responding to a scripted command--there's a real issue around discoverability and feedback that makes it less useful than one might hope.

As was being discussed last week or so in some thread, it's a lot more like a CLI (without any man pages or help available) than a GUI.

<comment><USER13> Maybe it was mostly smoke and mirrors (I never actually used it), but for some reason I feel like we still have reached the level of SHRDLU, which was written in the 60s on a PDP-6! Just this excerpt sounds miles ahead of Siri et all:

        Person: DOES A STEEPLE
        Computer (interrupting): SORRY, I DON'T KNOW THE WORD "STEEPLE".
        Person: A "STEEPLE" IS A STACK WHICH CONTAINS TWO GREEN CUBES AND A PYRAMID.
        Computer: I UNDERSTAND.
        Person: ARE THERE ANY STEEPLES NOW?
        Computer: NO.
        Person: BUILD ONE.
        Computer: OK. (does it)

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

[http://hci.stanford.edu/winograd/shrdlu/](http://hci.stanford.edu/winograd/shrdlu/)

<comment><USER12> I assume there was also some connection between this and the parser in the Infocom games (which was written in MDL, essentially a variant of LISP and also came out of the MIT AI lab a decade+ later).

They're all pretty constrained environments though. I used to play the Infocom games quite a bit (and was even a tester at one point) and they were great but you'd also frequently run into situations where you went through a lot of trial and error to hit the right magical incantation.

This was around the same period that Lotus unveiled Hal to great fanfare. It was an add-on to Lotus 1-2-3 that was supposed to let you interact with 1-2-3 more naturally. It was actually good for some things but it wasn't any kind of breakthrough. I think because of GUIs among other things, a lot of the focus on interacting with computers in natural language went away. It's only with raw speech recognition finally becoming generally usable that it seems to be getting some real attention again.

</comment></comment></comment></comment><comment><USER14> The single funniest post I've ever read on HN was this response to the original Echo promo video:

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

Original promo video here: [https://www.youtube.com/watch?v=KkOCeAtKHIc](https://www.youtube.com/watch?v=KkOCeAtKHIc)

That aside, I like the _idea_ of the Echo, just not the idea of giving Amazon permanent eavesdropping rights in my home. Any home automation enthusiasts know if there's open source software that provides similar services, but which I could run myself?

<comment><USER15> Short answer: no. Long anwer: You can cobble something together, using either [https://wit.ai](https://wit.ai) (sending your voice to the cloud) or CMU Sphinx a.k.a. PocketSphinx ([https://wolfpaulus.com/journal/embedded/raspberrypi2-sr/](https://wolfpaulus.com/journal/embedded/raspberrypi2-sr/)) (keeping it all in-house)

</comment></comment><comment><USER16> _"Early on in the product, to play music took eight or nine seconds, and it's just unusable when it's like that," Mr. Limp said. "Now it's often 1,000 milliseconds_

If only there was another way to say 1,000 milliseconds...

<comment><USER17> 10e6 microseconds? ;)

The quote came from Dave Limp, Amazon's senior vice president for devices. I feel that people in senior positions such as the person quoted are far more focused on metrics and tangible results (e.g. "reduced Q4 defect ppm by X%") so it probably becomes second nature to alter the phrases used favorably. To a passive listener or someone skimming the article, milliseconds can seem far better.

Besides, I wouldn't be surprised if a lot of people need to think for a second before realizing 1000 milliseconds = 1 second.

<comment><USER18> aka, marketing-speak

</comment></comment></comment><comment><USER19> Echo is set apart from other voice platforms in that voice is the only way you are supposed to interact with it. The vast majority of things that Siri or Google Now can do, can also be done through the touch screen, and it often seems strange to talk to your phone.

Echo doesn't have a screen so you have to talk to it. It responds quickly and more naturally. Part of its contribution may be making it more acceptable to have conversations with machines.

</comment><comment><USER20> and here is the open-source version: [https://mycroft.ai/projects/](https://mycroft.ai/projects/) with kickstarter project: [https://www.kickstarter.com/projects/aiforeveryone/mycroft-a...](https://www.kickstarter.com/projects/aiforeveryone/mycroft- an-open-source-artificial-intelligence-for)

<comment><USER21> What open source ASR do they use? Kaldi? Do they have recommendations for far field mic arrays?

</comment></comment><comment><USER22> How much does it cost to buy a New York Times article these days?

<comment><USER23> Probably less than the entire Washington Post.

<comment><USER24> It's even less to buy/coopt/promise a Blue Origin ride to a single tech columnist who is lightly edited.

</comment></comment></comment><comment><USER25> Well, if you are blind, you can use any computer. If you are mute, dont speak fluent English or lets say have bad accent or like, how you use Echo, Siri, et al? What is the alternative?

<comment><USER10> Why wouldn't you just use your native language?

<comment><USER25> Not supported. Probably never will.

</comment></comment></comment><comment><USER26> So where do you put it... in your bedroom? Or kitchen? One per room?

It seems like a smartphone app with a host of "skills" plugins would render this obsolete.

<comment><USER12> Mine is in my kitchen/eating area and I imagine that's a common location. I could certainly imagine having one in my bedroom as well.

Smartphones are certainly a significant competition to this. One difference is that, today, Alexa's voice recognition is a lot better--especially at a distance in a noisy environment. I don't always have my smartphone at hand especially when I'm doing things like cooking.

It also works as a music source to play over internal or external speakers in a way that your smartphone doesn't. Of course, that assumes you're using Amazon Music.

Of course, there's nothing that says it has to be either/or.

<comment><USER27> How does it work if you have multiple people in the same house with different Amazon accounts? Is there any sort of voice authentication?

<comment><USER12> You can apparently have multiple profiles but they're all connected to a single Amazon account. (So you can have different playlists etc. but they're all connected to a single credit card.)

[https://www.amazon.com/gp/help/customer/display.html?nodeId=...](https://www.amazon.com/gp/help/customer/display.html?nodeId=201628040)

</comment></comment></comment></comment><comment><USER28> Echo is a great utility. I had mine for just a week, and I already feel attached. However, I feel it needs more AI. For example, I can ask it "What is the temperature today?", and I get a straight forward answer. But I cannot ask "How is the temperature today compared to yesterday?".

</comment><comment><USER9> _"It's an unusual thing for Amazon to be out of something, but for the Echo, it's usually in stock just for a couple weeks before it goes out of stock for a few days — so it feels like they're having trouble making enough of the devices." Mr. Wingo noted the Echo, which Amazon sells for $180 only through its own site, was selling for $200 to $300 on eBay._

FYI, for anyone that does want to buy one right now (Amazon says it will be in stock March 20), I bought mine from Home Depot. You can also supposedly get them at Sears, Staples, and a few other stores. No reason to spend $200+.

</comment><comment><USER29> I just don't like that the Echo is always listening and waiting for you to address it.

Maybe is there was a smart phone app or a clicker I could press to bring it to attention then I'd be more interested.

<comment><USER30> You can mute the microphone and use the echo remote control instead.

</comment></comment><comment><USER31> I can definitely see voice being the most common way of interacting with computers at home. I think it was pretty smart of Amazon to focus their attention there first.

I rarely use Siri because:

1) If I'm in public it's awkward. I don't want to disturb others, and don't want strangers to hear even my boring interactions with Siri. Plus it still has "the Segway problem".

2) If I'm at home I often leave my phone in another room.

I don't have an Echo yet, but I ordered a Dot (already have plenty of speakers at home) and I'm excited.

</comment><comment><USER32> Especially for home automation, I still find it so much easier to press a button inside an app than speak words. Just like pressing 1, 2, 3 within an automated 1-800 prompt is heaps easier than trying to enunciate out phrases like "customer support." And so I could never warm up to Siri, Echo, etc. They take way too much effort, even if voice recognition was perfect.

Am I alone?

<comment><USER33> You're not alone. I simply don't like talking to computers, and don't have time or interest in figuring out how to coax them into doing what I want. Whenever I get one of those customer support lines that demand me to "Tell me what you want!" I just jam on the "0" button over and over until a real person shows up.

</comment></comment><comment><USER34> "Amazon's open-platform strategy for the Echo" \- what a lie.

As much as I admire Amazon, please don't call things what they aren't. AWS is not an open platform. Echo is not either.

</comment><comment><USER35> Why does this ridiculous ptoduct exist? Why is anybody buying it for ~$200? Why can't it be replaced with a phone app?

<comment><USER21> You could, with an app like Autovoice.

Often you don't want to whip your phone out though to speak to it, and the phone mics are bad at capturing far field speech - so need a far field always- on mic.

Haven't seen any bluetooth array mics so far - seems like a market opportunity

</comment></comment><comment><USER36> As long as it doesn't run free software it will be almost impossible for me to trust such a device.</comment>


Today Nintendo Fired a Woman After Months of Vicious Harassment - <AUTHOR> http://www.playboy.com/articles/today-nintendo-fired-a-woman-for-being-viciously-harassed <comment><USER2> The woman in question: "As many of you know, the last couple months have been quite a whirlwind of controversy and GG harassment. Today, the decision was made: I am no longer a good, safe representative of Nintendo, and my employment has been terminated."

Nintendo: "Alison Rapp was terminated due to violation of an internal company policy involving holding a second job in conflict with Nintendo's corporate culture. Though Ms. Rapp's termination follows her being the subject of criticism from certain groups via social media several weeks ago, the two are absolutely not related.[...]"

So who's telling the truth here? Is the second job thing just an excuse to save face? Is the woman in question using the controversy to shift blame?

<comment><USER3> I'm more inclined to trust Nintendo on this since they're potentially on the hook for a lawsuit if they weren't telling the truth.

</comment></comment><comment><USER4> Actually it's not good to harass her even when she did in any way, since it's not good to counter the same thing with the same darn thing.

However it was the right decision to fire her. We shouldn't be so biased about genders in our languages, I mean common, everything gets a female form even when the old word actually was for both stereotypes.

Woman in the 21st century who are fighting for their rights are actually mostly fighting for their attention and that makes me sad. It's not like the way how their early counterparts acted, they tried to really change something while the newer groups actually destroying more and more.</comment>


Ask YC: Is VMWare a good buy? - <AUTHOR>

VMW (http://finance.google.com/finance?q=NYSE:VMW) has dropped approximately 25% since the CEO left or was ousted. On top of that it is down from it's high of 125.25. Is it a good buy at approximately $39 a share? I've used VMWare Fusion and have been really pleased. I think they currently hold an advantage because they support so many different operating systems. In the coming years Virtualization is going to happen, will VMW end up being a good investment? Will Xen and Parellels end up taking market share from Microsoft and VMWare? I think it's an interesting topic which may end up being hard to predict. What does Hacker News think? <comment><USER2> They're trading at over sixty times their highest-ever earnings. I guess you have to wonder why, if virtualization is able to earn them such great returns, they don't have more competition.

My guess is that their product will get cheaper and more commoditized, and those 15% profit margins won't last. But I don't know much about the industry -- that's just what happens in tech, in general.

</comment><comment><USER3> I don't think it's a good buy personally.

Good product, but there are too many free options out there, and a lot of general turmoil in the virtualization space right now.

</comment><comment><USER4> On the linux side of things, Virtualbox is a much better product than VMWare except for some issues with giving control of USB devices to the VM. It loads faster, and has a coherence mode similar to VMWare Fusion on Mac.

The free solutions are getting much better and can compete with VMWare. Furthermore, I would say the money is not in desktop virtualization, but rather in server virtualization. For this, does VMWare even have a product?

<comment><USER5> > The free solutions are getting much better and can compete with VMWare. > Furthermore, I would say the money is not in desktop virtualization, but > rather in server virtualization. For this, does VMWare even have a product?

Huh? They are _extremely_ strong in data center virtualization - in fact that's where their main revenue comes from: <http://www.vmware.com/products/server_virtualization.html>

</comment></comment><comment><USER6> no. not yet, at least. their P/E was astronomical before, and its still kinda high. will need to drop more before i consider a purchase, myself. if it dips below $20, i'd consider it.</comment>


We just launched $14.99/ day NYC parking. How do we get the word out? - <AUTHOR> https://www.onairparking.com/city <comment><USER2> I'm not the target demographic but all I can think is: why?

The city with the most transit/for hire transportation options in the country and a business goes up around bringing in more cars and making it more convenient to do so.

Parking a car in NYC all day must be the most inefficient use of urban space possible.

<comment><AUTHOR> People use us for: cruise parking, hotel parking, Airbnb parking, when visiting a friend/ family.

Cruise- out of The Manhattan Cruise Terminal. They drive in from NJ, CT, PA and park while they're cruising- saving up to $75/ day.

The others- they want to visit NYC by driving into the city from their local state, but want to use transit while they're in town. Or they want to rent a car from a NYC airport. They pay for discounted parking with us, keep their vehicle parked for the extent of their trip (we don't give in and out access) and take public transport etc. while in the city.

So we've had nice success gaining initial traction with our typical marketing efforts, but wanted to know if locals had thoughts on how to capture more!

</comment></comment><comment><USER3> It's always good to take inspiration from other companies on how they d acquisition.

Uber eats have people physically handing out $10 off coupons.

You could offer your first 24 hours is free by using a coupon. You can then get these posted on "deal" sites for people to use as a one off.

Also, look into to refer-a-friend and affiliates. Refer to a friend was a strong acquisition method for Uber in their early days. Refer to signup someone to your service and they receive 24 hours of complimentary parking.

<comment><AUTHOR> Thanks for the thoughts! Love the one day of free parking. Will implement this in a week or two! Our CAQ are higher than a free day at $14.99 so this is perfect!

<comment><AUTHOR> CPA _

</comment></comment></comment><comment><USER4> If I were approaching this: \- Posting on NYC subreddit \- Pay students to put up posters around meters and garages

I'd focus on the area with the highest density of garage parks or areas where it's generally hard to park as you'd be solving 2 problems: figuring out where to park and pricing.

<comment><AUTHOR> Love these thoughts! Thanks for the brainstorming!

</comment></comment><comment><AUTHOR> We launched Times Square, Hudson Yards, Penn Station, Columbus Circle, NoMad, Tribeca and more. Our target is leisure/ vacation travelers. Thanks for any help!</comment>


German election diary: Posters everywhere but no attacks - <AUTHOR> http://www.economist.com/blogs/charlemagne/2013/08/german-election-diary-0

<comment><USER3> > attack ads, like Super PACs, are unimaginable here, legally and culturally.

Legally? There are laws preventing certain kinds of criticism of political parties, and we're celebrating this?

Perhaps it's because I haven't seen many attack ads (as a UK citizen who doesn't watch adverts), but I don't get the hatred for them. Is informing the populace of the downsides of your opponents' positions not better than putting contentless posters all over the city?

<comment><USER4> Germany politics are and have been for the last couple of years in a rather curious state where the opposition appears to have given up on attacking Merkel in any meaningful way. I think there are several factors that play into this.

First of all, after the 2005 election a grand coaltion between Merkel's CDU and the social democratic SPD was formed leaving only the three smaller parties with a combined 166 out of 614 seats as the opposition. This put the SPD in the position of the CDU's junior partner instead of their usual position of attacking the CDU's political agenda. What may be even worse from the SPD's perspective is that the are now in the position of having supported the decisions made in Merkel's first term which would make it less than believable to attack those decisions now.

In the 2009 election the CDU only lost a marginal amount of votes while the SPD suffered heavy losses to the benefit of the three smaller parties. This allowed Merkel to form the traditional coalition consisting of CDU and the liberal FDP thereby leaving 290 of 622 seats to the oppposition and allowing the SPD to resume their role as the main force in opposition.

Except they never did. Instead of mounting attacks on the government, they stayed tame and oftentimes even concurred with the government on decisions despite no longer being in power. I am not sure about their reasons. Their lack of charismatic leadership personnel may have played a role, but that can only explain so much.

The second and more important factor is probably Merkel's very specific style of governing. She tends to be extremely passive, never exposing herself and opening herself up to criticism. If possible, she avoids making decisions at all. If she has to make decisions, she will always take the popular choice. If hard or controvesial decisions have to be made, she never makes a proposal herself. A proposal is either leaked to the press or presented by one of her ministers. In case said proposals garners widely negative reactions, the minister takes the blame giving Merkel the opportunity to shield herself from the fallout. Should an extraordinary event like the Fukushima accident lead to a sudden reversal in public opinion (towards nuclear energy in this case), Merkel will immediately flip her position and take the opposite one. If you have paid close attention to German politics in the last couple of years, you will see these exact steps repeated over and over again.

The worst part is, it works. Her latest approval rating is at 60% compared to 25% for the SPD candidate. Somehow she has managed to lull not only to public but also her political opposition to sleep over her two terms in office. This leaves us in 2013, a month away from the election with an opposition that behaves more like her pet kitten than her political challenger. What is even worse, is the fact that it leaves the population without a real choice for political change.

<comment><USER5> _If she has to make decisions, she will always take the popular choice._

Are you saying that this is a bad thing? I am always surprised when people demand from politicians to make unpopular choices. Isn't that a bit schizophrenic?

<comment><USER6> There are alot of good long term decisions that are unpopular in the short term. Merkel mostly optimizes for a positive short-term outcome, especially this close to the election.

Thats more like a global problem with the current form of democracy though.

<comment><USER7> Yes, and there are lots of popular short term decisions that would be terrible in the longer term. Lower taxes, yay. Block immigration, hard on crime with long jail terms for minor offenses, deregulate banking etc. Just recently I had a friend who voted for the party that promised to lower taxes complaining about the lack of staff, being overworked and not having a pay rise. He works in a publicly funded institution. People don't seem to think even 2 steps ahead.

<comment><USER6> Exactly...most of the countries with really high taxes are the most stable financially for example.

</comment></comment></comment></comment></comment></comment><comment><USER8> Perhaps this is partly due to the multitude of parties, which in turn is due to the nature of the electoral system?

In a two party system, a lot of people feel like they are voting for the lesser of two evils, so negative campaigning is presumably far more helpful to your cause.

If you have to compete with multiple parties for votes, you need to offer more than simply criticism of the opposition.

<comment><USER9> There are a lot of people protesting the current multiparty proportional system in Bulgaria. They don't like the coalitions, the lists of candidates as opposed to individuals, the indirect election of prime minister (biggest coalition appoints one).

However I am very skeptical that changing the political party structure changes much. Aren't in the end the Republicans and Democrats just two big coalitions of movements that tolerate their coalition partners? If you had a multiparty system you'll get a liberal party, a conservative party, a far- right party and maybe a libertarian party. And they'll form long-run coalitions just like they do in multiparty countries.

In a multi-party system you are still probably voting for the lesser of two or more evils. In Bulgaria between 4 and 7 factions in parliament so its definitely a multi-party systems, although parties like to place themselves on a left-right spectrum and ally accordingly.

Did it have attack ads in all the elections? Absolutely! Ads target everyone, including smaller parties, to get votes from them and create guilt-by- association to their actual or potential coalition partners. You obviously don't target you partners, so thats why a right-left divide seems to appear... so you can claim you get a two-party system, you just have the primaries during the actual election.

<comment><USER10> Hey, Bulgaria, want to trade?

Here in Canada, the government goes to the party with the most seats, and each seat is handed out in a small regional FPTP election. What this means is that our elections go through _two_ first-past-the-post filters instead of one. In 2008, the Conservatives faced all the other parties aligning against them to throw them out and, through a trick of procedure, they managed to keep control of the government. They were elected with only 38% percent of the vote - <USER2> minority ruled as a majority.

<comment><USER11> Lots of people unhappy with the Conservatives seem to have this idea that a minority government means they have no mandate to rule, etc. Personally, doesn't it represent the country better to have multiple parties with non- majority representation? If you keep winnowing down until you give most of the power to one group which the majority of people don't mind, they can push through whatever legislation they want with impunity. I would rather have the population represented proportionally by MPs who share their views, so that legislation lives or dies by what proportion of the general populace supports it.

As an (extreme) example, you could have parties with different opinions on disjoint issues, like abortion (A) and legalizing marijuana (B). You could then have four parties, AB, A'B, AB', A'B', and some of the populace would vote for each of them based on their support of those issues. If you require that some party 'wins' and gets a majority, people have to work to rank the parties by least distate, by preferring some issues over others. With a whole bunch of minority parties (ideally 2^n, with n binary issues), every voter could actually encode their whole stance on a set of issues, and bills on that issue would pass or fail proportional to the support of the populace.

My point being, FPTP might not be the best at the riding level, but there's no reason to mess with which party becomes 'the government'. The country is well served by the existing Parliamentary system. The Senate, on the other hand...

</comment></comment></comment></comment><comment><USER12> Actually, some of the posters from Die Grünen (Green Party) have a rather personal taste to them. See [1], which shows Merkel and Röstler (figureheads of the current ruling parties) with the caption "It's always someone else's fault". And then of course, there's the fringe parties, like [2], saying "Which ass will you choose this September?".

[1]: [http://www.gruene.de/fileadmin/user_upload/Bilder/Webbanner/...](http://www.gruene.de/fileadmin/user_upload/Bilder/Webbanner/plakat6_540x382.jpg) [2]: [http://img01.lachschon.de/images/153979_WelcherArschdarfsden...](http://img01.lachschon.de/images/153979_WelcherArschdarfsdennsein_1.jpg)

Of course, that's still kittens and rainbows compared to the rabid, poisonous insanity that is considered normal in the US.

</comment><comment><USER13> I'm from Canada, and there are attack ads everywhere. I can't stand them. Instead of using your money, your time and your effort trying to destroy another candidate, tell me why you're better. I think it's by and large one of the major reasons I have little faith or interest in the politics of my country.

</comment><comment><USER14> What is there to attack, when they are all exactly the same? Germany will hop between SPD and CDU forever. With 0 change. The greens and FDP are merely helpers to fake some noise in our mindless american-style media apparatus. I don't even bother with voting. Politics only distracting you from what is real.

</comment><comment><USER15> Does any candidate support closing US military bases in Germany?

<comment><USER16> They are irrelevant and a non-issue on the federal level (I cannot remember when they were last publicly discussed there, much less controversially discussed). They are about equally irrelevant on the state level and certainly also not controversially discussed there.

On the very local level (city, county, region) they can be an important issue – but the perspective is nearly always an economic one: The base as a large employer in a region that might grow or shrink or close down. Best city marketing approaches for getting Americans from a nearby base to come visit and buy stuff. It's always stuff like that.

Ok, I guess I can think of one current somewhat heated issue that was recently discussed and that I noticed, living somewhat close to a base and all – but, again, only on a very local level: the US Army being allowed to fly drones for testing purposes (also outside of and between two of their bases). But even there the discussion is not exactly a shouting match and never even connected with any kind of argument to close bases.

I think the general consensus in Germany is that having the US as a tight ally is a good thing. And you don't throw a tight ally out of your country, especially if what they are doing there is (at least perceived as) completely harmless. Sure, there might be widespread general disagreements with the US military strategy as a whole, but that does not, in general, lead people to want to throw out the baby with the bathwater, so to say.

I think you might be able to rally quite a few people around a hot button issue like the stationing of nuclear weapons in Germany (but I'm not even sure whether the US still does that), but throwing out the US? Not really.

If you are an American who wants to close all US bases in Germany quite a few German politicians would be indifferent or worried about the US-German relationship and many local politicians with a nearby base would be furious about you taking away all those jobs (not that the bases matter for the German economy in general in any significant way).

<comment><USER15> >especially if what they are doing there is (at least perceived as) completely harmless

Umm. The citizens Iraq and Afghanistan might disagree with you.</comment></comment></comment>


Sequoia PGP: The Seeding Sees the Light of Day - <AUTHOR> https://sequoia-pgp.org/blog/2018/11/26/initial-release/ <comment><USER2> Just to make clear, this is a Rust implementation of Open PGP under GPL 3.0. It provides an API for doing things with PGP, but I couldn't tell if it provides any end user applications at the moment. Is that correct?

I'm quite excited by it as I'm hoping it will give a nicer abstraction than GPG -- although quite a lot of the problems I have with GPG is actually baggage from Open PGP.

<comment><USER3> In the talk at RustFest this weekend, they mentioned they're taking a "library-first" approach, since many people resorted to shelling out to the binary for gpg.

So I believe so, yes.

</comment></comment><comment><USER4> Depends on:

[https://en.m.wikipedia.org/wiki/Nettle_(cryptographic_librar...](https://en.m.wikipedia.org/wiki/Nettle_\(cryptographic_library\))

Which is written in C and asm.

</comment><comment><USER5> Congrats!

Volker Birk, p≡p</comment>


Famous Chess Game, Bobby Fischer against Robert Byrne - <AUTHOR> http://realityconditions.blogspot.com/2008/01/in-memoriam-bobby-fischer.html

<comment><AUTHOR> Read the article by following the game here: <http://www.chessgames.com/perl/chessgame?gid=1008419>

Absolutely amazing...</comment>


Jordan Peterson's Psychological Significance of the Bible Stories - <AUTHOR> https://www.youtube.com/playlist?list=PL22J3VaeABQD_IZs7y60I3lUrrFTzkpat <comment><USER2> While I quite enjoy Jordan Peterson's work I'm not sure that this belongs on HN.

It doesn't go against the guidelines I suppose but it still feels out of place to me.

<comment><USER3> His series is the top response to this HN post: [https://news.ycombinator.com/item?id=16045859](https://news.ycombinator.com/item?id=16045859)

</comment></comment><comment><USER4> Peterson is probably the most talented sophist around these days. This particular lecture series, like most of his other lectures, is full of ad hoc historical revisionism that just happens to line up exactly with his enlightened Christian centrist worldview.</comment>


Show HN: Music Video Dispenser now renders videos using headless Firefox - <AUTHOR> https://www.musicvideodispenser.com/??? <comment><AUTHOR> We launched Music Video Dispenser on HN roughly two months ago (previous discussion: [https://news.ycombinator.com/item?id=13308820](https://news.ycombinator.com/item?id=13308820) ). At the time we rendered videos on the client using the brand new MediaRecorder web api. Now we've moved rendering to the cloud using MediaRecorder in a headless Firefox instance instead so we can guarantee perfect 60fps full hd videos without frame drops!

</comment><comment><USER2> There is nothing there to explain how it works. Does anybody have some information?

<comment><AUTHOR> We use the Web Audio API, HTML5 Canvas (with PIXI.js) and MediaRecorder to render and play-back generative music videos on the client side. However, it turns out that MediaRecorder can only work in real time, so unless you have a reasonably beefy computer, your video render might suffer from frame drops and random hangups. In an effort to eliminate these frame drops we moved the same js rendering code that we use on the frontend into a headlessly run Firefox instance wrapped in some additional node.js logic for controlling logic flow. That required splitting the rendering process into an offline pre-processing step for FFT analysis on the audio stream, a separate rendering job for rendering the frames themselves, then using ffmpeg to combine video frames, audio data and remuxing timestamps to ensure proper playback speeds.</comment></comment>


Paul Graham retweeted and liked Trump's tweet with phrase "China Virus" - <AUTHOR> https://imgur.com/a/ctE8rCd <comment><USER2> So what? I'm gonna guess he wanted to amplify the photo of a mask-wearing Trump, not the China Virus.

Are we supposed to "cancel" somebody just because they like a tweet?

<comment><USER3> Hmm... what if trump said the "Jewish virus" like other Neo Nazis, in Germany, are now suggesting? Would that be too much for you?

<comment><USER2> China is a location (which is currently the one believed to be the origin of the virus), while Jew is an ethnicity/religious affiliation with no statistical association with the disease. So while Trump's use of terms is abhorrent, I don't think that comparison is realistic.

(I wouldn't cancel anybody for liking a tweet by Neo Nazis; I'd just incorporate that into whether I would want to work with them or support them in the future).

<comment><AUTHOR> There is a context in the original tweet.

Trump had repetitively used the term "Chinese Virus" since the pandemic. Quoting _the Conversation_ [1]

> The expressions "Chinese virus" and "Wuhan virus" personify the threat...The > adjective "Chinese" is particularly problematic as it associates the > infection with an ethnicity. Talking about group identities withan > explicitly medical language is a recognized process of Othering (here and > here), historically used in anti-immigrant rhetoric and policy, including > toward Chinese immigrants in North America. This type of language stokes > anxiety, resentment, fear and disgust toward people associated with that > group.

In this particular tweet, Trump used the term "China Virus" instead of "Chinese Virus". Following the development of the recent events, it is very clear that such a term still ties to people of an ethnicity, or people of a location, instead of, say, just a location. The dismiss of the comparison is weak.

> So what? I'm gonna guess he wanted to amplify the photo of a mask-wearing > Trump, not the China Virus.

Even if pg's intend was just to amplify the photo of a mask-wearing Trump, the fact that he liked and retweed a message inciting hatred is beyond disappointing.

[1] [https://theconversation.com/donald-trumps-chinese-virus- the-...](https://theconversation.com/donald-trumps-chinese-virus-the-politics- of-naming-136796)

edited: add link</comment></comment></comment></comment>


United we stand - <AUTHOR> https://medium.com/life-tips/32e8d4a06de1

<comment><USER2> Thanks for letting me know about website medium.com and post about multitasking which looks like created when multitasking :) In response I'll notice [http://lasermed.pl](http://lasermed.pl) which is quite a interesting place in Warsaw, Central Europe as well as say that not always everything is what it seems to be</comment>


Intern: A complete test stack for JavaScript - <AUTHOR> http://theintern.io/

<comment><AUTHOR> I am reposting this because I didn't see discussion in the last 5 postings and there may be people who can share their experiences using this test framework. The subtitle comes from their github page.</comment>


Why Google cares if you use your real name - <AUTHOR> http://scripting.com/stories/2011/07/25/whyGoogleCaresIfYouUseYour.html <comment><USER2> For a counter-point, this is what Robert Scoble wrote about his conversation with Vic Gundotra, Google's head of social: [https://plus.google.com/111091089527727420853/posts/Fddn6rV8...](https://plus.google.com/111091089527727420853/posts/Fddn6rV8mBX)

"He [Vic] says that he is trying to make sure a positive tone gets set here. Like when a restaurant doesn't allow people who aren't wearing shirts to enter.

He says it isn't about real names. He says he isn't using his legal name here. He says, instead, it is about having common names and removing people who spell their names in weird ways, like using upside-down characters, or who are using obviously fake names, like "god" or worse.

....

He also says they are working on ways to handle pseudonyms, but that will be a while before the team can turn on those features (everyone is working hard on a raft of different things and can't just react overnight to community needs)."

Just wondering: can non-Google+ users follow the link above and read the post? I ask because Dave Winer said "I can't point to those articles because only people with Google-Plus accounts can read them, apparently." But I could pull up that Google+ post just fine, even with a non-logged-in Firefox or incognito Chrome window?

<comment><USER3> "it is about... removing people who spell their names in weird ways, like using upside-down characters"

Here's to the crazy ones. The misfits. The rebels. The troublemakers. The round pegs in the square holes. The ones who see things differently. The ones who dare to spell their names with upside down characters.

<comment><USER4> The ones whose parents didn't give them enough attention so they have to spend their days testing the boundaries of internet communities and then throwing a fit because their wingding character isn't supported.

<comment><USER5> That's a pretty flippant attitude, considering people are losing access to critical stuff like all their emails for making the mistake of violating some rule buried in a 20 page TOS.

<comment><USER2> People don't lose access to Gmail just because of the common/real name policy. I posted this earlier in the thread: <http://news.ycombinator.com/item?id=2803334>

</comment></comment></comment></comment></comment><comment><USER6> Dave's been for a long time the tech version of an old man screaming at kids to get off his lawn. Matching your "Real Name" to advertising partners isn't at all why Google wants your "Real Name". They want it because it makes for a better social network. Most Gmail users provide a "Real Name" so Google already had hundreds of millions and so far as I know, hasn't decided to hook up with my grocery to somehow advertise better to me. They do use interest data, but it's one-click to opt-out of (<http://www.google.com/privacy/ads/>) and knowing someone's name adds little to being able to target ads.

<comment><USER7> Your comment reads better without the Ad Hominem. You have an opinion, it differs from his, that's fine, and that's all you need to say.

<comment><USER6> I don't think it's a stretch to characterize Dave Winer as a curmudgeon. He has made valuable contributions and I respect him, but he's still a curmudgeon.

<comment><USER7> I don't think it's a stretch to look at my comments here on HN and say that I'm cranky. Nevertheless, that doesn't in any way add to a debate over my specific comment: Either I'm right or I'm wrong. If I'm wrong, say so and explain why. Saying (correctly) that I'm a cranky guy is still an Ad Hominem.

Summary: Ad Hominems can be factually correct yet they are still Ad Hominems and still the lowest form of disagreement.

And my point in this case isn't that the entire argument was an Ad Hominem, but rather that it was a (possibly correct) Ad Hominem followed by a perfectly reasonable point. I stand by my assertion that the point is stronger on its own without the Ad Hominem.

<comment><USER6> Point taken, and lest I myself appear persnickety, I'll leave it at that.

<comment><USER7> And likewise, I will mention that while I'm quibbling about one little bit, I consider the rest of your comment worthy of an upvote.

</comment></comment></comment></comment></comment></comment><comment><USER8> Oy. Maybe if you have a relatively Googleable name like "Dave Winer", you could expect your theory to hold. But GOOGLE SHOULD KNOW BETTER. Try correlating my name (Michael Roberts) with _anything_ just by name. It can't be done. There are an estimated 5589 Michael Robertses in the US (howmanyofme.com) and several of us in any given town. And my legal first name is actually James, so you can't correlate that with airline reservations anyway (thanks so very much, TSA).

No, Google really didn't think this through here. And the "hoo-ha" (I'm not sure that means what you think it means) is about more than that. It's about a ToS that says "use the name your friends know you by" - often a pseudonym. Google will still delete your account with no recourse.

(This even omits the real-world examples of people who don't fit Google's Anglo naming assumptions - the real world really does consist of about 20% impossible hacks, and you'd think Google, _of all companies_ , would get that, but they seem not to.)

Of course, Google's famous omission of any discernible customer service or appeals process only plays into this even more.

No, it's a trainwreck. Google is responding well, and it's true it's still actually a beta - but pseudonymity is important, and the ability to correlate with banking records is broken anyway. So why stick with it?

<comment><AUTHOR> There are lots of other signals to triangulate by. Name is just one and the primary one.

BTW, there are lots of people with my name, exact same spelling, in the US.

<comment><USER8> That's nice. The factor is about 5000. Census records are used for howmanyofme.com (1990 and 2000) - there were 423,777 Robertses versus 2,406 Winers, and there were over 4,000,000 Michaels versus 82,000 Daves.

I'm sure there are "lots" of people with your name in the US, but you aren't named Michael Roberts. Trust me. I am unGoogleable.

</comment></comment></comment><comment><USER9> I doubt it. Google wants your real name so it's easier for your semi-friends to find you, and drive "engagement".

I'm pretty sure my classmate from high school won't find me I sign up under the name "wisty". Which would be a mixed blessing, but very bad for business. OK, there are a few internet celebrities who are best know by "handles", but they aren't the bread and butter of social networks.

<comment><USER10> This has never been a problem for Facebook. People find other people through common friends, not by searching for names.

<comment><USER11> Correct me if I am wrong, but Facebook has the same policy and deletes suspiciously named accounts as well.

<comment><USER12> They technically have the same policy, but they don't seem to be proactive like Google is.

Also, Facebook doesn't use your name to find your friends, they use your friends list to suggest their friends might be yours as well.

Reason and method are both different.

<comment><USER13> In the beginning Facebook was far more restrictive in requiring a university email as well as a real name to sign up. If it had instead launched based on an open invitation system and _not_ policed pseudonymous accounts then marketers and trolls would have ensured it remained an insignificant niche site.

If anything, real names were far more critical to Facebook's success than they might be to Google+

</comment></comment></comment></comment></comment><comment><USER14> Yeah, this article is off. The idea that Google + would then take your name and sell it to it's partners while linking to its DFA data is an incredible breach of PII and they would be hit hard by the government immediately. As someone who works with these data feeds and digital marketing, I know it's not what they're aiming for and that it would be in violation. As others have pointed out the effort is in better matching and spreading of social circles. In doing so, Google + becomes a more widely used tool and, the relationships that a user has with others increases. Couple that with the idea of circles and future search, discussion and buying habits of the user, Google can then understand the influences different parts of the network have on the individual and tailor the advertising a user sees to the messages coming from the influential networks.

<comment><USER15> They don't have to sell the information to their partners. They could, for example, _buy_ information associating last names and ZIP codes with estimated income levels, and then tell advertisers, "if you pay us $X we will put your ad on those Google+ pages where, according to our statistical estimate, at least 75% of the readers make over $100K." The advertisers wouldn't actually know the names of the people that Google forwards the ad to; they would just get the clicks.

<comment><USER14> There are a number of ways for Google to do that based on network, searches and other information that give them a high statistical probability of being right without having to go through the trouble of actually matching names with lists. That's a capability that goes right into retargeting/remarketing lists and certain ad servers.

</comment></comment></comment><comment><USER16> I think there are two reasons for making people use their real names, and it's not this. One is preventing non-person entities from using the service. Nobody wants a "friend" that's "Mashable News" or "Coca Cola". When these accounts start following you, it's worse than spam. If you want to advertise, buy an ad so I can block it.

Secondly is the "anonymous people are jackasses" problem that's pervasive everywhere on the Internet. If people have to use their real names, they will behave on G+ as they would in person, which makes for a nicer experience.

Anyway, you can legally change your name to whatever you want (I have a friend whose US passport says "Ingy döt Net"), so if you really consider yourself to be your nickname, get a government ID with that nickname on it. Problem solved. (This problem is also solved with Photoshop, FWIW.)

</comment><comment><USER17> > There's a very simple business reason why Google cares if they have your > real name. It means it's possible to cross-relate your account with your > buying behavior with their partners.

The idea that google somehow wants track your behavior through your name is laughable. Do a facebook search for your name. Do you see all those results? Those are all false positives that google would have to build algorithms to try and weed out.

... or (assuming they actually wanted to track users in this way), they could just use the unique-by-definition email address you registered with, or the unique-by-definition credit card number you used in google checkout, or get that information from AdWords partners when they track conversions ...

Since there are a thousand better (and less noticeable/public) ways to track users, we can safely ignore google wanting to "cross-relate your account with your buying behavior" as a possible motivation.

</comment><comment><USER18> I think that's illegal in many European countries to match the ads so closely, so it is unlikely that Google's had this in mind[1].

In my opinion, the actual reason is slightly gentler. There is a lot of research that says that people behave more responsibly under their real names.

(I'm short on time right now, but please let me know if you're unable to find the papers within five minutes.)

[1]. There is a huge difference in the privacy laws between the US and the EU. Shortly, in the EU you own your data, not the company hosting it.

</comment><comment><USER19> Can we change the title? This is opinion presented as fact.

</comment><comment><USER20> I doubt the marketing rationale. Most G+ accounts will be connected to older Gmail accounts, which are themselves likely to be the point-of-contact for most online transactions (and, if not, it's going to be email@example.com, etc.). So it seems like Google already has the best identifier it could possibly get, the Gmail name, which can be cross-referenced even to otherwise anonymized data.

</comment><comment><USER21> That would be a great argument, if not for the fact that Google doesn't need to get that information from Plus. They most likely already have it.

</comment><comment><USER22> The only reason is for their power.People have some tolerance for corporate greed, but little to none for blatant corporate power grabs. They are literally killing it right before our eyes for lack of understanding. People won't use the system if they insist they get to know everything about you solely for their benefit. No matter how they spin it, it's just not gonna fly. Watch.

</comment><comment><USER23> I'd argue that using the real name helps the community in the end, because people behave "better" when taken away this anonymity. I have the feeling that up until now the conversations i had on google+ and the content i have seen has a far better quality then facebook or twitter.

If this is worth the trade-off is up to everyone himself...

<comment><USER24> 'Better', for varying definitions of the term. When identified, people behave as to protect themselves from social criticism. That may involve not post profanities in others' posts, but it may also involve not posting stuff that goes against the status quo.

<comment><USER23> good point. i'm still not sure if this is a good thing or bad thing. My personal experience was: i entered google+ with my nick name and switched to my real name on my own, before those deletions took place... don't ask me why, it was just a feeling?

As i especially enjoy the locality based stream, i enjoy not having to read too much crap :P

Also, posting against the status quo is kind of natural in the internet, the difference is HOW and not WHAT is said..

On the other hand:

Around 15-20% of my facebook friends use fake names out of privacy concerns and in general don't post crap. They still have their own, good reasons to not use their real name..

</comment></comment></comment><comment><USER4> I think a social community should either be completely anonymous or completely named. Both Google+ and 4chan are great in their own ways. It's when there's a mixture of anonymity and not (twitter) where things can get frustrating.

</comment><comment><USER25> The reason why Google et al want your real name is very simple — to help you connect with friends easier. This isn't a difficult concept.

</comment><comment><USER26> A screen name is no less "real" than a legal name.

<comment><USER27> To the extent that you can change it at will without effort, yes it is.

<comment><USER26> What does that matter? If people know you by your screen name, that's a real name. Legal names are just nick names that are recorded by the government.

<comment><USER27> It matters because if people can change names at will, they are effectively anonymous. And anonymity can bring out the worst in people.

</comment></comment></comment></comment><comment><USER28> Let me suggest the true issue isn't _real_ vs. _pseudonymous_ or _common_ vs. _contrived_ , but whether names are _cheap and disposable_.

When identities are _cheap and disposable_ , lots of mischief becomes more prevalent, like spam and harassment.

When Google says they want 'common names', what they mean is they want names that already have a history of investment. That is, nothing created solely for the purpose of participation on GooPlu.

This benefits Google a lot: it makes you less likely to 'burn' your GooPlu account with one-time mischief. It makes it easier for other acquaintances to build out their 'circles' by finding you. It even lets Google loosely correlate data from other sources (like their web crawls) with your GooPlu presence (for customization and ad targeting).

Temporary, single-purpose identities are like masks. Society only welcomes masks in certain places and times. Even just a few masks in a forum that otherwise doesn't have them can change (or ruin) the character completely.

<comment><USER29> People that want to be anonymous will be anonymous. Using a real sounding name does not mean that it is the real name of the user.

</comment></comment><comment><USER30> What a terrible article, it completely misses the point that for many people there is no such thing as having a Single Real Name.

<comment><USER31> Uhhh, did you read this article?

<comment><USER30> Yes.

It says "Simply put, a real name is worth more than a fake one."

and we've already decided that a single real name doesn't exist for many people.

<comment><USER31> You are missing the point entirely. This isn't a justification at all, it is an explanation. The article asserts that they can monetize single real names. Some people don't have those, but if Google thinks that they can't monetize that, why should they care?

 _That_ is what the article is saying. It didn't miss a thing, it just didn't spell it out in simple english for you.

And for the record, I do not agree with the article that this is the cause of Google's actions.

<comment><USER30> Look again at the other post from yesterday - the post that talks about how Google realises that there may be a case for not having a single name to rule them all, and that they were looking at way of making the alternative model work, i.e. make money for them.

<comment><USER31> The article is suggesting that they at least initially did not see a way to monetize it. The topic article is not faulty in the way you suggest.

</comment></comment></comment></comment></comment></comment><comment><USER32> Without real names, G+ will become Yahoo Pulse. Won't help anyone.

</comment><comment><USER33> Doesn't look like the URL is functioning ...

</comment><comment><USER34> Google knows who you are. Google knows where you've been on the web, and what you're doing. They long have. Google told me on my own + page several of the pseudonyms I've used across the web.

The "Google wants to sell you" bit is not insightful. It's not a unique perspective. It's the same superficial analysis we see with every single thing Google does.

Google wants an online community of real people, with what that entails. There is a long and documented trail of discussions on this topic regarding the downsides of anonymity. Yet there are also upsides, and if someone wants an anonymous discussion forum that supports that, there are plenty of options for that.

But it is wholly inconsistent with the goals of Google+.

Alas. Whatever Google does, just say it's because they want to sell you out. It's a clean, pat answer.

<comment><USER35> "It's the same superficial analysis we see with every single thing Google does."

Superficial isn't a synonym of "wrong". Sometimes the superficial explanation is the correct one. Sometimes people expend a lot of cognitive effort looking for the complex, nuanced answer when the superficial one was correct all along.

And sometimes not, of course.

But I would argue that the idea that Google isn't giving one thought to how much money Google+ is going to make them is the bizarre position, absurd on its face.

I'd also observe that any given action does not need to have one motive. Google can want a "real community" (also because a "real community" is more likely to be active, cause people to spend more time on Google+, and thus see more ads and generate more ad revenue), and _also_ want to have better information with which to target you. There's no contradiction, and there's no way in which one is the "real" motivation and the other is false, they're all just mixed together. There's a whole lot of people here trying to draw lines about what's the real motivation and what isn't when there's no room to draw the lines in the first place.

<comment><USER34> * Superficial isn't a synonym of "wrong". *

It is a synonym for "barely worthy of anyone's time.

And yes, of course Google wants Google+ to make them money. But saying "they want a healthy, vibrant, non-threatening community...thus allowing them more page visits and thus ad impressions, thus allowing them to make lots of money" has a completely different synergy than "they want your name so they can sell it".

</comment></comment></comment><comment><USER36> Hogwash! it is not legally permitted to target advertising using real identities, ads are targeted at demographics, and a name has no value to ad targeting anyway, interests are what used for targeting ads not names.

There are many legitimate reasons to insist on real names within a social application, adding trustworthiness to sharing and trusting that you are communicating with the right person being among them.

Also it's in beta testing and a pseudonym option will be introduced: [https://plus.google.com/111091089527727420853/posts/Fddn6rV8...](https://plus.google.com/111091089527727420853/posts/Fddn6rV8mBX)

 _Edit: clarifying that ads aren't allowed to be targeted using real identity._

<comment><USER37> Hmm, so Gmail showing you ads based on the email you're currently reading is unlawful? I think you have a weird (i.e., excessively narrow) definition of "target advertising to inviduals".

<comment><USER38> They are targeting you, yes. But "you" is loosely defined as someone who reads email newsletters about cat toys, not necessarily "John Smith, cat toy enthusiast".

</comment></comment></comment><comment><USER39> Kind of obvious, I just hope this kind of idea is picked up by the media. It's also why Google+ has some very tricky rules in regards to what becomes public on your profile, because publicly indexed information can be used and monetized more than the private information. That's why Google has made all the "revolutionary" platforms that it has been, and why Schmidt says so many scary things that should make us feel sick.

Facebook's doing the same thing though, Google and them are both selling our identities, interests, social connects and other data to the highest bidder. But the handsets are cheap.

</comment><comment><USER40> It's becoming more and more clear that _we_ are Google's product and not their customer. Google is bending over backwards to ensure we are a saleable commodity.

I feel like at this point the "don't be evil" motto is not useful. The real question is "who wins when the interests of us, web searcher/service users, comes into conflict with their customers, advertisers?"</comment>


Microsoft's Calibri font at the center of Pakistan's government corruption case - <AUTHOR> https://thenextweb.com/world/2017/07/11/microsofts-default-font-is-at-the-center-of-a-government-corruption-case/ <comment><USER2> Relevant and humorous: Did Microsoft steal its fonts from the Turkish Army?

[http://rodrik.typepad.com/dani_rodriks_weblog/2012/10/did- mi...](http://rodrik.typepad.com/dani_rodriks_weblog/2012/10/did-microsoft- steal-its-fonts-from-the-turkish-army.html)

<comment><USER3> Interesting, thanks. Just "re-sold" it here, where a similar (but different) case of forgery is discussed: [https://www.forensicfocus.com/Forums/viewtopic/t=15641/](https://www.forensicfocus.com/Forums/viewtopic/t=15641/)</comment></comment>


C is Lower Level Than You Think - <AUTHOR> http://prog21.dadgum.com/185.html <comment><USER2> No, C is lower level than _you_ think.

That's perfectly rational behaviour. And yes, the string could change mid iteration, in the loop or in another function that has access to the address, or even in another thread that's just made a guess at a valid memory address.

This is the beauty and power of C, everything is a piece of memory and nothing is guaranteed, and no we will not hold your hand or stop you doing something stupid. Someone else has a valid use case for that, even if they don't know it yet.

<comment><USER3> > This is the beauty and power of C, everything is a piece of memory and > nothing is guaranteed, and no we will not hold your hand or stop you doing > something stupid. Someone else has a valid use case for that, even if they > don't know it yet.

Just replace C with assembler and we know why we should all go back to it. Or rather not ..? Guarantees provide reliable environments. Reliablity is really helpful.

My nitpick aside ... I still want to (finally, really) learn C some time. Yeah, I can read it more or less, but that's not the same. Maybe on my next vacation.

<comment><USER4> I really don't think you have a space to speak here if you don't know C. C is a behemoth, sure but there's no surprises. And assembler is platform specific, so you can't really make the 'bandwagon'/'slippery slope' logical fallacy. Stay in Python/Ruby/TLC world, and leave us hard-core coders alone. We'll continue making the performant libs that your dynamic language runtime requires. Thanks.

<comment><USER3> Much real world C code is platform specific too. As written: I can read C (more or less) and I can recognize things like code that will only work on your nice little endian platform and will explode in your face on big endian. Code like that is written all the time in C - especially by programmers that "continue making the performant libs" or whatever you think you do. So, the abstraction over assembler is often far smaller than you make it out to be. But that is a completely different point, which has nothing to do with my last post.

<comment><USER4> sgift, dealing with big vs small endian is a ways away from dealing with different opcodes and instruction sets like SSE and whatnot. It's not far smaller. It's huge. You aren't speaking from experience. As someone who used to do reverse engineering and knows assembly first-hand, I'm not going to argue with you about the different between writing code in assembly versus C. You're incorrect to say that ASM and C are so close. There's a reason why certain routines are implemented in CPU architecture specific asm, and that's for speed. Because C is still too high up to make many optimizations. The lack of fine-grained-ness is definitely there, in regard to the processor instructions used.

</comment></comment></comment></comment></comment><comment><USER5> It's weird to me that a post like this even needs to be written. Isn't it kind of obvious that it's highly problematic for the compiler to do this optimization because the function, generally speaking, may have side effects?

<comment><USER6> For me, this kind of post means that C language is not any more core basic knowledge. The new generation has selected a new set of core basic knowledge: javascript, html5, python (for teaching of algorithm, not for production), scalability, replication, UX/UI ...

</comment></comment><comment><USER7> Here's a gotcha I find more interesting than strlen: Right shifting integers instead of dividing by powers of two, e.g:

1337 / 8;

Becomes:

1337 >> 3;

Compilers ought to figure that one out, shouldn't they? Well if 1337 is a signed int, they can't. Shifting actually leads to different semantics for negative numbers, so this optimisation is only possible for unsigned ints. You can either do the bit shift or cast to unsigned, but it's a leaky abstraction either way.

<comment><USER8> I'm pretty sure that the different semantics for negative signed ints (sign extension) are there to make sure it works as division. It's right-shifting for regular bit manipulation purposes that's unsafe with signed.

<comment><USER9> Whether right-shift is arithmetic or logical is implementation-defined in C. The compiler (for obvious reasons) knows what hardware is available, and generally optimizes a divide by a power of two to a right-shift if arithmetic is available (as it is in most architectures), plus a check to see if the number is odd and negative (and to add 1 to the numerator if so). All of which is still faster than using the divide hardware.

<comment><USER8> One more instance where I just assumed that what GCC does was in the standard. Very interesting.

For the curious who don't want to duplicate my look-up - right shift is by definition division by two _except_ negative signed numbers, for which it's implementation defined. GCC on every architecture I've checked uses arithmetic shift for signed, probably because that extends the base definition to negatives.

</comment></comment></comment></comment><comment><USER10> This is a problem in most imperative-paradigm languages, unfortunately. The issue is in the semantics of the `for` loop, which make everything confusing both for the programmer and the compiler.

<comment><USER5> I think the issue is that you don't know what's going to happen when you call an arbitrary function.

</comment></comment><comment><USER4> There's no reason that the compiler should even optimize strlen out of the loop. Here's the proper way to iterate a string if order doesn't matter, take notice:

       for (int i = strlen(str); i--;)
          ...loopContents...

There's a right way to handle values that are repeatedly used, and a wrong way, ie. relying on the compiler to optimize. Many dynamic languages store the length of a string buffer, as part of a String object. ie str.length, and it's very cheap to query, just an accessor/property/getter.

What is misguided in this rant, is the attack against strlen which operates on pointers to zero-terminated strings. The length isn't stored, the only storage is for the string's bytes. If you want to have fast access to strlen, and you find yourself being pained by the extra variable to cache the value, then use std::string.

This blog post needs a refactor.

<comment><USER11> "The proper way"? Not only is it less familiar than the usual "i = 0; i < n; i++" idiom, requiring the reader to examine exactly what it's doing, but now i goes from n to 1 instead of 0 to n-1. What's so bad about caching the strlen result in a variable beforehand?

<comment><USER4> You're wrong. Maybe I should hire my next team based on loop analysis ;-)

[http://codepad.org/kd3oOBAb](http://codepad.org/kd3oOBAb)

<comment><USER12> And I think this perfectly demonstrates why it is a stupid approach to take in the first place. In fact, personally I have a tendency to avoid for-loops in C because of the _awful_ syntax; I much prefer using while-loops as I find them far clearer.

In 25+ years of C, I've seen plenty of people getting for-loops wrong (making broken assumptions about what's evaluated where, and countless off by one bugs), but everyone gets while-loops.

If you are going to do for-loops in C, stick with the most obvious, simplest variants possible - the moment you try to be smart, you've substantially increased the odds that a maintenance programmer will introduce a bug at one point or another.

<comment><USER13> For the sake of job security, I propose using the comma operator to put the entire loop body within the for() parentheses, and replace the block with a semicolon:

      // Pure C99 (prints an invalid character at the end)
      for(
          FILE *f = fopen("/etc/fstab", "r");
          !feof(f) || (fclose(f), 0);
          putchar(fgetc(f))
          ) ;

      // C99+POSIX
      for(
          int fd = open("/etc/fstab", O_RDONLY), c = 0;
          read(fd, &c, 1) || (close(fd), 0);
          write(1, &c, 1)
          ) ;

</comment></comment></comment></comment></comment><comment><USER14> This seems like surprising behavior because we expect compilers will make wise choices. Beginning programmers do the same: for example I've seen something like:

        for x in stuff_list:
            print other_list_of_stuff.count(x)

This is intuitive to beginning programmers and uses Python's methods. But there's hidden complexity behind it. C is no worse a language for not moving strlen out of the loop than Python is for not optimizing this. Languages work at their level, and it's essential the programmer understand the precise bounds of this level.

<comment><USER15> Nobody who tried to write some code compiling something (I'm not even talking about optimizing C compiler, but parsing or processing any sufficiently rich format that humans can touch) wouldn't expect compilers to make too much of the wise choices. Making code that behaves correctly, in a predictable manner according to what people expect and be "wise" too is very hard. It's easy to say "oh, it's clear I meant foo when I wrote bar" but try to make a code that identifies cases where "bar" means "foo" with 100% accuracy and you'll get why compilers aren't as wise as some think they could be.

</comment></comment><comment><USER16> The problem here is that the for loop in C is a direct generalization of the while loop. In a Pascal-like language like Oberon the bound is only calculated once, so

        FOR i := 0 TO Strings.Length(s) - 1 DO
           ...
        END

would be equivalent to

        lim := Strings.Length(s) - 1;
        WHILE i <= lim DO
           ...
           INC(i)
        END

</comment><comment><USER17> P.S. We have PVS-Studio rule for this issue: [http://www.viva64.com/en/d/0309/](http://www.viva64.com/en/d/0309/)

</comment><comment><USER18> [http://prog21.dadgum.com/179.html](http://prog21.dadgum.com/179.html)

This is my favourite article of him :)

</comment><comment><USER19> I don't see how the compiler's smartness factors in a language's level.

</comment><comment><USER20> tl;dr if you don't know what you're doing, you don't know what you're doing.</comment>


Robert Boyle's Experimental Proof of the Possibility of the Resurrection - <AUTHOR> https://alexwraggemorley.wordpress.com/2015/01/03/robert-boyles-experimental-proof-of-the-possibility-of-the-resurrection/ <comment><USER2> When you think about the era Boyle lived 1627-1691, it was time of the Thirty Years War (1618 – 1648) and start for search for universally accepted religious truths or 'natural religious truths'.

People (mostly highly educated upper class) started to rely more of their own thinking than dogma that lead to horrible religious wars, sectarian conflicts and widespread misery. Different forms of deism started to replace belief in bible interpreted by priests.

Once you transfer from from Catholicism everywhere to different forms of protestant beliefs, next natural question to ask is if protestants hold the truth. This leads to abstract philosophical thinking and critical deism or atheism.

</comment><comment><USER3> Is it possible that when Jesus was taken down from the cross he wasn't clinically dead ? He might have stopped breathing, perhaps he had no discernible pulse either (severe loss of blood, vertical position), but not clinically dead. Subsequent revival after being taken down would certainly be possible.

<comment><USER4> What you're describing is called Swoon Theory [1]. Romans knew how to kill people. Really.

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

<comment><USER5> Arguments against the Swoon Theory:

1\. If a Roman soldier let a capital prisoner escape, including by bungling a crucifixion, that soldier would be killed.

2\. The Roman soldier didn't break Jesus's legs. So he was sure he was dead.

3\. The eyewitness account says that blood and water flowed from Jesus's pierced heart, which means collapse of the lungs and death by suffocation.

4\. The body was wound in sheets.

5\. The turnabout in behavior by his disciples. Before, they were in hiding. Afterward, they died for saying that Jesus rose from the dead.

6\. There were Roman guards at the tomb, again who would be put to death if they let the body be stolen.

7\. How would a half-dead person move the boulder of the tomb?

\--- _The Handbook of Christian Apologetics_ , by Peter Kreeft and Ronald K. Tacelli

The Swoon Theory eventually dovetails into a theory of conspiracy, by the disciples and authors of the texts in the Bible. This theory also is addressed by that book and others. For the sake of not getting too far off topic, I leave it to anyone to read in their own time. Besides, as others have pointed out, the resurrection that this article is about is the resurrection of all dead at the end of the age.

<comment><USER6> > 3\. The eyewitness account says ....

I don't think it is fair to call anything in the Bible an "eyewitness account".

<comment><USER7> Mark was written and distributed within living memory of the event, in a culture where dissenters commonly destroyed incorrect texts.

The eyewitness accounts are more likely to be reliable than the other historical documents of that age we have.

</comment></comment></comment></comment></comment><comment><USER8> The Bible stories borrow heavily from Egyptian religious myths and beliefs regarding gods and pharaohs. Same stories, rebooted with new cast members that are more relatable. Any new diety had to demonstrate similar power supernatural abilities as a pharaoh to be legit, and the one big closing act of every pharoah is resurrection followed by deification. Same story, new cast members. Ancient story tellers also made reboots.

<comment><USER4> No one invents a story of how man is utterly depraved and incapable of making himself right before God.

<comment><USER9> ... isn't this a common theme in Eastern and Mesopotamian mythologies?

<comment><USER4> Do you have an example?</comment></comment></comment></comment>