Why Women Leave Engineering (2011) [pdf] - <AUTHOR> https://energy.gov/sites/prod/files/NSF_Stemming%20the%20Tide%20Why%20Women%20Leave%20Engineering.pdf <comment><AUTHOR> Incidentally, Professor Fouad has follow-up studies:

\- NSFGears: why men leave

\- NSF ENGAGE: why men and women stay

Should be interesting, but I haven't seen any published results yet.

[https://uwm.edu/education/people/fouad- nadya/](https://uwm.edu/education/people/fouad-nadya/)

<comment><USER2> Thanks for the information, interested to see the results of those studies.

</comment></comment><comment><USER3> This study is consistent with another internal study that I read about. Essentially, working conditions, bosses, crazy hours, generally unreasonable expectations, and lack of appreciation all combine to make an unpleasant work environment. In that other study they also made the point that men felt exactly the same way about their job - but more women had the freedom to take action and leave the job. So this isn't just about women in the workplace. It is about how corporations are allowed to create jobs without any consideration for their employees - we are simply resources to exploit so that they can get rich.

<comment><USER4> This is similar to something Jordan Peterson has argued [1].

In short: Societies which afford economic rights to women have flourished, but women pay a huge price for it. The question shouldn't be "why aren't more women in positions of power", but really "why are there any men who are insane enough to occupy those positions" when social science has already proven that money beyond a certain number doesn't make you happier and the work conditions are absolutely atrocious.

Women are much more sane than men, and anyone who argues that we should have more women in power is arguing that women, as a class, should be terminally unhappy. Which isn't to say that the same opportunities shouldn't exist, and in many fields they don't, but be careful when conflating opportunity and outcome.

[1] [https://www.youtube.com/watch?v=nvUtDdlNGwY](https://www.youtube.com/watch?v=nvUtDdlNGwY)

<comment><USER5> By that line of reasoning, wouldn't you expect a better total outcome with saner people in positions of power?

<comment><USER4> But sane people, generally, do not attain positions of power. If they did, our system would usurp them in favor of someone "insane". Its something that is fundamental to how some humans operate.

If I'm President and I don't wake up at 4am to handle a crisis in Syria, I am showcasing a pattern that will probably mean I won't be re-elected. What I've described is horribly unhealthy, if done consistently. Yet, we need people like that if we want to scale and grow as a species. We need crazy Presidents, crazy CEOs, crazy engineers, crazy doctors, crazy lawyers, etc.

The point I wish were more widely accepted is that its alright to not be in these positions. I've heard people say "Its unacceptable that we haven't had a female President because I want my daughter to grow up in a world where she could be President." Two things: First, yeah! If that's what your daughter wants, then she should have that option, and having precedence and a role model helps. But, more importantly: You as a parent don't understand what it takes to be President. You should want your daughter to be happy, not powerful.

</comment></comment></comment></comment><comment><USER6> I don't plan on leaving but there are a few fears that make me think about it. These are: Not being taken as seriously as my male colleagues (by men and women). Worrying about being hired for the wrong reasons. Getting boring grunt work that deadens my brain. Not being asked by the team to join them at beer events. And I like beer.

A lot of these things I mention actually happened to me at a few software corporations where I worked early in my career.

My solution was to code my own products on the side. The products became very popular, made much more than I did at the corporations I worked for, so I started my own business.

In those early days before I left, I was starting to drink the coolaid that I deserved grunt work because I sucked, but that turned out not to be the case in the end.

</comment><comment><USER7> Fun anecdote: My girlfriend's mom has a double PhD in both computer science and accounting. Her dad is also an electric engineer. She is also really good in math.

She passed advanced math classes in a few months of studying. Did her algebra and got into a top school for engineering. After months of me persuading switches to SWE.

Few semester after despite having top grades she drops out of CS and now does design

I've asked her many times what happened and the only reply I got was: it's not for me. Given her incredible talent I find this hard to believe.

I still catch her checking out CS course material and even her mom argues with her over this. She can get her a top position in SWE team at top company as she is a senior analyst there.

Yet she still insists she likes graphic design more.

Either we are pushing women too much to get into CS or there is something inherently wrong in this field that disallows them to get in, it might be the culture, it might be the hours, who knows.

For her, I know for a fact the issue wasn't that she found it too difficult, she had top grades during her last semester in CS

Anyways, just my own personal experience with this issue

I am really baffled.

</comment><comment><USER8> I tried changing industry and feel as a man it's very difficult to change once you've been pigeonholed. maybe for women there's this thought, "oh of course she's had enough of it" and they are taken seriously in their switch.

Not that it's of any benefit to either gender.

</comment><comment><USER9> I'm mildly interested that the document has this quote:

> _It is nice they brought me in for equal opportunity survey points but don't > waste my time if you don't take females seriously._

which uses "females" instead of "women". Recall, that was the offense the March for Science twitter account got lambasted for[0], for which they later apologized[1]. I remember being surprised at the time and wondering if it was just a few inane twitter followers, but I found a lot of articles, e.g. this one[2] by Jezebel about how it's rude and offensive.

Still don't know what to think. I never really thought anything about using "females" that way, but nonetheless filed it away as a usage to avoid, so it caught my eye to see it here.

[0] [https://twitter.com/sciencemarchdc/status/834840542848679936...](https://twitter.com/sciencemarchdc/status/834840542848679936?lang=en) [1] [https://twitter.com/ScienceMarchDC/status/835145373098323969](https://twitter.com/ScienceMarchDC/status/835145373098323969) [2] [http://jezebel.com/the-problem-with-calling-women- females-16...](http://jezebel.com/the-problem-with-calling-women- females-1683808274)

<comment><USER10> It's common in clinical and academic language. There's a certain kind of creep who uses them to describe social relationships, usually in a reactionary way. The clinical connotation coupled with the regressive opinions has turned it into a red flag of sorts for when someone's about to say something gross about humans.

Depending on the context, one norm is more relevant than the other.

</comment></comment><comment><USER11> Are there any studies for why men leave engineering? For a point of comparison.</comment>


Royalties on DASH? Say It Isn't So - <AUTHOR> http://www.streaminglearningcenter.com/blogs/royalties-on-dash-say-it-isnt-so.html <comment><USER2> I'm actually loving this. I hope the latest patent craze about HEVC ends up seriously hindering its adoption, too. It can only make open source royalty- free codecs rise faster.

</comment><comment><AUTHOR> Apparently, streamingmedia.com is offline. Find a cached version here: [http://webcache.googleusercontent.com/search?q=cache:PLf03YV...](http://webcache.googleusercontent.com/search?q=cache:PLf03YVb79MJ:www.streamingmedia.com/Articles/News/Online- Video-News/An-Unhappy-Surprise-MPEG-LA-Is-Forming-a-Patent-Pool-for- DASH-105419.aspx&hl=en&strip=1&vwsrc=0)</comment>


Home computing for $5/month - <AUTHOR> http://pandoricity.blogspot.com/2017/08/home-computing-for-5month.html <comment><USER2> More like a how-to for computing poverty! It even has the parallels of predatory landlords ("Google Cloud") and sharecropping (Chromebook/Android).

A 35W draw will cost you $5/mo at $0.20/kWh. This will either let you run an oldish laptop continuously, or you can go down the path of newer hardware to optimize your constant draw, and spend that energy budget on in-use amenities (nice monitor or faster processing).

But looking at the bigger picture, why would you _want_ to set a limit on your computing costs so low? Today's dominant business model is to use scaled computational processes to trick people into overpaying for products/services. One of the least prudent things an individual could do is further hinder their ability to exercise their own computational agency!

<comment><USER3> Assuming I did my math right, your cost estimate assumes 714 hours/month, or 23 hours/day. I'm guessing that's 24/7 usage plus some rounding?

Clearly that's not a realistic usage, but beyond that I'd say 35W is a high estimate even during use. CodingHorror has some numbers for a Dell XPS M1330 [1], a laptop from 2008 with a Core 2 Duo (2 GHz) and 13.3" display.

Idle at max screen brightness is 20W, wifi bandwidth test bumps it up to 24W. Running an instance of prime95 pushes it up to 50W, but most people don't do that. Especially with hardware accelerated video, I don't think people are spending the majority of their computer use with the CPU pegged.

A home laptop probably spends 18+ hours a day off/asleep, and the maybe 6 hours of use aren't going to all be heavy loads.

[1] [https://blog.codinghorror.com/revisiting-how-much-power- does...](https://blog.codinghorror.com/revisiting-how-much-power-does-my- laptop-really-use/)

<comment><USER2> OP mentioned a server, so 24/7 is indeed what I was shooting for. 35W was a figure from when I plugged a Thinkpad T61 (Core 2 duo, as well) into a Kill-a- Watt. I actually did use that machine as a traveling server.

You can obviously buy newer tech for even better power efficiency, but that gets into a discussion of accounting for capital cost vs recurring.

<comment><USER4> 35W for a t61?! Undervolt it, core2 can still do it from sw only, set the cpu governor to conservative, turn off the display - it's a server -, the modem, the firewire, the pcmcia, the expresscard, wifi - again, server, cable is good - <10W. I'm using a T400 like this with 2x2TB HDD.

</comment></comment></comment></comment><comment><USER5> No way a cheap $150 Chromebook will last 4 years. I've been buying Chromebooks for my wife for a while now and you really do get what you pay for. It's like that parable with the poor and rich person's boots.

Sub-$200 Chromebooks are plastic so they break easily. I've had issues with keyboard switches not working any more. The hole where the power adapter plugs in gets loose and stops making a good connection. You're looking at about 2 years of everyday use before something critical breaks MAX.

A good, aluminum Chromebook that will actually last a few years of everyday use is about $300.

<comment><USER6> Anecdotal point: I have the exact same Acer Chromebook 11 that the OP mentions in the article, which I bought for around $150 USD. It all feels like plastic, but has been very durable for me.

Case in point: I was assaulted and robbed last year walking on the street, while carrying this laptop in my backpack. I don't have much else in the backpack and it's a thin one without padded protection. The robber pistol- whipped me and I fell to the ground. He kicked me in the back once (while I have the backpack on). My Chromebook took most of the force. There is still a visible dent on the front cover of the laptop right now, as a result of this. It still works perfectly (other than the dent being an aesthetic issue). This was a year ago and I am still using this Chromebook.

I also had none of the issues you mentioned with keyboard switches, power adapter plugs, etc. Maybe it's a manufacturer thing and not a Chromebook thing? Maybe Acer is better?

<comment><USER7> I'm glad you survived the assault, but I am curious: he robbed you but _didn 't_ steal your laptop? Was it too cheap for his taste?

<comment><USER8> A laptop you need to fence (small chance of getting caught) and potentially need to wipe/unlock it depending on security settings. Cash OTOH is easy.

</comment></comment></comment></comment><comment><USER9> Also see [https://johnlewis.ie/custom-chromebook-firmware/rom- download...](https://johnlewis.ie/custom-chromebook-firmware/rom-download/)

It's BIOS ROM code for (some) chromebooks and chromeboxes to allow you to run a normal Linux distribution. Not something like crouton, but regular Linux booting.

I used it with an ASUS chromebox to get a cheap but decent desktop experience. It's a Celeron, but easy to upgrade the storage and memory (2 DIMM slots!).

<comment><USER10> Careful there. In some models if your battery goes totally flat the only way to unlock the BIOS to boot boot Linux involved a restore to defaults which erases your Linux partition.

Been there. Lost a couple days of work over it. Gave away the chrome book.

<comment><USER9> Setting the "GBB" flags is the fix for this on at least some platforms. [https://wiki.archlinux.org/index.php/Chrome_OS_devices#Boot_...](https://wiki.archlinux.org/index.php/Chrome_OS_devices#Boot_to_SeaBIOS_by_default)

</comment></comment></comment><comment><USER11> I'd love to run hardware at my house. I have two modest sized servers already: one for storage and a few other things, and one for backups.

My biggest issue isn't cost of running the stuff. The problem is the network: I am limited to a 5 Mbps upload on a _goddamn commercial line_ *. I literally don't have an option for a faster connection. No static IP, no IPv6, no SLA, no anything. Do you know how long it takes to upload 1 TB over a link like this, while still having the web be usable? Because I do, and it's not pretty.

This is why home computing isn't happening. I am not running a rendering farm or a BTC mining operation here, so just having CPU cycles is doing me no good. But being able to run small apps on a self hosted PaaS would be really great, and I can't do that, basically ever.

<comment><USER12> Any Wireless ISP in the area? Sometimes one is only one or two repeaters away and bamm, 100mbi/s up and downstream.

<comment><USER11> Yes and now. There are some in the area but my specific house has super poor reception. Also, hosting web apps where the latency due to radios starts at 300ms is not something I really want. Wireless/Cellular is ok for some consumers but it's not great for my needs.

<comment><USER13> 300ms latency is closer to geo-synchronous satellite than decent terrestrial broadband or even next gen satellite.

Last time I used a WISP, the expected latency was something like half the best case for comcast or sonic dsl, and bandwidth was 6mbps symmetric.

When set up right, latency is ~zero queuing delay plus the speed of light to a peering closet ~3 miles away.

This was with Canopy gear and unwired ltd; unwired is at least one generation newer than that now. FWIW, Musk's rainbows-and-unicorns low orbit satellite internet is targeting 25ms.

</comment></comment></comment></comment><comment><USER14> A less blogspot heavy layout

[https://app.printfriendly.com/print?source=homepage&url_s=uG...](https://app.printfriendly.com/print?source=homepage&url_s=uGGC_~_PdN_~_PcS_~_PcSCnAqBEvpvGLmoyBtFCBGmsE_~_PcScabh_~_PcSai_~_PcSuBzr- pBzCHGvAt-sBE-fzBAGumuGzy)

</comment><comment><USER15> So the choices stated are Google or Google or Google ?

Nah, gonna keep my rapsberries.

<comment><USER16> Rpi's have their own drawbacks. I'm beginning to worry I am purchasing new pi's for collecting rather than practical reasons.

<comment><USER17> I have 4 Pi's running in my flat, they're great!

I have 1x Raspberry Pi 3 running docker that has the following containers running

\- A service I wrote to control my TV

\- A service I wrote that sends commands to a smart plug that turns my lamp on and off (I can then invoke it via curl and have setup Alfred workflows so I can do it from my mac)

\- GOGS to store private code repos and mirror ones on github

\- ZNC (IRC bouncer)

\- A service I wrote to present a dashboard of common things I like to glance at (e.g. twitter feed, pocket, pinboard, the weather etc)

\- A service I wrote that hooks up to Twilio to manage my voicemail

\- Portainer (a gui for managing docker containers)

\- A docker registry to store my custom images

I have another Raspberry Pi 3 running Pi-Hole to block internet advertisements at the DNS level

Then I have a Raspberry Pi 1 (model B) that runs NGINX to act as a reverse proxy to services in my network that I want to be exposed. These are all protected by SSL (LetsEncrypt) and client side certificates authentication. It also runs a service that updates a DNS record on AWS Route53 whenever my IP changes as I don't have a static IP.

Then the last one is this [https://github.com/djhworld/blinkt-tube- status](https://github.com/djhworld/blinkt-tube-status) I can't take credit for the case etc, but it's super handy in the mornings!

<comment><USER18> > A service I wrote that hooks up to Twilio to manage my voicemail

Love to learn more about this.

<comment><USER17> It's very simple at the moment, I have my phone forward all missed calls to a Twilio number, which has a webhook to my service.

The service just says a message to the user, gives them the option to leave a voicemail, then I call the transcription API to try and transcribe the message into an SMS message (sort of like what Google Voice and Apple offers on iPhones but I don't have an iPhone and I believe Google Voice is only available in the US)

I plan to do more with it soon, Twilio's transcription API is a bit rubbish, I think it might be geared towards American accents so it fails quite miserably with British ones with hilarious consequences.

</comment></comment></comment></comment></comment><comment><USER19> You know what would be an interesting consumer product? A $100 black box you can plug into your home network that runs email, media, and social, applications with no hassle. Knock out dependencies on a dozen third party services in one fell swoop.

EDIT: to clarify, I believe consumer hardware has progressed enough to provide an elegant solution to a slew of simple cloud services which people pay monthly for, i.e. storage. The markup on simple software that is hosted in the cloud is just too high. Now convincing investors to touch a hardware start-up with a 10ft pole...

<comment><USER20> > _You know what would be an interesting consumer product? A $100 black box > you can plug into your home network that runs email, media, and social, > applications with no hassle._

This basically exists, no? [https://www.amazon.com/dp/B0181JTPCU/](https://www.amazon.com/dp/B0181JTPCU/)

<comment><USER21> I think ben_jones is trying to imply that the black box would BE your email server, etc. He did say "Knock out dependencies on a dozen third party services in one fell swoop.", which seems to strongly imply not relying on an email provider, social network provider, etc.

</comment></comment></comment><comment><USER22> I think that using cloud environment for development is very promising. I tried it with linode 8GB instance and the compilation speed of scala project was the same as on 2012 MBA. The problem is that you usually want some gui setup for IDE and things and you need to tune vnc to the limits it can offer. Docker didnt quite work for me, due to the ports hell or, probably, my wrong hands setup...

<comment><USER23> The trend over the last few years is to work locally and push changes through git.

Working remotely on a server gives you cloud abilities because you can easily switch devices and continue working.

Having a cloud service provide the gui or editor is an option available now. But to have a local editor with ssh means you can work on your phone using a proper mobile editor you can run a full ide on your desktop or use vim directly on the server.

The security and privacy of your code remains in your hands. Best of all worlds.

<comment><USER22> Good point, regarding security. If you use company's vpn, using throwaway cloud server is questionable, to say the least.

</comment></comment></comment><comment><USER24> Some famous quotes from the author:

"Ok honey, now type in _gcloud compute instances create my-vm --zone us- central1-b --preemptible_. But don't forget the _\--preemptible_ otherwise the bank will take our house."

"You don't need a bigger screen than that."

"Sorry kids, Google says you have to stop playing Minecraft now."

"Oh don't mind that noise, telemarketers call the server sometimes."

(These are obviously not quotes from the author)

</comment><comment><USER25> I've been wondering, is there some service that runs an SSH proxy that will automatically spin up a machine when I try to connect, and automatically spin it down after some idle period?

<comment><USER26> I've been meaning to try something along those lines with DigitalOcean, they have an API so presumably i can script starting a new instance and then SSH in to it; should take about 60s based on the manual route.

</comment></comment><comment><USER4> Forget chromebooks, get old thinkpads with some friendly linux. Cheaper and will actually last, unlike a chromebook.

</comment><comment><USER27> A major hole I see in this plan is any sort of gaming beyond simple apps. Good luck with that.

<comment><USER28> I have an absurdly expensive MacBook for work, and I thought about building a gaming rig but didn't want to drop the ~$3k to get it (yes, I could build one for cheaper but I get carried away when I'm shopping and have a weakness for best-in-class components). I started looking into AWS gaming (very disappointing performance) and discovered paperspace, which has p5000 and p6000 16GB dedicated GPU instances. I think it's about $0.60/hr and I end up spending about $30/mo on my weekend gaming binges. I have 1000Mb google fiber (sorry) so YMMV if you have constrained bandwidth, but the p5000 is beastly and it has easily brushed aside every game I've thrown at it with ultra settings at 1440p (the parsec streaming client I use is capped at 1440p or I'd be running it at 2160p). Eventually the costs will catch up with me, but in the meantime I can't think of a good reason to buy my own hardware (aside from the urge to tinker). Obviously for personal computing I feel differently but for a gaming machine paperspace is _very_ convenient. No affiliation, I'm just super happy with the product.

<comment><USER29> Can you point to any writeups about this? The cost is low enough that I could just try it myself, but I do have one question about "controller support." I play PC Racing sims - I wonder about the support for wheel/pedals.

I'm assuming VR is out of the question due to the latencies.

<comment><USER28> Parsec supports controllers: [https://faq.parsec.tv/articles/10080-setting-up- your-control...](https://faq.parsec.tv/articles/10080-setting-up-your- controllers)

I don't think VR is supported, and yeah, even a low ping would make it a vomit comet anyway.

Here's the pricing: [https://www.paperspace.com/pricing](https://www.paperspace.com/pricing) You have to sign up and then request access to the GPU instances (each instance type has to be requested individually, unfortunately. I found the GPU+ instance to be a little underpowered, and the P5000 has been performant enough that I haven't bothered to try the P6000). I can take up to 24 hours to get access. Once you have that though, you can create an instance with the parsec image and it comes with all the drivers, as well as steam and EA origin pre- installed. The parsec client by default starts up without admin mode, which crashes a lot in my experience, so I log in using the browser client and restart the parsec server as admin manually. It's basically ready to go out of the box and the longest part of the setup is just waiting for your steam games to install.

<comment><USER30> You can just go to parsec.tv/account. You don't have to use the paperspace website at all with parsec anymore. I'm the cofounder of parsec btw

<comment><USER28> Awesome! Do you have an ETA for 4k support? Also, which instance types can be launched from parsec? Awesome software BTW!

</comment></comment></comment></comment></comment></comment><comment><USER31> If I could slap the person on the blogger team who thought this layout was a good idea...

<comment><USER32> Agreed, my one visit I couldn't get the page to scroll at first except with the mouse wheel, which I don't normally scroll with. So that unfortunate animation sequence where it seemed like copies of the page were being dealt to me like cards, must have messed with the focus. It would have been easier to cope with an ad!

To have someone talking from a position of simplicity and economy use such an excess of technical design to present it was a bit much.

I would be surprised if the site renders decently on a chrome book. Ironically.

</comment></comment><comment><USER33> I'd pick a Raspberry Pi over an Android, just because with the Pi I could plug in an external HD. But in terms of what I actually do, I just run a full server as a NAS, and don't pay any attention to the power bill.

Also, without external keyboard+display, using a laptop as my primary computer would ruin my body in a month flat. Ergonomics are important.

<comment><AUTHOR> If you choose the right device, you can plug an external HD in with something like:

[https://www.amazon.com/Micro-Charge-Cable-Adapter- Connector/...](https://www.amazon.com/Micro-Charge-Cable-Adapter- Connector/dp/B01AU8E25A)

(not all will support charging and OTG at the same time)

</comment></comment><comment><USER34> This dude doesn't have any storage anywhere. I mean, I don't take many photos and even my photos use more than 50GB. I can't imagine anyone who makes a post like that requiring less than a Terabyte for all the stuff they create and/or download.

</comment><comment><USER35> I have a friend that was doing something like that but he suddenly changed his mind when he lost his broadband internet connectivity for 2 weeks and put his "home computing" on a 4G/3G network.

</comment><comment><USER36> Don't forget there's Termux and other apps, which give you a Linux Shell on Android devices...

...and new Chromebooks can run Android apps...

So if you want a CLI, your Chromebook or your Android can get you there.

<comment><USER37> Termux on ChromeOS is a terrible experience though. Basic things like ^W to delete a word will cause the Termux window to disappear. Copying is _HORRIBLE_ , requiring you to treat your very precise pointing instrument like a tiny finger -- you have to move the mouse somewhere, hold down the button for a few seconds, move both ends of the selection, then click "Copy". Ctrl-<number> does things in ChromeOS rather than going to the terminal, so no quick switching of application windows. You can't run two instances of Termux on Chrome OS, which is a major bummer if you have multiple monitors.

Really, most Android apps are a terrible desktop experience. They handle the mouse poorly, they handle multiple monitors poorly, few of them at this point can deal with being resized to arbitrary sized (i.e., you get only phone- aspect-ratio sized or full screen), they handle co-existing with other running processes poorly (i.e., if you change the focus from one window to another on a different monitor on an application playing a video the video pauses).

<comment><USER36> ^W to delete a word works perfectly.

I'm running Termux on a Samsung Chromebook 3. Can you explain what you're running, so we can try to see why it doesn't work for you?

Also, don't forget, you can run Termux in the background, with an sshd, and then run any SSH client you want to talk to it --- which puts the copy and paste into your control.

Also, Termux is open source... So, if you have ideas about Copy and Paste, you can try to implement them.

To switch application windows in Termux, Control-Alt-C makes a new window, Control-Alt-N goes to next, Control-Alt-P goes to previous. It works great, and is super quick.

You can run multiple Termux Application Windows, and then you can run multiple SSH clients, so multiple monitors will work.

I know some of these are kind of hacks, but I'm just trying to be helpful.

Android Apps do handle the mouse terribly, no argument.

<comment><USER37> I'm running on an Acer Chromebook 15 (x86, 4GB of RAM).

For me Control-W closes the Termux window.

For me Control-Alt-N switches between sessions, which all live in the same physical window, which I cannot figure out how to open multiple of.

It seems like your suggestion is to use Termux just to run an SSH server locally and then use another, non-Android SSH client, to deal with the fact that Android apps on ChromeOS work terribly UI-wise. That's a good idea, it leads me to my next problem:

It lives in a separate IP address space from ChromeOS... I have some weird IP address inside the ARC that is not the same IP as ChromeOS... I did not try to SSH to that address from ChromeOS though, does it work ?

<comment><USER36> It is in a different space, yes, but you can ifconfig to find it's IP and go from there. I've run webservers from Termux and browsed them from Chrome. And I've read about people doing the SSH thing.

To be honest, I still can't browse a Termux server from a different machine, and I've spent a while trying.

</comment></comment></comment></comment></comment><comment><USER38> This completely ignores the the cost of setting up your cloud VMs, cost of downtime if your Internet is down etc. Sure an actual home server might be more expensive in electricty alone, but you can keep your VMs there 24/7 for not extra cost or hassle. If it takes you a day a month to spin up new instances in extra dmin work, then that alone eats way morethan $5 saved in electricity. Not to mention that you can actually own your server et etc...

<comment><AUTHOR> [OP] You can keep the boot drive there 24/7 though (and that's factored in), so there's a very low setup cost. True, if your internet is down...

</comment></comment><comment><USER39> Everything he's using is a Google product. If you want a 4k computer display, none of the options he listed will work. I'll stick with what I've got.

</comment><comment><USER40> I'm pretty sure our infatuation with service-model pricing will ruin us all.

It's already ruined music for the majority of musicians.

<comment><USER41> Can you expand on that? It's an interesting parallel that you draw. I'm going out on a limb and implying you mean that the small price per month is going to eventually implode and engineers aren't going to be making as much money in the future similar to how a musician gets a very small portion of the cost of a music stream?

<comment><USER40> The only thing I meant by that was the relatively small revenue created for the performing musician when paid out by stream, vs when paid out by royalties of album sales.

But when the people don't want albums, what do we expect?

Today, we listen to music more than ever, but only those supported by a large audience really see any benefit from the streaming model. People just aren't spending the kind of money they used to on music, and it's affecting the music itself. [1] Years ago (for a solid 10-20 years) your average unsigned regional band could do well on CD sales alone. Yeah, it was up to them to make a good album, but the sale of 100 albums (which could easily happen over the course of one or two good nights), assuming 100% ownership could give the band $1,000-$1,300 to split. In retrospect now, they'd need about 1,800 downloads to achieve the same thing (Which people don't even really do anymore). Or ~70k-700k streams just to hit that same number. [2]

Ironically, I just heard of a Netflix suit suggesting something similar for movies[3]. I'd imagine if this was to happen, we'd see the same thing in Hollywood: a tightening of belts high up the food chain which may or may not affect A-list actors; but an otherwise decimation of the lower market. AMC has a nice quote (Although, they'd naturally be opposed to such a thing, so take it with a grain of salt): "...[the] price level is unsustainable and only sets up consumers for ultimate disappointment down the road if or when the product can no longer be fulfilled."

[1] [https://media.licdn.com/mpr/mpr/shrinknp_800_800/AAEAAQAAAAA...](https://media.licdn.com/mpr/mpr/shrinknp_800_800/AAEAAQAAAAAAAAJXAAAAJDc1ZjI1Y2U2LTY3NjEtNDRmZC1hMTFlLTllNmMzNTZiMWJjNQ.png) (I wish I could find something to 2016, but not a graphic like this)

[2] [http://www.informationisbeautiful.net/visualizations/how- muc...](http://www.informationisbeautiful.net/visualizations/how-much-do- music-artists-earn-online-2015-remix/)

[3] [https://qz.com/1055032/netflix-for-cinemas-moviepass- wants-t...](https://qz.com/1055032/netflix-for-cinemas-moviepass-wants-to-you- to-go-to-the-cinema-as-much-as-you-like-for-10-a-month/)

<comment><USER41> I really appreciate the reply! You definitely bring up great points. I suppose that's why we see the bigger names like Disney, Blizzard(Activision), EA, etc building out their own distribution/streaming channels compared to utilizing Netflix/Steam to avoid that 30% and keep a bigger chunk of the revenue. Obviously game sales are different than streaming TV/movies but I'd expect similar economics to be in play.

<comment><USER40> I think you're right. But I don't think casual consumers want that. I can't wait to explain to my 4 year old that Disney movies aren't on Netflix now.

I think what went wrong with music was the initial value set, and then competed with (into extinction) by Davids and Goliaths. Steve Jobs valued a song at $0.99 11 years ago. We've yet to adjust that for inflation. It's only gotten worse with valuations for streaming. The real problem now isn't that we don't listen to albums anymore (OK, maybe that's half the problem) or that we don't have physical music, but Steve Jobs valued it too low. And that a song that took $2,000,000 to produce costs the same as a song that took $0 to produce; yet both command a $0.99 price point.

I'm getting preachy, and I'm sorry.

</comment></comment></comment></comment></comment><comment><USER42> Must be a very fresh father to be blind to the primary computing needs of this child: gaming.

</comment><comment><USER43> if you want to compute for 0 dollars per month, buy a decent laptop and go to star bucks and libraries.

<comment><USER44> I'm guessing this was an intentionally snarky comment, but the article includes the cost of buying a Chromebook in the figures it provides so "buy a decent laptop" would have a monthly cost associated with it.

In addition, Starbucks -- at least the one near me -- doesn't allow you to occupy a seat without purchasing something and since the Internet service offered there is subsidized by coffee ... very expensive coffee, at that ... the cost of using Starbucks[0] daily for 5 business days/over 4.5 weeks/month assuming you get away with buying only one Venti Starbucks regular coffee at USD$2.45 is about the cost of broadband at home, not including fuel to drive there and back (assuming you didn't walk/ride a bike)... and there's no preemptible VMs included with the brew.

[0] I skipped library internet access because, at least for me, the performance is so bad at my public library I wouldn't consider that viable Internet service. And it smells like books there.

<comment><USER43> it wasnt snarky at all, i have no idea why people downvoted it. i am extremely poor and starbucks and libraries are great places to use the internet and get things done. ive never encountered a starbucks that made you buy something. but that doesnt matter because free wifi is everywhere. just find a safeway, a cafe, or any other such place. i actually prefer the slower speeds you typically find in those places because they are perfectly adequate for downloading documentation, pushing to github and so on, ie do productive things. but it makes wasting time on youtube very painful.

<comment><USER45> _i have no idea why people downvoted it_

Probably because you didn't include the laptop's price. If you spent $300 and it lasts you four years, that's already $6.25/month. Sure you get internet access for free, but so could the author, it's not like you can't take a Chromebook to Starbucks or the library.

<comment><USER43> well, you can get laptops for free quite easily if you are willing to compromise on performance a little. my last laptop was free.

<comment><USER45> How?

<comment><USER43> people throw out good computers quite often.</comment></comment></comment></comment></comment></comment></comment>


Red Sex, Blue Sex: Why do so many evangelical teen-agers become pregnant? - <AUTHOR> http://www.newyorker.com/reporting/2008/11/03/081103fa_fact_talbot?currentPage=all

<comment><USER2> If one were willing to be a bit crude, the problem could be summarized quite succinctly: ignorant fucks fuck ignorantly.

</comment><comment><USER3> Thanks, reddit.</comment>


Go back in time with Street View - <AUTHOR> http://googleblog.blogspot.com/2014/04/go-back-in-time-with-street-view.html <comment><USER2> It's frustrating to see feature announcements for features that aren't live yet - especially when they aren't framed as a "coming soon" feature.

If you're doing a slow roll-out, or announcing an upcoming feature, be explicit about that. Without setting expectations, you've completely lost the point of announcing. I won't just remember to check back later, and I won't share the news with anyone else since there's nothing to see.

<comment><USER3> Agreed. Google does this to me regularly. "Hooray, you can X" and then I spend a while poking around, trying to do X, before eventually realizing they've probably punked me again and giving up.

I don't understand why they do it. Instead of being amused by their new feature, I'm annoyed that they've wasted my time again.

</comment></comment><comment><USER4> I'm surprised they went forward with the fullscreen Google Maps experience. I can't believe how awful the performance is. I can't count how many times I've followed a link, including ones off this blog post, where the map will hang (on some js query I'm assuming) and won't respond to user input or do anything until the page is reloaded.

I also can't believe how tricky the UI is. Finding directions from one place to another is unbelievably difficult.

The only thing I can think of is that their desktop usage has just plummeted so they decided to go out the door with experimental features up to wazoo for the tinkerers who love to waste time exploring the map.

<comment><USER5> Maybe these are personal problems? I use Google Maps on the web all the time, and have never seen it hang.

As for finding directions: there's a search box, you type in an address, hit the 'directions' button that pops up, and enter another address. I literally can't think of a way to make this simpler.

<comment><USER4> It could definitely be an issue with network speed. I don't have the greatest connection, sure, but I think 10mb/s should be able to handle it.

I understand how the directions work and I agree it's super simple, but the intended UX and what I actually experience is different. The contextual search box doesn't consistently change in relation to what I'm clicking on so that I cannot click / type / directions as I know I'm supposed to.

</comment></comment></comment><comment><USER6> This is a truly exciting gift from our friends in the GooglePlex.

I guess that Microsoft, Apple and others in the mapping game must be disappointed by this announcement. This back-in-time feature is not necessarily 'must have' but it certainly is something that a lot of people are going to like. It also makes Google the only choice for the serious 'maps user'.

Personally I envy those born in the last few years. When they get to my age they will be able to explore the streets they grew up in rather than rely on hazy black and white memories.

</comment><comment><USER7> This is similar, but maybe even cooler than Google Earth's time slide. I hope one day Google gives users the ability to filter Google News and Google search results by date.

One of my side projects is location based video sharing using the Google Map API. One of the first things I incorporated was a video search/filter by time/date. See: [http://126.96.36.199/solitaire/demo/will_brown_new/login.php](http://220.127.116.11/solitaire/demo/will_brown_new/login.php)

<comment><USER8> > I hope one day Google gives users the ability to filter Google News and > Google search results by date.

Haven't those options been in "search tools" for a long time (starting back when the search tools were more prominent), and in advanced options even before that?

<comment><USER7> Google News allows search by date, but unless there is an option I am unaware of it is capped at the last 30 days. Also, I think the filter is based on the date something was crawled, which is not necessarily the date of publication.

Edit: I can set the range past 30 days, the actual function is a little tricky for older articles because again I believe it is based on crawl date not publication date. Example I set date 1939-1944 and search "World War 2", no results.

<comment><USER9> They actually used to have a more full-featured date search in Google News, but it was temporarily discontinued in December: [https://productforums.google.com/forum/#!msg/news/Gl23RwnTIl...](https://productforums.google.com/forum/#!msg/news/Gl23RwnTIlg/aAGakhzIe_cJ)

</comment></comment></comment></comment><comment><USER10> I've been waiting for this feature to come about. I have to admit I've often taken a spin around street view in urban areas where there was major upheaval (devastation, rapid gentrification) and zoomed up and down streets hoping to get a glimpse of before / after street view photos. Pretty exciting to have it become featurized

</comment><comment><USER11> Doesn't seem to be active yet. Will be interesting when it is.

<comment><USER12> Indeed. No clock icon for me on the links they provide, even in Chrome.

</comment></comment><comment><USER13> It kinda remind me of the old Google that before Larry Page takes over: offers that may be not profitable in its nature but interesting and really enlighten your imagination.

</comment><comment><USER14> Prime example of what you call having an upper hand.

Great on Google for providing this. Its not really a Maps application anymore. Its an archive.

</comment><comment><USER15> Extremely poor performance for me at the moment. The update rate is so slow as to be virtually unusable.

</comment><comment> guard-of-terra Naver had this for some time now for Seoul street view.

</comment><comment><USER16> "This device isn't a spaceship... it's a time machine."

</comment><comment><USER17> Google Street View already lets me go back in time to a time when Flash was required to use the web...

<comment><USER12> You're wrong, Street View doesn't use Flash.

(At least not on modern browsers, I can't speak as to whether or not there's a flash fallback for older browsers.)</comment></comment>


The Largest Rails Application Loses Ground To PHP Competitor Due to Frequent Outages - <AUTHOR> http://www.techcrunch.com/2007/05/17/making-the-switch-from-twitter-to-jaiku/ <comment><USER2> With Friendster, they got progressively more complicated the more users they got. On the other hand, MySpace was able to grow without any problems because they had a much simpler setup.

The question to ask is whether a competitor can do something better. I don't use twitter, but it sounds like any competitor would also have to be doing a similar number of database queries.

So, any competitor would still have to go through what twitter has, so twitter is still ahead by now focusing on the scalability.

Twitter has to move people to a non-rails platform as soon as possible. The whole point of rails or visual basic 6 is to develop a prototype really quickly and change your ideas to find the one that works. If the problem now is the speed, just pretend you're a competitor and do what the competitor would do in your situation. A competitor wouldn't be recreating the failed versions of Twitter; they would just copy the current idea in C or whatever the fastest method is, since the business idea and execution is more valuable now than flexibility, now that the business idea has been discovered and twitter doesn't have to spend time making so much changes. Except, Visual Basic 6 programs are very fast on modern computers, and they run on each user's computer separately, so you wouldn't want to rewrite them for Windows if it already exists and works.

</comment><comment><AUTHOR> I think this illustrates the huge importance of uptime, even for free services. On the internet there is (almost) always a choice and people will pick even a lesser competitor over you, if you can't keep your damn servers alive.

<comment><USER3> Agreed. And it's nothing more than trolling to suggest that this has anything to do with PHP or Rails (especially based on the evidence given).

</comment></comment><comment><USER4> I'm not trying to knock on anyone's development platform of choice, but how can anyone expect unproven software to perform at the kind of scale that some of these web apps are being asked to perform at? Lisp is a rather old and finely tuned language, but in _Ansi Common Lisp_ , Paul Graham even suggests re-writing frequently-run sections of code in C or assembler. If a highly- optimized language needs to be profiled and tuned, how can that be avoided with a language like Python or Ruby?

Of course, there are issues such as SQL queries and system/hardware configurations that come into effect as well. The point is this: at some point, when you are trying to grow a product to such a massive scale, you need to expend some energy on optimization. If you just continue growing things in the same way you built your initial prototype, you're doomed to failure.

<comment><USER5> There's a difference between optimization and reliability.

For instance, Erlang isn't the fastest thing out there, but you can make some extremely reliable systems with it.

I still think Rails is a winner because of how fast it lets you develop the application. Most of us will probably never see the massive popularity spike that something like twitter has. So, better to optimize for development time, and put code speed optimization off until it's necessary.

<comment><USER6> True...Optimizing for getting to that popularity level fast is the wise thing to do, and so the most productive tool to develop in is the best one.

But...there are major costs to a lack of reliability, and they can rear their head before you reach that level of popularity. If you're not able to stay up during that all important first crunch or slashdotting or digg...you won't ever make it to the sustained popularity and growth that requires scaling up. RoR does seem to have some problems with that.

Ruby is the slowest of the most popular scripting languages, by most measures. RoR is pathological with databases in some circumstances (not common cases, admittedly). And, from what I can tell most RoR stacks (Apache+fcgi, Mongrel, ngenix, Lighty, etc.) have one or more pretty serious flaws when scaling up.

I'd still consider using it, since it's so much damned fun to write Ruby code.

</comment></comment></comment><comment><USER3> I don't see any reason to assume that Jaiku will scale better than Twitter a priori.

I would hope it's running more reliably than Twitter know since it has only a fraction of the users.

<comment><USER7> I think this is a really important point. Here: [http://www.alexa.com/data/details/traffic_details?site0=twitter.com&site1;=jaiku.com&site2;=&site3;=&site4;=&y;=r&z;=1&h;=300&w;=610⦥=6m&size;=Medium&url;=twitter.com](http://www.alexa.com/data/details/traffic_details?site0=twitter.com&site1=jaiku.com&site2=&site3=&site4=&y=r&z=1&h=300&w=610&range=6m&size=Medium&url=twitter.com) <http://snapshot.compete.com/twitter.com+jaiku.com>

If you believe the public stats, Jaiku is 6x-15x smaller that Twitter.

</comment></comment><comment><AUTHOR> Maybe they should call the Scribd guys, they're doing more traffic than I thought: <http://snapshot.compete.com/scribd.com+twitter.com></comment>


Candid camera: Dutch hacked Russians hacking DNC, including security cameras - <AUTHOR> https://arstechnica.com/information-technology/2018/01/dutch-intelligence-hacked-video-cameras-in-office-of-russians-who-hacked-dnc/ <comment><USER2> I commented this on Ars. It got downvoted so many times that it's now hidden on the website. Also I was accused of being a Russian bot several times.

``Just because the US intelligence community gets attribution details in 2014 doesn't mean they didn't fake the attribution for the 2016 DNC hack. That's like me registering an account with your username on some site and posting stuff with it - many digital "fingerprints" can be faked. Readers of Ars should know this.

Also, the author's claim that the US intelligence community attributed the DNC hack is dubious. James Clapper did, and he threw around a debunked "17 intelligence agencies" slogan[0], but the man's a retired partisan[1]. Recall that the DNC would not let the FBI do actual forensics on their hacked server[2] - well, there's one intelligence agency that didn't get a chance to make an attribution. Recall too that the Crowdstrike's hack report claims were debunked by the Ukranian army[3] & authenticity of the C&C software was questioned by many in the cyber security community[4].

[0] [https://www.realclearpolitics.com/video/2017/07/06/clapper_c...](https://www.realclearpolitics.com/video/2017/07/06/clapper_confirms_17_intelligence_agencies_russia_story_was_false.html)

[1] [https://www.usnews.com/news/articles/2016-11-17/lawmakers- re...](https://www.usnews.com/news/articles/2016-11-17/lawmakers-resume-calls- for-james-clapper-perjury-charges)

[2] [http://www.slate.com/blogs/future_tense/2017/05/09/the_fbi_i...](http://www.slate.com/blogs/future_tense/2017/05/09/the_fbi_is_harder_to_trust_on_the_dnc_hack_because_it_relied_on_crowdstrike.html)

[3] [https://www.voanews.com/a/cyber-firm-rewrites-part- disputed-...](https://www.voanews.com/a/cyber-firm-rewrites-part-disputed- russian-hacking-report/3781411.html)

[4] [http://www.zdnet.com/article/no-smoking-gun-for-russian- dnc-...](http://www.zdnet.com/article/no-smoking-gun-for-russian-dnc-hacks/) ``</comment>


My first app: Cheerist – Get motivated by sharing goals with friends - <AUTHOR> http://cheerist.com

<comment><AUTHOR> I'm a big believer in the BJ Fogg's Behavior Model where he says that "three elements must converge at the same moment for a behavior to occur: Motivation, Ability, and Trigger."

In this model, "Social Cohesion" can be a powerful motivator. Cheerist is an attempt to use the power of peer support to help people reach their goals and live better lives.

Let me know if you have any questions.

<comment><USER2> Hey, what are you using for the tech stack?

<comment><AUTHOR> It's LAMP, AWS, using Intel XDK Framework. Let me know of you'd like more details.</comment></comment></comment>


Stypi (YC S11) has been acquired by Salesforce - <AUTHOR> http://blog.stypi.com/2012/05/stypi-joins-salesforce-com/

<comment><USER2> Haha I love how the post before this acquisition post was "First Blog Post" from December:

<http://blog.stypi.com/>

</comment><comment><USER3> Congrats Jason and Byron. Glad that the product will live on - Stypi is great for asking short coding questions during Skype/telephone interviews. Everyone I've interviewed using Stypi has said something positive about it.

</comment><comment><USER4> Not sure what this product offers over the (awesome) work done by ShareJS and ACE already. Looks like stypi is using both those products for it's core functionality

<http://sharejs.org/>

</comment><comment><USER5> Do you mind if I ask how many users you has when acquired? How did you first come across sales force radar?

</comment><comment><USER6> Congrats Jason and Byron. You guys deserve it. Salesforce is lucky to have you.

</comment><comment><USER7> Congrats to all the founders!

First Etherpad and now Stypi, looks like this area is ripe for further disruption.

</comment><comment><USER8> Wow, that was fast. (9 months?). Congratulations.

</comment><comment><USER9> And there goes OT collaborative editing back into the ether again...

</comment><comment><USER10> This is clearly a talent acquisition.

<comment><USER11> Sort of saddens me,these guys came to pick-up where Etherpad guys left and change the online writing. And after first release there was no major update.

</comment></comment><comment><USER12> How is Stypi different from Etherpad?

<comment><USER13> Etherpad got acquired by Google, Stypi got acquired by Salesforce.

<comment><USER14> but how are the actual products different?...

<comment><USER15> Need they be? Etherpad was good enough to get bought, clearly a product just like Etherpad would be of some value.

Looks like Salesforce thought so.

<comment><USER12> I believe Etherpad was open sourced. I suspect there are other reasons why Salesforce went ahead with the buyout. Perhaps licensing?

<comment><USER16> Talent acquisition?

<comment><USER17> Yep, got to be (congrats guys). Etherpad/ShareJS code is great, but limited without the brains to fully exploit the capabilities.

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> Great. Now I'll never get my collaborative vim plugin :-(

</comment><comment><USER19> Congrats guys! Seriously awesome to see you acquired.</comment>


Show HN: Feed Topic explained in illustrated introduction video. - <AUTHOR> http://feedtopic.posterous.com/what-is-feed-topic

<comment><AUTHOR> Ever have a new product that you have to release slowly, yet you are constantly asked to describe it? What if the current design and UI is changing so rapidly that screenshots and screen casts really won't be representative of the product? Illustrate your concept like you would on a whiteboard or piece of paper, and see if you can get your point across! Hope you like the video.</comment>


How to build the best of breed web apps - <AUTHOR> http://www.html5rocks.com/webappfieldguide/toc/index/

<comment><USER2> I'm not sure I want to take advice on design from a site which thinks that flipping paper pages is a suitable metaphor for a browser. It's clever but, in my opinion, it's a poor interface.

Wasn't there a link on here recently about poor skeuomorphic interfaces?

<comment><USER3> Thanks for teaching me a new word.

My initial hurdle was figuring out how to turn the page. Clicked in a bunch of different places to no avail. Fiddled with the little dots. Finally discovered the arrow keys work. Duh!

What followed was reasonable, but hardly remarkable, advice.

However, an ordinary blog post or a PDF would have worked much better than that cute but stupid skeuomorphism.

</comment></comment><comment><USER4> This is pretty bad. I tried with CSS turned off and it was still unusable. Trying to deal with this makes me want to go to craigslist for some counter style. Balance out the excessives.

</comment><comment><USER5> Oh the irony.

If only the web app about web apps was usable.

<comment><USER6> Yikes - I would like to read this but I can't even save it to Instapaper for my reading time on my mobile device. Irony...

</comment></comment><comment><USER7> Gah, I want to read the contents of this book but the design is so terrible.

</comment><comment><USER8> A good read with good tips and well designed (aesthtically)

Don't listen to the haters. This is good stuff with valuable content.

<comment><USER9> I would have read more of it, but I got too annoyed trying to get the pages to flip properly. It doesn't help that they interfere with my mouse gestures plugin...

</comment></comment><comment><USER10> Is there any open source project/jquery plugin for flipping book pages?

<comment><USER11> Turn.js looks pretty good and was on HN about a week ago: <http://news.ycombinator.com/item?id=3555152>

</comment></comment><comment><USER12> what is this? i just see some wood panel and two circles

</comment><comment><USER13> My question would be about SEO. Don't you run the risk of making a site that looks like a single (or just a few) pages regardless of how deep your content might be?

</comment><comment><USER14> Actually, regardless the design of this site, contents are good though

</comment><comment><USER15> It's about 1000% better than anything I've ever done, it's free, and the content is good. Seems like the guy is trying to help people build better web apps...that is a noble intent IMHO. Why not offer constructive criticism instead of all this negativity?</comment>


The best thing Tim Cook didn't announce - <AUTHOR> http://www.bandwidthblog.com/2011/10/05/low-end-iphone/ <comment><USER2> What (some) people want is not a low-priced iPhone _on contract_ , or even free on contract; they want a cheap (i)Phone available _sans_ contract.

I want a cheap iPhone available without contract, because:

\- I don't want a contract

\- I tend to break things (me or my kids) and want the freedom of being able to buy a new device without asking anyone if they would be so kind as to subsidize it, or having bought "insurance", or having to pay north of $600 for the privilege!

So, if 3GS is the device for the lower-end of the market, fine: just sell it at an acceptable price with no contract.

<comment><USER3> I'm not sure if you'd call it cheap but in most countries you can buy the iPhone without contract at full price. In the US you can do this too:

<http://store.apple.com/us/product/MC555LL/A?mco=MTY3ODQ5OTY>

There was an iPhone 4 link too. Can't find it now. Maybe it's down until October 7.

Does that qualify as cheap? If not, I'm not sure what you want other than more for less. But the fact is, you can buy iPhones contract free.

The real problem the US has is that cell phone service is, by OECD standards, stupidly expensive and incredibly bad. In Australia I paid $300 for the iPhone 4 32GB and then $50/month for 2-3GB/month and all the calls and texts that I can possibly use ("cap" plans are very popular in Australia where you get a certain amount of credit that you can use for various things at set rates).

What's more this is on Telstra, which puts the coverage of any US carrier to shame.

So $50 x 24 + $300 - $100 (discount I got) = $1400. The phone cost A$1000 contract free so really I was paying $400 for 2 years of service.

With AT&T you pay $300 for the phone and a minimum of about $65/month (or $85/month if you want not to pay 25 cents for each text), which is almost double the price.

<comment><USER4> Wow, I didn't know you could buy an unlocked 3GS now right from apple. $375 is really not bad at all, either. T-Mobile's new phones are going to be $250 _on contract_. $125 more for an older iPhone on a dirt-cheap ($30/month) plan? Not too shabby.

</comment></comment></comment><comment><USER5> Well, that's a fairly obnoxious article.

 _And even those spitting with fury at the disappointment will glance with envy at the guy who in a meeting quietly asks Siri to order him coffee for the lunchtime break._

Really? I think it's far more likely people will glance with annoyance at the guy _talking_ to his phone PA app during a meeting. There are a lot of good use cases for smart voice input, none of them take place in a meeting.

<comment><USER6> Starbucks takes phone orders from robots now? ;)

</comment></comment><comment><USER7> I'm not sure how relevant it is that Apple's move in the lower cost market was letting the iPhone 3GS drift down rather than introducing a specific model.

My view on why they've done it this way is that they've retained a clear visual deliniation between the higher end iPhone 4s and the low end 3GS. No- one who has a 4 or a 4S is going to be annoyed that they guy with the cheap iPhone looks like he's got the same thing as they have.

That comes with the downside of making the cheaper model a slightly tougher sell - it's visibly "old" - but that's Apple protecting their key market, the high end stuff.

But it will be interesting to see how the cheap [1] 3GS performs commercially against more modern Android phones in the same price bracket. Will Apple's brand have people going "wow, I can get an iPhone" or will people be saying "I don't want a two / three year old phone regardless of who makes it".

Obviously the attitude will vary from person to person but it will be an interesting test of Apple's name value to see if it can give a boost to older hardware.[2]

[1] I say cheap not free as it's free on a relatively pricey contract.

[2] I'm not running the 3GS down - I have one in my pocket right now, it's my primary phone, just it is older hardware and I think over the next 12 months will begin to show it's age more and more.

<comment><USER8> _No-one who has a 4 or a 4S is going to be annoyed that they guy with the cheap iPhone looks like he's got the same thing as they have._

Why would someone else be annoyed by another persons choice in phone? I guess I could understand if you thought the other person made a bad purchase, but how is it possible to be annoyed that someone else has something you agree is good?

Are iPhones really that big of status accessories for their owners? This explains _so_ much.

<comment><USER9> Not all owners, to be sure. But a sizeable amount.

</comment></comment></comment><comment><USER10> "The equivalent of Aston Martin releasing a competitor to the smartcar." Sorry, but I need to LMAO here. Please meet the Aston Martin Cygnet: <http://www.cygnet-astonmartin.com/>

<comment><USER11> Or the more directly ironic fact that Smart cars are made by Daimler-Benz?

<comment><USER12> They are not branded so, though.

</comment></comment></comment><comment><USER13> Emerging countries don't have contracts. So making it free on a 2 year plan isn't the same as targeting emerging markets. Its the cost of the unlocked phone that would matter. I would also argue paying 70-80$ a month for a phone plan isn't exactly "low end" .

For comparison, I got a Galaxy S(captivate) phone for free when I renewed my contract a year ago.

</comment><comment><USER14> " The equivalent of Aston Martin releasing a competitor to the smartcar."

Hmmm.... <http://en.wikipedia.org/wiki/Aston_Martin_Cygnet> Bad example. I know the underlying motivation for Aston wasn't to compete with Smartcar, but that's what they released nonetheless.

<comment><USER15> Not to mention that they were owned by Ford until 2007, and Ford still retains a stake in the company today.

</comment></comment><comment><USER16> _And, quite frankly, the iPhone 4 is probably years ahead in features, quality and design than the equivalently-priced Android, Nokia, or RIM device._

I don't understand how one can write this.

<comment><USER17> Yeah, he misspelled UX and accidentally wrote "features, quality and design".

</comment></comment><comment><USER18> Is it just me? I like the form factor of the 3GS much better than the 4/4S. I was hoping they would go back to that with the 5.

</comment><comment><USER19> > _"Apple is all about the brand. About image. About quality."_

That's what makes Siri such a concern.

When was the last time Apple released a _beta_ product? Have they been hiring too many Googlers?

Or, given that "Siri" alledgedly sounds like slang for buttocks according to today's interwebs, bought an outside technology and didn't immediately rebrand it to sound Apple like?

<comment><USER20> In the presentation, they said Siri's "beta" because it's only available in a subset of iPhone's markets, not because they consider it low-quality.

<comment><USER21> Schiller said it was beta because more language and services support was coming. I'm surprised that Siri doesn't already provide turn-by-turn activation nor can be used for launching apps or changing settings.

</comment></comment></comment><comment><USER22> I think they still need to release an iPhone Nano for the masses. The iPod was big, but the moment Apple brought out the iPod Mini, the iPod went mainstream, because it became affordable.

Apple needs to do the same for the iPhone...

<comment><USER23> The iPhone is already mainstream. And the 3GS is now free, it doesn't get more affordable than that.

<comment><USER24> Do all phone plans cost the same in the US? A free phone plus $10 a month is a lot more affordable than a free phone plus $60 a month.

<comment><USER25> As I understand it, all the US carriers (with the exception of T-Mobile) charge the same per month whether you bought a phone subsidized or not, so it doesn't make too much sense to buy an unsubsidized phone, because you won't be saving anything per month.

<comment><USER26> Get a prepaid.

I paid $200 for an LG Androidy thing (an Optimus V, if anyone really cares) and now I pay $25 a month for 300 minutes per month and unlimited data. It's a crazy better deal than anything else out there.

</comment></comment></comment></comment></comment><comment><USER27> focusing on just the high-end is a losing strategy in phones just like it was with computers. volume wins. ecosystem wins.

<comment><USER28> Apple's shareholders would probably disagree with you. For that matter, so would HP's and Nokia's.

<comment><USER27> with computers apple is the low end. i was referring to the attack of the killer micros: <http://en.wikipedia.org/wiki/Killer_micro>

</comment></comment></comment><comment><USER29> I think it's a great move by Apple to make the 3gs seem free because it says the following:

1\. 3gs owners: it's time to upgrade to the 4/4s (that's me)

2\. It'll burn down existing stocks a lot faster. What was more valuable, an HP TouchPad in production or an HP TouchPad when the production was stopped?

3\. Parents who have an iPhone will be able to get their kids one on the cheap, thus reclaiming ownership of the ir own phone. This also indoctrinates the child into the world of the iPhone, a strategy Apple has pursued with all of its products since the very beginning.

4\. Lastly: get the phone into the hands of a holdout, at least on a trial basis, and hope for an upgrade after a couple of months, if not the same day in-store.

Market share is very important to Apple as it bears on their bottom line and while not compromising on quality (low-end iphone) they can still get a portion of that share by unloading old 3gs stock and maybe even removing 1 & 2 stock still out there in the wild that does nothing to promote present-day Apple products. Walk into any of their stores with an ugly piece of hardware and they'll try hard enough to get you to hand it over.

<comment><USER30> signing a two year contract on a 3gs is hardly a trial basis.

<comment><USER29> Sure, but Apple is betting that once they have an iOS phone in their hands, and judging just by repeat customer shopping patterns, they have a pretty good chance of upgrading that customer to a 4s, if not at least a 4. All they have to do is get that phone in their hands.</comment></comment></comment>


The FDA Says That Hampton Creek Can't Call Its Product "Mayonnaise" - <AUTHOR> http://www.bloomberg.com/news/articles/2015-08-25/mayo-isn-t-mayo-without-eggs-fda-warns-startup-backed-by-gates <comment><USER2> This isn't really news or specific to this product. The United States and many other countries have specific legal definitions of common food items.

<comment><USER3> True, however this all started with a complaint by Unilever, the maker of Hellmann's mayonnaise. They dropped their complaint when it was discovered that their mayo did not meet the criteria either. Also according to Unilever, ""cholesterol free" modifier already signals to people the product is not mayonnaise", which apparently should remove ambiguity that Just Mayo is not real mayonnaise: [http://www.ctvnews.ca/business/hellmann-s-maker-left-with- eg...](http://www.ctvnews.ca/business/hellmann-s-maker-left-with-egg-on-its- face-after-lawsuit-backfires-1.2105475) A lot of BS attempting to stop a company with great products disrupting the old guys.

</comment></comment><comment><USER4> According to the Israel Health Ministry, Heinz Ketchup is tomato seasoning, and not ketchup. [http://www.haaretz.com/news/israel/1.671800](http://www.haaretz.com/news/israel/1.671800)

</comment><comment><USER5> Sorry, vegenaise is already taken.

</comment><comment><USER6> Rename it as maayonnnaise ? haha</comment>


Ask HN: How to test price variations?  - <AUTHOR>

We have a product with a setup fee and a monthly fee (currently $399 + $20/mo).<p>I'd like to do some testing of variations on the setup price. What's the best way to do this? It seems unwise to simply randomly show different prices A/B style.<p>- Should we try a higher price for a time period, then a lower price for a time period? Or vice-versa?<p>- What's a good time period to test? 2 weeks? 1 month? 2 months?<p>- Other ideas for testing price changes? <comment><USER2> I recommend trying a lower price first, then gradually increase.

1) Your early adopters/ customers will feel like they got a deal. (if you drop the price later they'll feel ripped off) 2) You will get a "baseline" for adoption at a price point, and you can use that for comparison as you increase your price. If your sales decrease significantly, you've hit a value perception/ pricing problem.

We've seen our Vendors successfully test their pricing models this way at Simplified Ecommerce (I'm the Founder)- they can start billing from day one without any coding and easily revise their pricing models in realtime.

</comment><comment><USER3> From what I've seen, unfortunately the best approach is to use your gut feeling and try different prices over different time :(

I can't confirm this technique (is it?) myself, but I'm in process of publishing something for money and will have to figure this out soon enough too.

Good luck</comment>


They Made $1M+ on Upwork - <AUTHOR> https://periodix.tk/blog/they-made-1m-on-upwork-and-what-are-your-excuses/ <comment><USER2> Wait, one of these freelancers worked 63,000 hours on the platform? They must be outsourcing themselves... That's 30 forty-hour work years (divided by 2080 hours in a year).</comment>


Massively faster DB with async batching - <AUTHOR> http://williamedwardscoder.tumblr.com/post/16516763725/how-i-got-massively-faster-db-with-async-batching

<comment><USER2> It's a great idea except: You're now eventually consistent. You've reimplemented a ton of database logic in his application. The database already reorders inserts and checks for conflicts. The database is also already doing its best to be durable (write-ahead logs for example). You can't run more than one server due to the custom batching and reordering logic and in memory caching and a hardware failure will result in loss of data.

You've put all your data in one basket. Anything happening to _the_ application server results in data loss. Of course hardware failures happen and all the batching behavior here seems like it exacerbates the problem. A single server handling all writes and reads also makes it particularly difficult to update that server at any point in time. When is it safe to restart this server to apply an update or fix a bug?

Basically the author has avoided using a NoSQL database by reinvented a bunch of things to provide all of the downsides of a NoSQL database (eventual consistency, no ACID semantics) without any of the upsides (high availability, replication).

Alternative solutions to the "handle many requests" on top of a SQL server problem?

Have more application servers. You don't need to service all user requests from a single machine. You don't need to have user 10 wait on user 1s database write if they're independent. Multiple servers have other benefits like rolling updates...

Use memcache.

Use a (durable) message queue to offload work from a the web servers and do non-essential updates/inserts offline.

And of course: Just use a NoSQL database and design your application appropriately.

<comment><AUTHOR> Fair enough viewpoint. I think its more nuanced than that.

The DB queue may be a buffer but the callbacks are not triggered until success/failure (and when caching like I did for the SELECTs that doesn't happen until then too). This is just the same as the twisted/tornado db connection pool approach to getting the DB access async, but is getting much better performance out of it by the merging client-side logic; its still the same schematics and there's no risk of a request succeeding but the DB not.

<comment><AUTHOR> I have put some sketches into my post to describe when things hit disk and when the client making the request continues. I hope this clarifies all the ACID questions.

<comment><USER2> Ah, you don't respond to the user until the DB interactions for a given user have been processed as a batch. I was under the impression that on a write you were: updating the in memory dataset so that the user could immediately read their data after the write, queuing a write to MySQL, and then responding to the user (200 OK) even though the data had not been committed.

So my concern regarding consistency was that during this period after responding to the user but before your queue committed data that a bug or hardware failure would result in some users thinking that there requests were successful but none of their work would be saved.

As long as the user doesn't receive a response until data has been committed to your DB this makes sense.

Now that I understand the flow a bit better I agree that it makes sense. This is similar to what folks were trying to do with MySQL-Proxy. I still think that you're asking for trouble by coupling your components together in the same process and would really encourage you to take it to the next level by factoring out caching and proxying/batching of db access into their own services.

The more I think about this the more it seems like it would be reasonable to build as a separate twisted process and exposed through a api compatible with twisted.enterprise.adbapi... Figuring out reasonable (and general) ways to determine which statements can be safely batched could be quite challenging though.

<comment><AUTHOR> I happen to be using Python's built-in new multiprocessing module. It has a suitable queue. I am using the same logic to talk to rabbitmq. I would avoid tcp.

<comment><USER2> Where's rabbitmq in your architecture? What's your concern with TCP?

<comment><AUTHOR> I meant I I'd rather use Queue.Queue or multiprocessing.Queue to talk to a worker than TCP. Its just my preference.

Its generally the principle of least-power is that you'd use a thread (nice for the callback handling, and for 'interactions') or a process (if you worry about the GIL, but it complicates callbacks and interactions), and only jump to a TCP server if you really really could justify it.

I also meant that the approach of workers that do coalescing is useful for non-DB things too; we're using a worker to buffer rabbitmq, for example.

</comment></comment></comment></comment></comment></comment></comment><comment><USER3> This appears to me as a ridiculously good idea. I've no clue whether it's really novel, but to me it is.

Anyone got a clue about the implications? Also, how difficult to do? (besides than the author's own impressions) Would it be possible make a more generic solution?

<comment><USER4> What do you find so rediculously good about this? I find it complicated. If I understood it properly, it's just making inserts asynchrounous (removing durability) and batches data into single statement (removing atomicity). Or did I miss something?

<comment><AUTHOR> Its still ACID. Its the same callee code as you use in, for example, twisted already to have DB async. It just gets way better performance because the DB speed is measured in requests/sec and not how big those requests are. So merging many requests into a single one where possible means you get more throughput.

<comment><USER5> But it's not ACID. For example, if the server or process running his database worker queue were to crash, records would be lost.

Of course, it's quite likely an acceptable trade-off for for these records. Relational DBs sold everyone on ACID in the 90's, but a lot of data doesn't really deserve its cost. He hasn't found a way around Brewer's Conjecture (and I wish I had a nickel for every time it's rediscovered :-).

<comment><AUTHOR> But then the callback to the request would timeout and the callee code waiting on the web request would be in no misunderstanding that the thing was committed or not.

Things in the queue get acknowledged - and sometimes resultsets or IDs returned, in the case of SELECT and INSERTs that return auto keys.

<comment><USER5> OK, I see. So your batching related inserts to cut down on the per-transaction overhead, but not actually returning anything to the client until the commit is confirmed.

I think this is a good method, as long as you're careful about these things. (I assume you've taken care of them, just talking about this method in general).

1) If there were multiple transactions in the web request, previously the second ones likely wouldn't have been run if the first were to fail. This would likely change that and it could even necessitate having rollback for the second transaction.

2) Now there is a potential "thundering herd" problem. When the transaction batch commit notification is received, all 1000 web requests made over that 100 ms period become ready to execute and start competing for network/disk/database resources _simultaneously_. A disk that was just sitting idle now has 1000 different things to do at once. If everybody hits the network at once it can cause temporary packet loss. When packets are lost, connections can be dropped or delayed by retransmits. Sometimes client retries and retransmits can happen synchronously. In the worst case, such a system can end up oscillating wildly between excessive load and excessive idle.

<comment><AUTHOR> Yes this is what twisted's "interactions" are and how I talk about throwing rollbacking-exceptions and such in the article.

Yes, you do have to be careful about saturating links generally. The thundering herd thing is a rich man's problem :)

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Anyone have a good idea of what threshold should be introduced into the Coalescing Queue?

For example, on a slow server you could imagine a command coming in every second; you likely don't want to hold onto those commands for a second artificially to find out there are no new methods to try and combine it with; so you just want to answer right away.

Now your server is getting busier... 4 commands a second... do you want to artificially hold commands for 250ms+ or longer to see if there are new commands to combine with it?

I imagine not...

In the scenario where you are getting 500+ req/sec it makes a lot of sense to coalesce them, but at some point your queue needs to decide when to make a cut in the queue, take that slice of commands, process/combine them THEN send them to the server and it is that heuristic I'm curious about.

<comment><AUTHOR> I put in the batching point at: 1) over a certain time-limit, e.g. 100ms 2) over a certain number of commands, e.g. 2000 3) encountering a specific 'flush' command, that I injected sometimes to simply the logic

Those were the numbers I, by trial and error, determined for my server. But remember, I didn't do SELECTs; I put everything I might SELECT into memory. So my numbers are rather application-specific perhaps.

Its important to measure the average and worst case response times, not the best-case. Under light load, best-case times are from blocking calls, which is why conventional ORM looks good enough in prototyping ;)

<comment><USER6> Thanks Will; I missed all that for some reason. Appreciate you sharing your actual threshold numbers (would have been my second question).

</comment></comment></comment><comment><USER7> I think the problem being described here is he is using a database where he doesn't need to. This is the problem things like cassandra were made to solve. Effectivally he is not storing things to the DB he is logging them to the DB in case of a program crash. To speed things up he stores his entire data set in RAM client side. Writes are buffered and written to the DB, after they have modified the client side data. I assume the point is when the program crashes or dies it just rebuilds the client side data from the DB and then proceed to continue to log to the DB. He can get rid of a lot of his code and add in features but using something like MongoDB, Casandra , or Riak

<comment><USER8> > Effectivally he is not storing things to the DB he is logging them to the DB > in case of a program crash. To speed things up he stores his entire data set > in RAM client side.

At this point its not worth even using a database. I'm currently working on an experimental framework at Smarkets where we just write events directly to disk and do everything else in memory (with the occasional snapshot to speed recovery). If all goes well it will be open-sourced in a few weeks.

LMAX have taken this idea to extremes and have some mind-blowing benchmarks - <http://martinfowler.com/articles/lmax.html>

<comment><AUTHOR> I think the merging and reordering stands alone as a solution; the extension where, in my particular project, I cache to avoid some common SELECTs is a distinct other subject. They complement each other, and are in the same post, is all.

</comment></comment></comment><comment><USER9> If you're hitting the database concurrently with many sessions, you can get much of the same benefit by just adjusting the PostgreSQL commit_delay and commit_siblings paramaters, so the database batches things into fewer flushes and fsyncs for you.

<comment><AUTHOR> don't you want to know that the statement hit disk before continuing? If you're a web request thing that is, say, submitting an order, don't you want that order to hit disk before the web request continues, retrieving the order#?

<comment><USER9> It will hit the disk before continuing. It just causes server side batching of more operations into fewer flushes and fsyncs, often improving overall throughput in the case that you have several connections concurrently hitting the DB.

Note also that if you do want to avoid atomic commit for particular transactions (less important stuff), you can do that by issuing SET LOCAL synchronous_commit TO OFF within the transaction. But that's not what commit_delay does.

[http://www.postgresql.org/docs/9.1/static/wal- configuration....](http://www.postgresql.org/docs/9.1/static/wal- configuration.html)

[http://www.postgresql.org/docs/9.1/static/runtime-config- wal...](http://www.postgresql.org/docs/9.1/static/runtime-config-wal.html#GUC- SYNCHRONOUS-COMMIT)

<comment><AUTHOR> And doing the same client-side is often improving overall throughput in the a few connections multiplexed between a large number of requests in the same manner.

</comment></comment></comment></comment><comment><USER10> Do you have a cluster of application servers? What transaction isolation level do you use? Will User A mind that his update is no longer a single transaction and that it may be commingled with txn's of Users B&C?

</comment><comment><USER11> This is pretty cool.

Do you plan to continue working on hellepoll? I liked the idea and would love to see it developed further.

<comment><AUTHOR> Most of what's built on hellepoll has been proprietary.

If hellepoll had a DB layer, it might well come with an merging reordering worker queue though ;)

<comment><USER11> I see. It would be really nice to have a community which develops hellepoll.

After all, having a maintained alternative to node.js written in C++ would be very nice.

I'm not saying node.js isn't OK or that those who use it are doing something wrong. It's good to have many tools for different scenarios and different preferences.

Would you like to start such a community for hellepoll? I'd be the first one to join you.

Thank you for your reply and for publishing hellepoll.

<comment><AUTHOR> thank you for the kind words.

two does not a crowd make, sadly

</comment></comment></comment></comment><comment><USER12> wouldn't it be easier (and have the same effect) if you just wrapped 100 statements (or say 60 seconds) of delay-able INSERTS into a transaction with the correct isolation value set?

or use INSERT DELAYED and let the database do it itself.

<comment><USER13> Author states that he is using innodb and insert delayed is a myisam mechanism. Of course in innodb the buffer pool / insert buffers can be thought of the same way. The delay the author is noting is probably due to flush of the log file data.

If you configure innodb correctly it comes down how much IO you can do on your log fs, to make sure you can sustain some update rate to this sequential log. Then nest is the IO to the db fs, so you can sustain the rate of the flushes. You can tune some of this much better with some percona mysql patches. Innodb does insert batching for you to minimize IO, and if you are doing updates to the same data it may even buffer the changes in buffer pool.

</comment></comment><comment><USER14> tldr: Group your inserts ! "Together we are stronger" – Spartacus

<comment><USER6> A bit more than that: "Group, convert and collapse your DB commands!"

      insert 1, insert 2, insert 3 == insert [1,2,3]
      insert 1, delete 1 == [no-op]

As the author pointed out you need to know a bit more about your domain to make this really efficient, for example:

      insert user1.dob, delete user2.dob = [2 discrete ops]

while

      update user1.dob, delete user1.dob = [1 op - delete user1.dob]

Cool idea; lots of opportunities for enhancement. The one thing you would have to look out for is effectively re-implementing a query optimizer inside of your application code and eating up _too_ much CPU time on a busy system prepping calls.

If you are not I/O bound, then this strategy isn't going to help you that much. If you are I/O bound, it is a great way to help get yourself out of that hole.

</comment></comment><comment><USER15> offtopic: are there any direct sql to binlog async translator?</comment>