Gmail Ditched By UC Davis - <AUTHOR> http://www.informationweek.com/news/windows/security/showArticle.jhtml?articleID=224700847

<comment><USER2> Sometimes decisions like this are just about wanting to maintain control (read: job security).

The CIO and his people want to run mail and calendaring systems. Nothing wrong with that, other than the fact that it likely costs them more to do it themselves than they would pay Google to do so.

In 2010, managing your own email and calendaring systems seems to me to be the IT equivalent of generating your own electricity.

These systems are utilities like power and water.

But that's just my opinion, based on using Gmail, Talk, Google Calendar, etc, for my personal life and Microsoft Exchange and BlackBerry in my work life.

<comment><USER3> Yes - they are about maintaining control, but not about job security. Every university will have a number of documents defining the level of privacy and security provided by each involved entity. If exporting the information to google means that some rule is broken -- for example if bulk transfers of personal information are forbidden and people start using gmail as a basic tool of document exchange, something has to change. And sometimes it's easier to change the technology provider than people... Even if no local regulations stop them, there might be some law about personal data processing that completely prevents gmail usage for some specific organisation.

You'll also find that serious tech. universities do have their own power generators for emergencies.

<comment><USER4> I've seen more major breaches of privacy (not to mention system failures) with university run services than GMail. I think it's more that when it breaks, they want to be able to do something to fix it versus waiting on Google to fix it.

</comment></comment></comment><comment><USER5> My grandma is more tech-savvy than my university.

We were scheduled to adopt Google apps this February, but at the last minute a group of professors stymied the proposal for a number of bogus "privacy" concerns, which included, and I wish I was kidding about this one, a fear that our data could be hosted on a Google server in a country with questionable human rights laws. What?!

Meanwhile, we use the ancient open-source Horde e-mail system, which is slow, frequently down, and far less secure than Google's. It's expensive to maintain, and its webmail interface looks like it was designed by a kindergartener in the mid-90's. Plus, our pricey yet outdated university servers are just sitting in some random IT room on campus, and are probably far more susceptible to data theft than anything in the cloud (both virtually, and in the form of someone just picking up the servers and walking out with them).

The future is in the cloud. Institutions wise enough to adopt it will enjoy huge benefits; those who are too afraid will be left behind.

And don't even get me started on the generally sorry state of technology use in education...

<comment><USER3> > _I wish I was kidding about this one, a fear that our data could be hosted > on a Google server in a country with questionable human rights laws_

Was that in UK by any chance? If so, take a look at Data Protection Act - especially this:

 _Personal data shall not be transferred to a country or territory outside the European Economic Area unless that country or territory ensures an adequate level of protection for the rights and freedoms of data subjects in relation to the processing of personal data._

If you want to be ok with the law, basically you cannot store your emails (which at some point will definitely contain personal data) in an unknown location. Gmail storage qualifies as an unknown location for all we know.

<comment><USER5> It's in the US, but that's a fascinating law.

Google actually specifies that they _cannot_ disclose the exact location of one's Google Apps data because it is automatically distributed across three different server farms out of several dozen (or more) potential locations. They also are purposefully vague about disclosing the locations of their data farms, in general. Incidentally, one likely reason for this is security.

I agree that there are _some_ genuine privacy and security concerns about the cloud, but I think most criticisms fall into the unforgivable category of "I don't trust it because I can't see it."

And in this sense, academics refusing to accept the cloud are like academics refusing to accept gravity.

<comment><USER3> I think it's not a problem of not seeing the data. After all, outsourcing storage and processing is very common now. The real problem is that when you _need_ to see the data, you cannot and you don't know where to find it.

For example, you cannot easily swap the email server for a new one and recover everything from backups. Actually, you cannot even reliably make full on-site google apps backups afaik, which is a hard requirement in many places. If you have problems with disappearing data, not only do you have to wait for Google to fix it, but you have a specific priority in their queue. In extreme cases you might want to get a bunch of consultants to deal with the problem on-site right now. No such option if you outsource your storage.

</comment></comment></comment></comment><comment><USER6> This is BS. They're saying Buzz was part of the cause for the decision yet Buzz wasn't even on Google Apps GMail instances. The other issue cited is on the premise that they are disclosing emails to GMail vs using GMail for a service provider of their own email. Ridiculous sensationalism in my opinion.

<comment><USER3> The Buzz comment makes sense really. If they thought that Google doesn't handle all of its data in a proper way, then there's a reasonable suspicion they don't do it with your mails.

Let's use a hyperbole: If your bank guaranteed you security, while you see robbers taking the cash from their vaults -- would you believe them? Would the situation change if you were told that this vault will not be used to store your money?

If they mentioned it, they might think of it as a symptom of bigger problems with the data handling procedures.

</comment></comment><comment><USER7> _a leading public university has ended its evaluation of Gmail as the official e-mail program for its 30,000 faculty and staff members [...] Keltner noted UC Davis students are continuing to use the service_

According to wikipedia, UCD has 2,092 faculty and 31,426 students [1]. Unless they happen to have a "staff" of 28,000, it seems someone got their numbers mixed up.

1\. <http://en.wikipedia.org/wiki/University_of_California,_Davis>

<comment><USER8> The relatively incomplete state salary database shows UC Davis as having 21,154 employees.

UC campuses are huge enterprises and contain a lot more than some classrooms and dorms. Davis for instance, runs one of the few Californian hospitals that is both an Adult and Pediatric Level 1 trauma center. Davis has many other things you wouldn't expect, for instance, the campus also has an airport and a fire department.

University of California, by employee count, is larger than Intel. Larger than Google, Yahoo and Apple combined. 6 times the size of NASA and is several times over the size of General Mills. Just to give you an idea. UC is a very complex organism and many of its campuses are non-trivial.

UC also plays a role in running our nuclear program and has various units that need to comply with HIPPA and/or national security regulations for dealing with classified information.

So... I'm not surprised at that number and it's definitely nowhere near as far off as you speculated even if it was a little high.

More related to the main story, UC policy currently prohibits use of Gmail applications for non-student affiliates of the university due to security, policy and compliance issues. UC Davis was one of the leading campuses trying to change this, (and I think they might have been approved for a pilot or something?) but it appears they've backed off. (Edit: Ah yes, you'll note the article explicitly cites a section of their notice stating that the UC ECP does not allow for this type of data sharing since the university can't get Google to agree to the necessary data privacy constraints.)

</comment></comment><comment><USER9>
      Many faculty "expressed concerns that our campus's commitment to protecting the
      privacy of their communications is not demonstrated by Google and that the
      appropriate safeguards are neither in place at this time nor planned for in the
      near future," the letter said.

So, it's a decision made based on FUD. Sounds like that's going to work out awesomely for them.

Looks like they just want to move things back in-house for perceived control. That reminds me of a story about a major directory server at Georgia Tech going down regularly. The hard drive inside kept crashing on a regular basis. They restored backups, reinstalled software from scratch, and even replaced the hardware several times. It kept crashing until one day when a tech was out in the server room to restore it one more time. He found a technician working in the ceiling above on some sort of HVAC system. Below him was the server pulled out of the rack partially. The technician had been stepping on the combination of his ladder and the server itself to reach the unit he was working on.

So, yeah, on-campus servers are way more secure than scary Google servers in the mysterious "cloud"...

<comment><USER3> Poorly implemented local security does not prove anything about security of Google servers. You cannot draw such conclusions based on this event. For all you know, monkeys are flinging poo everywhere in the Google datacenter holding your Gmail account.

In this case the university had at least the chance to fire the technician / hold him responsible. Good luck holding Google responsible for anything.

<comment><USER10> <http://www.youtube.com/watch?v=V7__SWWSaGM>

</comment></comment></comment><comment><USER11> Lets look at an example guys. What if a student while in college had a disability. Now while I was in school, my University used its own private servers. Though upon me leaving, they switched to gmail. Now in my school, the office of disability services used email to schedule test taking and other arrangements. Now that they use gmail, google knows which students have disabilities. Data like that is quite scary if ever made public and if it ever was breached those students like myself, likely would never ever be able to have a career they have worked for.

</comment><comment><USER12> My university just migrated to Gmail (about 2 weeks ago). 30k students and about 8200 faculty and staff members.

It beats the 2 different systems we had to use before (one exchange account and one squirrel mail faculty account), and is probably more secure as well.

</comment><comment><USER13> Looking at the actual url, I wonder how this is 'Windows Security' news.

Oh, I get it.</comment>


Coronavirus: Genes may explain why some face greater danger than others - <AUTHOR> https://www.foxnews.com/health/coronavirus-genes-may-explain-why-some-face-greater-danger-than-others <comment><USER2> This "news" article exemplifies the specious yellow journalism that surrounds COVID-19. For example, it repeats a rumor, based on unconfirmed data from China, that people with type A blood have a significantly higher risk for acquiring COVID-19 compared with non-A blood groups. The article was apparently intended to frighten people with type A blood. Otherwise, they might have investigated the data being compiled in the U.S.

COVID-19 tests may be new, but routine blood typing has been around for a very long time. With 20,000 COVID-19 deaths currently being reported in the U.S., we would suspect that the blood group data would be available anonymously for thousands of them without delaying for publication in a peer-reviewed journal.</comment>


Noclip - <AUTHOR> https://noclip.website/ <comment><USER2> Can somebody explain what this is supposed to be? (Pet peeve: links on HN with zero context... is there a blog post?)

I select a game, and it just renders gibberish. I get I can use the mouse and WASD to "move", but it just renders glitching vertical bars of random colors in both Chrome and Firefox, no matter what game I pick or where I "move".

The "About" explains precisely _nothing_ except controls to use. Tried on up- to-date Chrome and Firefox on macOS.

<comment><USER3> It's a 3D-map viewer for some particular set of Nintendo games.

The levels render correctly for me.

I guess the name "noclip" is because the effect is the same as using that cheatcode in quake etc.

<comment><USER2> Sounds cool. Too bad it doesn't appear to work on Macs? (Or at least mine -- MacBook late 2016, macOS 10.14.3, Chrome 72.0.3626.109.)

Tried opening in Safari too, and the page is just white -- doesn't even load the menu interface or anything.

<comment><USER4> Hi, I'm the developer of the site. Safari doesn't seem to support WebGL2, which is why it shows up pure white. There should be an error message, but that appears to have broken at some point. Could you press F12 and tell me what the console says? I don't have a Mac myself, so I can't debug.

Chrome should be working. If it's rendering gibberish, could you go to [http://webglreport.com/?v=2](http://webglreport.com/?v=2) and tell me what "Unmasked Vendor" and "Unmasked Renderer" say? There's a known ANGLE bug on AMD/Mac that I need to work around, but it causes performance issues so I try to limit it to platforms I know are broken; it sounds like you have a configuration that isn't in the whitelist.

<comment><USER2> Safari shows the red bar error message now.

In Chrome:

      Unmasked Vendor: Intel Inc.
      Unmasked Renderer: Intel(R) Iris(TM) Graphics 540

And on your site, immediately upon loading the console is giving me 29 different 404 errors across different filenames like:

      VM208:1 GET https://storage.googleapis.com/znoclip/z.noclip.website/j3d/smg/ObjectData/Hanachan.arc 404
      (anonymous) @ VM208:1
      i @ string_decoder.js:135
      e.getModel @ string_decoder.js:135
      c @ string_decoder.js:135
      e.spawnObject @ string_decoder.js:135
      e.spawnZone @ string_decoder.js:135
      y @ string_decoder.js:135
      ...
      string_decoder.js:135 Could not fetch archive
      j3d/smg/ObjectData/Hanachan.arc 404

Hope that helps. Good luck! :) The idea sounds neat.

<comment><USER4> The 404 errors are to be expected. Several users have reported an issue with the Intel(R) Iris(TM) Graphics 540 chipset, but unfortunately as I do not have hardware to test with, I am unable to debug it. But I suspect it's a driver issue. Let me try a few different ideas based on something I read online.

EDIT: I attempted to push one workaround. I cannot test it here, so please let me know if it helped.

<comment><USER2> Glad you're trying to fix it! Just emptied my cache and refreshed but no change in Chrome or Firefox, sorry... happy to check again in the future, just click my profile and e-mail me directly there

Bummer that drivers are that sensitive... I remembering the nightmare of dealing with different browsers/OS quirks for the HTML5 audio API, but at least I could test everything using virtual machines... graphic cards sound like a whole other level of hell. I had no idea.

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> Oh hey, I've seen this site. It's a pretty neat tool, and I'm especially happy to see Switch games like Mario Odyssey and Zelda Breath of the Wild already present here.

The fact it all runs in a web browser is incredible.

Still, is there any background behind this project? Curious to know what inspired Jasper_ to create it...

<comment><USER4> It started a long time ago as a port of an old tool called bmdview2 to the web called "bmdview.js" as a way of learning WebGL and graphics. A bit later, I wanted to see levels from Ocarina of Time, so I created a tool called "zelview.js". Both of these original tools are still online, but they might have bitrotten by now.

I created more and more tools like this until I decided to combine all of them, and noclip.website is the result. It combines my love of video games, reverse engineering, high-performance graphics applicationss, and pushing the boundaries of the web. Other people seem to enjoy it too, which is always a huge motivation booster.

</comment></comment><comment><USER6> I don't see anything happening. Just a black screen for every game that I select. I'm confused...

<comment><USER4> Could you press F12 and tell me what the console says?

<comment><USER6> I no longer see the black screen but I still get this error: Loading failed for the <script> with source "[https://www.googletagmanager.com/gtag/js?id=UA-35480078-3"](https://www.googletagmanager.com/gtag/js?id=UA-35480078-3").

</comment></comment></comment><comment><USER7> This is amazing.

I can't believe how stunning some of these level's look on what seems to be very little processing. If the "Statistic's" panel is right for example, the entire Shadow Temple in Ocarina of Time 3D is being rendered in just 29 draw calls and 8104 triangles and honestly it looks better than half the games that come out today.

I feel like level design isn't quite as clever as it used to be.

<comment><USER4> I mean, I'm cheating a bit. These levels don't have any of the actors or interactive elements per-room. The lighting and animations are probably the biggest thing that contributes to the "stunning" quality -- try turning off vertex colors in the Render Hacks panel.

</comment></comment><comment><USER8> I just replayed ocarina of Time and I'm pretty sure the Forest Temple map is mixed up with what looks like the Spirit Temple.

Great work! Very cool to see these games come to life on my phone!

</comment><comment><USER9> This is glorious, I love it

</comment><comment><USER10> That nostalgia!

</comment><comment><USER11> This is SO COOL. But I was expecting it to have maps from HL too!

I am not saying that HL invented "noclip", but it's certainly my first experience with that concept, even though I played many other games before that used that name for that concept, and games that implemented the same concept before that name was coined (like "idclip" in the old Doom)

<comment><USER4> I'll add Half-Life maps to the "to-research" pile, though it can take weeks to research and implement new games, so I can't make any promises. "noclip" is a term from general gamer culture which is why I chose it, despite its origins in the Half-Life and Doom engines.

Thanks for the suggestions :)

<comment><USER12> Goldeneye and Perfect Dark too?</comment></comment></comment>


EU privacy proposal could dent Facebook, Gmail ad revenue - <AUTHOR> http://www.reuters.com/article/us-eu-privacy-idUSKBN14U1FL <comment><USER2> What does means "It would allow telecom companies to use customer metadata - such as the duration and location of calls - to provide additional services and make more money, something they are barred from doing under the current rules."

Does that means that Deep Packet Inspection, add injection and content modification will be legal, if done by a Telco?</comment>


NSA's Tips to Keep Your Phone from Tracking You - <AUTHOR> https://www.wired.com/story/nsa-tips-smartphone-data-canon-ransomware-twitter-bug-security-news/ <comment><USER2> > Turn off Bluetooth and Wifi

> Turn on Airplane Mode

> Decline location-sharing or at the very least restrict it to only when the > app is open

These seem obvious but I guess need repeating. The last one is only an option for Android 10+ users which apparently only account for ~25% of Android devices out there. So 75% of Android users can't even do this yet. Not sure about iOS but I know they've had it longer at least.

> Reset you phone's Advertising ID

This one I personally was not aware of

> Don't use iOS and Android's FindMy or FindMyDevice features

What happens if I lose my phone though? I wonder what the numbers are on people who have successfully retrieved their phone using these compared to people who can see where their phones are but never got it back.

> consider using a trusted VPN provider.

I clicked on their link and just skipped straight to their "Advanced User" recommendation, because this is HN, and they recommend Mullvad. Curious to see what HN users think of that one.

[https://gs.statcounter.com/os-version-market- share/android](https://gs.statcounter.com/os-version-market-share/android)

[https://source.android.com/devices/tech/config/tristate- perm...](https://source.android.com/devices/tech/config/tristate-perms)

[https://mullvad.net/en/](https://mullvad.net/en/)

<comment><USER3> I met one of the founders/owners of mullvad at CCC in Germany over 8 years ago. I gotta say, I've never met someone so happy to talk about how unbelievably paranoid they are about security and how much effort went into not only protecting the VPN endpoints themselves but the team's devices so they can't be used as a point of compromise. Wasn't a sales pitch, just a multi hour long discussion around privacy and tech that enables it.

I learnt a lot from that dude and have been using mullvad for years since since it's the only VPN provider I've ever personally met. Oh yeah, decent speeds etc as well :P

<comment><USER4> Can you share some of the things you learned? I'd be curious to hear about unusual measures they've taken, especially around team's devices.

<comment><USER5> Zero-trust infrastructure is what you're looking for.

</comment></comment></comment></comment><comment><USER6> >Also important to remember is that GPS is not the same as location services. Even if GPS and cellular data are unavailable, a mobile device calculates location using Wi-Fi and/or BT. Apps and websites can also use other sensor data (that does not require user permission) and web browser information to obtain or infer location information.

Wondering what kind of sensory data they meant here, I had a look at the citation[0]. If anyone else is curious:

>We describe PinMe, a novel user-location mechanism that exploits non- sensory/sensory data stored on the smartphone, e.g., the environment's air pressure and device's timezone, along with publicly-available auxiliary information, e.g., elevation maps, to estimate the user's location when all location services, e.g., GPS, are turned off. Unlike previously- proposed attacks, PinMe neither requires any prior knowledge about the user nor a training dataset on specific routes. We demonstrate that PinMe can accurately estimate the user's location during four activities (walking, traveling on a train, driving, and traveling on a plane).

[0] [https://arxiv.org/abs/1802.01468](https://arxiv.org/abs/1802.01468)

<comment><USER7> Microphones too. Signage and TVs etc can emit ultrasonic beacons your devices can hear, with applications like tracking your viewing habits and your location.

Ditto the proximity sensor: it's just a photocell and a simple room light could comprise a beacon. Flashing over, say 30hz would be invisible to us.

<comment><USER8> A lot of the cheap wifi security cameras already use sound to transmit data such as for pairing.

[https://setup.smartlink.pitneybowes.com/advancedTroubleshoot...](https://setup.smartlink.pitneybowes.com/advancedTroubleshooting)

</comment></comment></comment><comment><USER9> The actual guide instead of a summary in a Wired article. [https://media.defense.gov/2020/Aug/04/2002469874/-1/-1/0/CSI...](https://media.defense.gov/2020/Aug/04/2002469874/-1/-1/0/CSI_LIMITING_LOCATION_DATA_EXPOSURE_FINAL.PDF)

</comment><comment><USER10> Isn't it a bit ironic that the organisation most likely to be tracking you is giving tips on how not to be tracked?

<comment><USER8> They used to make a distribution of Linux called SELinux until Microsoft successfully lobbied the government to make them stop.

[https://www.nsa.gov/what-we-do/research/selinux/](https://www.nsa.gov/what- we-do/research/selinux/)

> The NSA, the original primary developer of SELinux, released the first > version to the open source development community under the GNU GPL on > December 22, 2000.

[https://en.wikipedia.org/wiki/Security- Enhanced_Linux](https://en.wikipedia.org/wiki/Security-Enhanced_Linux)

<comment><USER11> Not exactly a Linux distribution. It's a kernel security feature for mandatory access control - and it's reasonably good, if difficult to use.

Edit:

Found a source on the parent's claim.

[https://linux.slashdot.org/story/02/08/19/1750212/did-ms- lob...](https://linux.slashdot.org/story/02/08/19/1750212/did-ms-lobbying- stop-nsa-work-on-selinux)

<comment><USER8> How about the NYTimes?

[https://www.nytimes.com/2001/09/07/business/us-vs- microsoft-...](https://www.nytimes.com/2001/09/07/business/us-vs-microsoft- the-lobbying-a-huge-4-year-crusade-gets-credit-for-a-coup.html)

> Last year, Microsoft even hired Ralph Reed, the political consultant who was > at the time a senior adviser to the Bush campaign. His job was to urge Mr. > Bush to take a softer approach toward the company if elected president.

GWB dropped the antitrust case again Microsoft after elected to be the President of USA

<comment><USER11> The specific point that NSA halted SELinux development at Microsoft's behest (I had never heard of this) is more demanding of citations than Microsoft's general lobbying of the federal government (which they certainly did). There's no mention of NSA or SeLinux in that NYT article.

</comment></comment></comment></comment></comment><comment><USER12> Month ago I built my own android app that automatically switches on airplane mode whenever the display switches off (and vice versa). Made in 10 minutes with Tasker, it's even in the play store.

Since then I really enjoy life again without any notifications, it's just wonderful.

<comment><USER13> I just use the moderate power saving mode which disables network traffic of the background apps. Now my 2017 Samsung A3's battery lasts about 3.5 - 4.5 days / charge. If I need to be "urgently" contacted people can still call or SMS me but I don't want any realtime notifications from apps.

</comment></comment><comment><USER14> Your phone? Ha!! Count the connected wireless devices in your home. Cellphones, Amazon Echo, garage door opener, fitness watch, Ring doorbell, cable tv boxes, tv's, computers, printers, tablets, digital pencils, modems, wifi APs, earpods, wireless speakers, cordless phones, ovens, fridges, door locks, light bulbs, automobiles, VR goggles, quadcopters... Are we there yet?

</comment><comment><USER15> 3y ago:

"Does disabling Wi-Fi prevent my Android phone from sending Wi-Fi frames?"

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

</comment><comment><USER16> You all probably already knew this, but I recently discovered "airplane mode" does wonders for battery life. Then again, I'm from a generation old enough to feel no qualms about wandering about with no device whatsoever, so YMMV.

<comment><USER17> Do recent phones actually honour the Airplane mode absolutely or do they still allow WiFi/BT to bypass it, or override the user and activate the mobile radio under exceptional conditions?

<comment><USER18> >do they still allow WiFi/BT to bypass it

AFAIK both android and ios disables wifi/bluetooth when you turn on airplane mode, but you can turn them back on without exiting airplane mode.

>override the user and activate the mobile radio under exceptional conditions

Not sure about this one, but to my knowledge there isn't any.

<comment><USER19> I do this at home, my phone has a WiFi Calling option, and our entire block is a near-zero cell signal area.

Airplane Mode + WiFi back on stops the battery loss from the phone hunting for a tower all day.

</comment></comment></comment></comment><comment><USER20> VPN usage is problematic - my phone provider blocks the major VPN providers so I have to switch it off whenever I'm outside wifi range. About half the financial sites I visit consider VPN usage a threat and the response ranges from CapitalOne's extra authentication to Synchrony's lock out the account for 72 hours to Goldman Sach's refuse to load and ask you to call a toll free number (where the confused rep just says they block some vpns and has no real advice to offer).

There have been a number of cases where someone was a suspect in a crime because their phone was in the area. I'm thinking it might be better to keep the data service shut off all the time and just use wi-fi calling when I get to where I'm going. Phones don't work on the subway and are a distraction when driving, so maybe solve multiple problems that way.

<comment><AUTHOR> I had the same problem some time ago (VPN providers blocked). I solved it using DNS over HTTPs

</comment></comment><comment><USER21> The only measure there is for the most of phones is to put them in a Faraday cage.

</comment><comment><USER22> Did onion.com change their name?

</comment><comment><USER23> Root and firewall?

</comment><comment><USER24> Unless you're a spook, isn't it pointless? We're bound to make mistakes. Or just make it a bit more anon?

</comment><comment><USER25> So, the world's most powerful surveillance agency gives me advice how to avoid surveillance? Thank you, I'll pass.

</comment><comment><USER26> I always put my phone on airplane mode before going to bed. I just don't want the extra radiation while I sleep.

<comment><USER27> Correct me if I'm wrong, but isn't the radiation from the WiFi and Cell towers in your bedroom regardless of whether your phone is on?

<comment><USER28> His phone doesn't answer, so I'd think there would at least be less radiation.

<comment><USER29> Indeed, the thing trying to reach a 2km distant tower 50cm from your head is a bit more powerful than the signal coming from 2km away trying to reach your phone.

<comment><USER30> Your comment seems intuitively entirely backwards. You think the tiny battery powered device in your bedroom is producing more EMF than the hundred foot tower hardwired to the grid actively sending the same exact type of data to thousands of devices in every direction beyond every wall that surrounds you?

<comment><USER29> Absolutely.

If you're asking about _ability_ then yes: a grid-connected tower will both be able to produce stronger radio waves and last much longer (indefinitely versus some battery), but that's not legal, not what they do in practice, and wouldn't make sense: if the tower is so much stronger, then only your phone would be able to receive the tower. The tower wouldn't hear your phone's reply if the phone were significantly weaker. Since both generally want the maximum possible range, they'll transmit as much as regulations allow. A tower might have bigger and more sensitive antennae, but not so much that the transmissions are significantly different in power output. Both are safe to be nearby, but in case of long phone calls with the cell phone at your literal ear, your brain does heat up a measurable amount (if you have the right equipment), or so I've heard.

To confirm this "both sides need to be roughly equally strong to hear each other" story, do a 30 seconds search online, or for a practical example you could look at the dBm (decibel-milliwatt) values your WiFi devices' output (the access point versus the stations; it's not the same as cellular but in the case of WiFi both are under your control so you might be able to observe both values).</comment></comment></comment></comment></comment></comment>


Show HN: Tably – Python script for converting .csv to LaTeX tables - <AUTHOR> https://github.com/narimiran/tably <comment><USER2> If you have the csvsimple [1] latex package available this can be done as latex macro. This allows for easy integration with other latex packages (drawing stuff with tikz for example [2]).

Python and a makefile might perform better for larger data sets though.

[1] [https://ctan.org/pkg/csvsimple](https://ctan.org/pkg/csvsimple) [2] [http://www.godberit.de/2016/01/31/Keeping-documentation- up-t...](http://www.godberit.de/2016/01/31/Keeping-documentation-up-to-date- using-LaTeX-and-Tikz.html)

</comment><comment><USER3> If you have pandas installed, you can also use something like:

      pd.DataFrame.from_csv(path_csv).to_latex(path_latex)

More information at [http://pandas.pydata.org/pandas- docs/stable/generated/pandas...](http://pandas.pydata.org/pandas- docs/stable/generated/pandas.DataFrame.to_latex.html)

<comment><AUTHOR> > _If you have pandas installed, ..._

I'll just copy my Reddit comment when somebody notified me about `to_latex()`:

> To be honest, I didn't know this exists (and I use pandas for lots of > things). If I did, I probably wouldn't even start making tably.

> Thanks for letting me know about it, I might use it as an inspiration to > maybe add some more functionality in the future....

</comment></comment><comment><USER4> See also [http://stevecat.net/table-magic/](http://stevecat.net/table-magic/) for in-browser table conversion between CSV/TSV, HTML, Markdown, SQL (the output format) and an editable table-form.

</comment><comment><USER5> In R:

      read_csv("file.csv") %>% xtable

p.s: I don't want to suggest the the Python program is inferior. This is just an illustration showing how easy it is to manipulate table data in R. R is basically a language designed for that purpose.

<comment><USER6> about as easy in python:

       pd.read_csv("file.csv").to_latex()

</comment></comment><comment><AUTHOR> I know this is very basic and not comparable with most of the stuff posted here, but anyway...

If you have some feature suggestion, bug report, or some general (coding) advice, please let me know. Thank you in advance!

<comment><USER7> Thank you, this looks very useful to me. Saying that as someone who has spent several hours converting csv data to latex tables in the past ;)

<comment><AUTHOR> > _Thank you, this looks very useful to me._

I'm glad to hear that! :)

> _someone who has spent several hours converting csv data to latex tables in > the past_

Hopefully, tably will save you some hours in the future. If you find anything that could be improved, contact me and I'll see what I can do about it.

</comment></comment></comment><comment><USER8> either way! im going to use Latex tables more because they are so easy and so damn good lookin'

</comment><comment> cup-of-tea Why? Is CSV easier to write than LaTeX? I prefer something like org-mode tables which are actually easy to write.

<comment><AUTHOR> > _Why? Is CSV easier to write than LaTeX?_

1\. When it comes to tables, yes - CSV is easier to write than LaTeX. Everything is easier than LaTeX tables :)

2\. More serious reason - I have some lab equipment which outputs its results as CSV files, so this tool is used to convert those 'automatically' created .csv files.

<comment> cup-of-tea But isn't it just a character substitution? TeX uses & and \\\ for column and row separators, CSV uses , and newline. There's no way I'm writing either of them by hand, so why do I need to convert from CSV?</comment></comment></comment>


WeScheme (web IDE) - <AUTHOR> http://www.wescheme.org/

<comment><AUTHOR> Try this Hello world:

        (js-big-bang 0                ;; initial world
                     (on-draw ;; the dom tree renderer
                              (lambda (w)
                                (list (js-p '(("id" "myPara")))
                                      (list (js-text "hello world"))))

                              ;; the css renderer
                              (lambda (w)
                                '(("myPara" ("font-size" "30"))))))

</comment><comment><USER2> Strangely reminds me of the prediction Steve Yegge, that web-based environment is rising to status of serious competitor to {X,}Emacs.

[http://steve-yegge.blogspot.com/2008/04/xemacs-is-dead- long-...](http://steve-yegge.blogspot.com/2008/04/xemacs-is-dead-long-live- xemacs.html)

</comment><comment><USER3> Originally we had planned to include a structured editor, along the lives of DivaScheme and Scratch. This was shortly before widespread support of HTML5, so working with what we had I implemented it on top of `contenteditable`. In the end it just wasn't polished enough to ship.

</comment><comment><USER4> Thank you so much for doing this. I've been hoping someone would write a decent online REPL for a long time; hooking it into Google Docs sweetens the deal.

<comment><USER3> You're welcome! :)

Much of the credit goes to Danny Yoo for Moby -- <http://github.com/dyoo>

</comment></comment><comment><USER5> To gain any sort of traction, I suggest allowing more choices than code, log- in, or watch a video.

For someone who doesn't necessarily want to code scheme right away, log-in with their account, or put headphones in to watch a video - you've lost them immediately. Never to come back.

The option that is missing - let me read about it.

<comment><USER6> Yes, we will. In the meanwhile, you can read about it here: [http://www.cs.brown.edu/~sk/Publications/Papers/Published/ys...](http://www.cs.brown.edu/~sk/Publications/Papers/Published/yskf- wescheme/)

</comment></comment><comment><USER7> Michael Cote at redmonk has brought this up a few times this year. Most recently, <[http://www.redmonk.com/jgovernor/2011/06/24/ide-as-a- service...](http://www.redmonk.com/jgovernor/2011/06/24/ide-as-a-service-daas- hawt-and-some-enterprise-opensocial-thawt/>);

Truthfully, I don't know that it's going to _kill_ conventional editor or editing habits (and by the time it does, I suspect that web-based IDEs will look significantly less like today's web-apps than they do today) and more that this technology will find a niche in code review, or version control interfaces, or something like that, but it's a nifty idea.

</comment><comment><USER8> Ping pong game [http://augreduvent.limewebs.com/Informatique/ping- pong/ping-...](http://augreduvent.limewebs.com/Informatique/ping-pong/ping- pong.htm)

Source code :

[http://www.wescheme.org/openEditor?publicId=screw-salon- ciga...](http://www.wescheme.org/openEditor?publicId=screw-salon-cigar-liter- biped)

</comment><comment><USER9> I haven't had a chance to look at this properly yet but maybe somebody can clarify a few things.

This lets me do scheme->js in the browser using moby, which is implemented in racket. So my code gets converted to js on the server hosting this site. Does this mean I can (require ...) other racket libraries as well?

Bookmarked for later.

<comment><USER9> OK, couldn't wait. require doesn't seem to work but that's as expected since they don't know what I might load.

moby documentation: [http://planet.racket-lang.org/package- source/dyoo/moby.plt/3...](http://planet.racket-lang.org/package- source/dyoo/moby.plt/3/10/planet-docs/manual/index.html)

World: <http://world.cs.brown.edu/1/htdw-v1.pdf>

I'm playing now. Will post some code when I have it working.

</comment></comment><comment><USER10> Regarding comments about Web IDEs replacing Emacs, I don't see how this could happen with current editing capabilities of those IDEs. While they might be better at storing your sources safely, their editing capabilities just suck compared to Emacs or Vim. Working with code isn't only about entering text.

</comment><comment><USER11> You can hear more about Danny Yoo's new compiler at RacketCon (<http://con.racket-lang.org/>), taking place at Northeastern on July 23 & 24.

</comment><comment><USER12> How is this different than <http://cloud9ide.com/> ? Cloud9 seems to be much more mature and feature rich as well.

<comment><USER9> this is for writing scheme and compiling to js for running client-side. Cloud9ide seems to be an ide for writing directly in js or php/ruby etc.

<comment><USER6> Also, WeScheme goes to great pains to implement the "world" computing model, rather than only exposing the underlying computational model. Implementing this atop JavaScript is a fair bit of effort. That's where our resources have gone; Cloud9 has spent its effort elsewhere.

You can read about the model here: [http://www.cs.brown.edu/~sk/Publications/Papers/Published/ff...](http://www.cs.brown.edu/~sk/Publications/Papers/Published/fffk- functional-io/) A fun exercise for hackers is to guess the consequences of this for running atop JavaScript.

</comment></comment></comment><comment><USER13> Very cool. I tried to run the form example in the API documentation, and it complains that js-bidirectional-input is undefined. Am I doing something wrong?

<comment><USER9> It's not you, I get the same error.

<comment><USER14> Apologies; some of the documentation is outdated.

I'm in the middle of a revamping of the runtime and its libraries, which will hopefully be released in a few weeks.</comment></comment></comment>


Ask HN: How can introverts survive in environments built for extroverts? - <AUTHOR> At the end of the day, and even more so at the end of the week I am so drained.  My weekends and evenings exist solely to re-energize for the days and week ahead. Hobbies I used to have are long gone. But it's not depression.
In a very loud and open office space the stimuli are never ending. There's literally no place to go either for me at least.
Any advice? Nobody seems to understand. <comment><USER2> How much of your job requires interacting with people?

Can you work from home? (Can you work from home one or two days a week?)

Can you work different hours, so that you overlap for half the day instead of all day?

Can you face away from other people? Sightlines are important. Can you block other people out with a trifold poster board? ([http://www.amazon.com/Elmers- Premium-Tri-Fold-Display-902091...](http://www.amazon.com/Elmers-Premium-Tri- Fold-Display-902091/dp/B00753IXV8/) \-- $12)

Can you reduce noise with earplugs? Reusable, washable, attached with a cord or band -- they're cheap.

<comment><USER3> If none of the "stay there" solutions work for OP, and you've mentioned it to management, then leave. The majority of your day should not be stressful when there are alternatives.

</comment></comment><comment><USER4> Have you been up-front about this problem with your coworkers and your manager? Extroverts won't intuit introverts' needs (in my experience) and you'll probably have to advocate for yourself in very clear language. If you can work from home sometimes or work different hours, like dsr_ suggested, that's also worth a try.

<comment><AUTHOR> I have and the solution was to something that suited extroverts.

<comment><USER4> I'm sorry, that sucks :( Maybe this company just isn't the right place for you.

</comment></comment></comment><comment><USER5> Not all workplaces have an open office space. The answer is to find another job and make sure it has something will work for you.</comment>


Easily Add Offline-First to Any Application - <AUTHOR> https://replicache.dev/ <comment><USER2> Hi Hacker News!

I'm starting a new company attempting to solve the offline-first / mobile-sync problem once and for all.

Replicache makes your mobile, web, or desktop application blazingly responsive, by buffering all reads and writes to a local cache (aka "offline- first").

Replicache works with just about any existing stack. And while conflicts are inherent to any system like this, conflict resolution in Replicache is pretty painless.

We're looking for groups to partner with would like early access. If that sounds interesting, please reach out!

\- Aaron</comment>


Interim Yahoo CEO Ross Levinsohn leaves company - <AUTHOR> http://finance.yahoo.com/news/interim-yahoo-ceo-ross-levinsohn-220159342.html

<comment><USER2> Good for Ross that he got a payout. Ross is a terrific guy - I worked with him at Altavista - but I can imagine a real culture clash between his style and Marissa's. Love to see what he gets up to next.

He would have made a great CEO of Yahoo, better than the predecessors. But a completely different style than Marissa.

Marissa is a fascinating choice. She'll shake the place up, all metrics and data driven, make huge changes. It could be a big success, or the place may be too brittle. Either way, something to watch.

</comment><comment><USER3> I did this once when I was nine years old.

We were playing soccer and I was the team captain. I picked the team, but no one would pass me to the ball, so I quit and went home.

(In seriousness though, it's hard to make any opinion on this decision without an actual statement from Levinsohn, which I seriously think he should make. Because at the moment, my perspective is that he just threw all of his toys out of the pram). And also, correct me if I'm wrong, but I don't know of any profession where an "ACTING"-position would then have a high fulfillment rate for going on and taking the actual job.

Teaching for example, you get acting heads all the time, when the deputy steps up, but (almost) _never_ will the acting head secure a permanent position. (Perhaps it's different in other countries). And yes, I agree with Chuck below.

<comment><USER4> You can be a bit more charitable than that. Being the acting CEO and then not the real CEO is like dating someone, proposing to them, and then have them get engaged to someone else. Sure you can remain friends but its always uncomfortable around the fiance, the questions "What did they have they I don't?", the whispers, the pity.

People, who are professionals, give room to the new leadership, if they were the former leadership they do that by leaving.

</comment></comment><comment><USER5> It's sad for Yahoo that he's leaving, as his experience really would be complementary to Mayer's (media, advertising, familiar with Yahoo!, ...). I'm sure he felt bad on being passed over for CEO, but he would have been great as head of the media part of the business, which IMO is worth at least half of the CEO's compensation.</comment>


Why Data Is Not the New Oil - <AUTHOR> https://truthonthemarket.com/2019/10/08/why-data-is-not-the-new-oil/ <comment><USER2> I think this comparison is from an Economic point of view and how Oil is directly equal to money. And the way the world's economy is pushed with Oil.

But important factor to consider is that data without context is probably useless; though you can develop the context over time. Amazon has been collecting data and using it to optimize how to suggest more productsto be bought as a group.

And probably that's why it might the Oil of future; even if we can argue about the statement from both sides.

The reason for Google, Facebook being free is that data is Oil for them. And they are using it the best they can to get more of it.</comment>


Tweet at Senate has been restricted - <AUTHOR> https://medium.helloworld.ng/tweet-at-senate-has-been-restricted-599d8fd462e4#.frf4queli <comment><USER2> Likely flagged by an automated algorithm, as it should've been. Automated tweeting at an account daily from a bunch of different accounts is blatantly spammy.</comment>


Even new phones are no longer guaranteed to have the latest version of Android - <AUTHOR> https://www.theverge.com/2017/11/17/16669378/oneplus-5t-razer-phone-android-oreo-missing-why <comment><USER2> Do the majority of customers even care if they have the latest version? Heck even on iOS, I don't recall the last time anyone outside tech even discussed the version of the OS. Pretty much in line with my experience of what happens on the desktop.

<comment><USER3> That's probably because it's trivial for people to update iOS, making it a non-issue.

New iPhones don't come with iOS 8 or 9 (let alone 5). Worst case is 10 because it was manufactured before 11 released.

And people do care. That's how you get some new features like new Emoji or the upcoming Apple Pay for iMessage.</comment></comment>


Smallest Federated Wiki Videos - <AUTHOR> http://wardcunningham.github.io/ <comment><USER2> Searching for the code, find it @ [https://github.com/WardCunningham/Smallest- Federated-Wiki](https://github.com/WardCunningham/Smallest-Federated-Wiki)

</comment><comment><USER3> Really like the way Ward and the others involved take the wiki idea one step further and solve the task by designing a protocol for sharing bits of information instead of writing yet another wiki engine.

The are of course writing another wiki engine, but as a reference implementation. I sincerely hope that others pick up the idea and protocol and include these mechanisms for information and data sharing into their products.

Wondering whether they are aware of the micro formats and whether these formats are being used in their implementation ([http://microformats.org/](http://microformats.org/)).</comment>


Kee Bird - <AUTHOR> https://en.wikipedia.org/wiki/Kee_Bird <comment><USER2> I watched the "Frozen in Time" documentary about this plane and it was heart wrenching to watch the guys' faces when the plane burned down on the runway after so much time and effort spent in adverse conditions.

If anyone needs a not-so-gentle reminder about failure, watch that documentary.

</comment><comment><USER3> The documentary: [https://youtu.be/1u4YBwjQTds](https://youtu.be/1u4YBwjQTds)</comment>


Private IP Addresses for Cloud SQL - <AUTHOR> https://cloud.google.com/blog/products/databases/introducing-private-networking-connection-for-cloud-sql <comment><USER2> Glad to see this finally added to the cloud SQL offering, it's a been a huge outstanding limitation compared to RDS for a long time now.</comment>


A micro-manual for Lisp implemented in C - <AUTHOR> http://nakkaya.com/2010/08/24/a-micro-manual-for-lisp-implemented-in-c/

<comment><USER2> Cool article, but his interpreter is broken.

Both repl mode and file mode just spew errors.

gcc version 4.1.2

[briang@ ~]$ gcc lisp.c -o lisp

[briang@ ~]$ ./lisp test.lisp

> Error.

> Error.

> Error.

...

<comment><USER3> It worked fine for me:

$ gcc --version

i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5664)

...

$ gcc lisp.c -o lisp

$ ./lisp test.lisp

> A

> (A B C)

...

<comment><USER2> Tried clang trunk and ICC 11.0, both give me the same result I originally posted.

I supposed it could be some weird difference between OSX vs Linux.

<comment><USER4> Verified. Worked fine on my Macbook (i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5493)), broke on a Linux box (gcc (GCC) 4.1.2 20070626 (Red Hat 4.1.2-14)).

This will drive me crazy.

Edit: it has to do with 32-bit and 64-bit. When I compile explicitly as 32 bit on Linux (which is a 64-bit machine), the error goes away. Probably related to how he casts everything to an object, and assumes things will be in certain places.

<comment><USER5> It's this: [http://nakkaya.com/2010/08/24/a-micro-manual-for-lisp- implem...](http://nakkaya.com/2010/08/24/a-micro-manual-for-lisp-implemented- in-c/#comment-70938308)

I suspect Red Hat's gcc is aligning structure members on 64-bit boundaries.

<comment><USER4> Excellent! I thought name looked suspect.</comment></comment></comment></comment></comment></comment>


Ask YC: Is a particular methodology of customer service advocated at YC? - <AUTHOR>

I've noticed that a number of YC funded startups are known for their fanatical customer service/support.  ( Posterous, Wufoo ...) PG also has the issue as #24 for startups he would like to fund:
http://ycombinator.com/ideas.html
Is there some institutional knowledge or methodology that YC has that is specifically useful for web startups?
Does anybody else have good systems that ensure quality customer service? <comment><USER2> To us, Wufoo is the model for customer service. So the one sentence version is: do whatever Wufoo does.

The most conspicuous thing they do is to respond very rapidly. Meaning in minutes. But they are not just fast. They listen to their users, and understanding what they need guides their future development.

That's probably the most important thing to know about customer service. It's not just something to make users feel better. It's an incomparably valuable source of information. One of the reasons we advocate launching quickly is to get access to this information quickly.

<comment><USER3> I've seen the same from Tipjoy. I got better support from Ivan in 20 minutes than most tech companies provide in any amount of time.

<comment><USER4> Wow, thanks :)</comment></comment></comment>


How not to Pitch To Y Combinator (2006) - <AUTHOR> http://damienkatz.net/2006/11/how_not_to_pitc.html

<comment><USER2> I don't remember this interview very well because it was several hundred interviews ago, but IIRC we were already sufficiently sold on CouchDB just based on its reputation, and the main thing we were trying to figure out was whether Damien would be able to survive as a single founder. Which would explain why our questions might have seemed random to someone who thought the point of the convo was to sell us on the technology.

<comment><USER3> In this type of situation, simply telling someone the concern you have and asking to address it may lessen the misunderstanding.

<comment><USER2> We probably did, though I can't remember for sure.

</comment></comment></comment><comment><USER4> You wouldn't get to give a slick presentation even if you had one. We had a few bullet points on a piece of paper that we wanted to hit and I think we maybe hit one of five (and were accepted). We actually had a bunch of supporting materials that we never used. The starting point generally seems to be the demo and then your ability to talk about it. We did have various demo-y things on my laptop loaded up and ready to go, so when there was a question of, "Can you do..." I could just pull it up immediately.

But he's right that you should pitch lots of people. That gets you used to talking about what you're doing. It's really easy when you've been too close to an idea for a while to assume what you're saying makes sense, when it often doesn't without the right context.

I wrote some about our interview here:

[http://blog.directededge.com/2009/11/05/the-interview- with-y...](http://blog.directededge.com/2009/11/05/the-interview-with-y- combinator-thats-not/)

</comment><comment><USER5> Favorite line: "... This is just the first in a long string of rejections I have planned."

This is going on my wall of inspiring quotes.

<comment><USER6> Yup

</comment></comment><comment><USER7> Side note. I think this speech by Damien Katz is one of the most inspiring I've ever heard.

<http://www.infoq.com/presentations/katz-couchdb-and-me>

<comment><USER8> I am half way through it and couldn't wait to confirm this.

Damian Katz is a fine human being, and an artist. Never knew much about him before, but as of now, I consider him a role model.

</comment></comment><comment><USER9> I had a YC interview in 2008, and the experience was the same. We kept trying to give a demo, and they kept sidetracking us. I think they do it on purpose to see how you handle the situation. I didn't handle it well. I basically turned into an argument :)

<comment><USER2> "I think they do it on purpose to see how you handle the situation."

We do so many interviews a day that we don't have the energy to be tricky. The reason we keep asking questions is simply that we have questions.

</comment></comment><comment><USER10> I wonder how much things have changed. pg and co. now have 4 years of experience funding hundreds and interviewing probably 10s of thousands of startups, I assume they're much better at it.

</comment><comment><USER11> Everything I've seen on HN leads me to believe YC would rather invest in a Woz than a Jobs.

<comment><USER2> You need both (or one person who has both characteristics).

<comment><USER12> Just curious, how often do you interview a founder that has both characteristics? I've met a few people like that, but it's definitely a rarity.

<comment><USER2> We often interview people who have both to some degree-- i.e. are both formidable people and good hackers. It is of course much rarer to meet someone who is as good as each of those two at the part they were best at.

</comment></comment></comment></comment><comment><USER13> I thought y combinator were nice people, and the investors were the bad guys, danielriberio you rule!

<comment><AUTHOR> I'm sorry, but this is not a YC grievance comment by any stretch. And it is not mine. Damien Katz wrote it a long time ago, and he is not bitter.

I submitted to HN as I could not find it posted here, and wanted to know the community had to say. I had in mind it would foster a discussion on YC interview tips and experiences, which are sorely lacking arond the web (specially failed interviews, and these teach more than successful ones).

NOTE: There are some public YC interviews on the web, namely: Adioso's (<http://tomhoward.co/our-y-combinator-interview-experience>) and Directed Edge's ([http://blog.directededge.com/2009/11/05/the-interview- with-y...](http://blog.directededge.com/2009/11/05/the-interview-with-y- combinator-thats-not/))

This is also an old post (2006), and YC guys probably learned a lot in the mean time. About Damien's comment _It's a Flawed Process. Tough Shit Fella_ , even pg admitted it can happen when talking about competing seeds on his recent interview to Forbes ([http://www.forbes.com/forbes/2010/1108/best- small-companies-...](http://www.forbes.com/forbes/2010/1108/best-small- companies-10-y-combinator-paul-graham-disruptor_4.html)):

 _Graham welcomes the competition. "It's better for entrepreneurs," he says. "If we make a mistake and don't fund somebody great, they still have a chance."_</comment></comment>


People are actually drilling holes in their iPhone 7s to make a socket - <AUTHOR> http://www.craveonline.com/design/1124445-people-actually-drilling-holes-iphone-7-make-headphone-jack#/slide/1 <comment><USER2> I think most of them are probably trolling, can be 1 or 2 who tried for real.

On a side note, there is no speaker just a plastic thing behind the left speaker holes in the actual iphone 7, so I can see why it can make sense somehow for certain people.

<comment><AUTHOR> Even if 1 or 2 tried for real, it's still an indication of...something. The amount of logic thought that needed to NOT occur for thinking this makes sense is staggering.

<comment><USER3> Might also be 0.

<comment><AUTHOR> True. I wouldn't put my money on it though. People who have actually done it (and failed) may be embarrassed enough to not advertise it.

<comment><USER3> I think you're mostly just hoping its not 0 because its funny and entertains you.

<comment><USER3> not making a moral judgement here, btw. just arguing about the liklihood of it being 0.

</comment></comment></comment></comment></comment></comment><comment><USER4> Ever get the feeling that these "People Are ___ing!" stories are either lies, or cases of HUGE TREND (teeny weeny sample size). I can't say this story breaks the mold. A believable headline would be "One Person recently drilled a hole in his iPhone... allegedly"

</comment><comment><USER5> I'd just say people who buy into a product for 'ease' and 'beauty' deserve to be trolled like this. I've dealt with a ton of people on iphones when working at EIG and I can say honestly that 98% of all email issues are because people can't get macmail to work, and even apple 'geniuses' have no clue.

It's not your host's fault you can't freaking get your email to work it's Apple's! The settings are the same for all providers the protocols are exactly the same, the only difference is server, if we give you that information and you can't figure it out then you're SOL - use gmail instead.

</comment><comment><USER6> Is the premise of this article really based on the author believing people are telling the truth in the comments section of YouTube?

</comment><comment><USER7> Obviously a hoax. Do you think those comments are from real users?</comment>


SimplyInsured (YC W13) Scores $5.9M Series A from Polaris - <AUTHOR> http://techcrunch.com/2015/06/30/simplyinsured-series-a/

<comment><USER2> Congrats! I've heard nothing but great things about you folks

</comment><comment><USER3> Congrats team

</comment><comment><USER4> Go team!!</comment>


SOS HN: Set up live early warning system for spoofed/deep fake news feeds - <AUTHOR> To all HNers. Help set up a live near real-time Internet-wide early warning system for spoofed/fake news feeds. More details to come.
What to do now...
1. Set up video cams in front of live TV's and record the live news streams of the different news channels from different regions on different satellite/cable providers.
2. Trust but verify. We'll verify the content from the different streams later.  The more eyes on this and the more independent stream signal detectors the better.
3. Set some up now and spread the word... <comment><USER2> [https://archive.org/details/tv](https://archive.org/details/tv) ?

<comment><AUTHOR> Live near real-time diverse independent detection for all providers in all regions/locations.

Think Tsunami early-warning system for the Web...

[https://en.wikipedia.org/wiki/Tsunami_warning_system](https://en.wikipedia.org/wiki/Tsunami_warning_system)</comment></comment>


Infected people without symptoms might be driving the spread of coronavirus - <AUTHOR> https://www.cnn.com/2020/03/14/health/coronavirus-asymptomatic-spread/index.html <comment><USER2> Just FYI, if you don't have symptoms or direct contact with someone with COVID (basically if you don't have a high probability of having COVID _before_ you have the test) a positive test still probably means you don't have COVID:

Sample numbers:

* Population of US: 3e8

* People that have COVID right now in the US: 1e5 (30x the confirmed cases right now)

* Disease rate: 3e-4

* FALSE POSITIVE RATE for COVID test: 1% (likely higher)

* TRUE POSITIVE RATE for COVID: 100% (definitely lower)

If you take the test, don't have symptoms or direct contact, and then the test comes back positive for the disease, then under these pretty reasonable assumptions, the likelihood you have the disease is

P(actually have COVID| positive test) = 3e-4 /(1e-2(1-3e-4) +3e-4) = 2.9%

<comment><USER3> Whole this is a correct application of Bayes Rule, a risk adjusted perspective still indicates that you should act as if you do have the virus. This is because the probability of having the virus multiplied by the damage of an infected person spreading the disease is much higher than the false positive probability times the personal impact of self-quarantine.

<comment><USER2> Yea I agree that it's still useful like you say as just a way to screen for "higher risk" individuals and have them isolate, but still food for thought.

</comment></comment></comment><comment><USER4> I wish there were more testing kits available, I wouldn't want to be a vector of infection if I have no symptoms but am still carrying the virus. Im in the US and testing kits are not a thing yet

<comment><USER5> Testing kits aren't a thing in the US unless you have symptoms _and_ can demonstrate contact with a confirmed case. :-/

</comment></comment><comment><USER5> I mean this is standard - almost every viral disease has a period where you're contagious (viral particles sloughing off), but Aren't yet showing any symptoms.</comment>


Ask HN: YC for non-consumer technology startups? - <AUTHOR>

Most of the high profile YC success stories seem to be consumer-facing, web and mobile startups.  Others, like Heroku, are still tightly bound to that same business community, serving mostly agile web based startups.
What do people think about YC for other business types?  I'm particularly interested in disruptive technology innovation in established, well financed industries.
Questions:
* Has YC been interested in opportunities like this?
* Would YC be as helpful for opportunities like this?
* Are there any notable success stories?
Thanks! <comment><USER2> For what it's worth, this: <http://ycombinator.com/ideas.html> speaks a little bit to your first question. It seems that they are definitely interested in areas other than just consumer-facing web and mobile applications.

As to the rest... I'll be interested to hear those answers as well.

<comment><USER3> Yeah, items #4-7 are all enterprisey things. Several others look like stuff for businesses.

</comment></comment><comment><USER4> It is somewhat ironic that a lot of PG's essays talk about finding the "next Google" or "next Microsoft" and investing in disruptive new technology. But when you go through the YC companies at <http://yclist.com/> they are almost exclusively consumer/social web apps and knock-offs of existing services. Few would qualify as new technology.

</comment><comment><USER5> <http://octopart.com>

</comment><comment><USER6> www.techwildcatters.com does more enterprise projects and not consumer.</comment>


\d less efficient than [0-9] - <AUTHOR> http://stackoverflow.com/questions/16621738/d-less-efficient-than-0-9 <comment><USER2> I wonder what kind of security vulnerabilities could be looming in validators not expecting non-ascii 0-9 digits and using this regex?

<comment><USER3> As of PHP 5.3, PHP-powered software is safe. Using

        is_numeric('١٣٦٨') // -> false
        preg_match('/\d/', '١٣٦٨') // -> no match / false
        filter_var('١٣٦٨', FILTER_VALIDATE_INT) // -> false

Which I'm thankful for. I should hope that most people understand base-10 and ascii numbers. I don't want to have to worry about properly validating/handling unicode characters with number parsing.

<comment><USER2> In PHP 5.4.15, I get:

      var_dump(preg_match('/\d/u', '١٣٦٨')) -> 1
      var_dump(preg_match('/\d/', '١٣٦٨'))  -> 0

</comment></comment></comment><comment><USER4> Regex is a really powerful tool, but sometimes I wonder just how well people actually understand it as the vast majority of people (myself included) seem to be self taught in the syntax - only learning the bits they need as and when they need it.

The problem is, regular expressions is packed full of counter intuitive idiosyncrasies which make perfect sense once they're explained, but are far from obvious. Take this for example:

        s/(^\s+|\s+$)//g

is slower than running two separate regex, like so:

        s/^\s+//;
        s/\s+$//;

So it does make me wonder the number of bugs that have been introduced to software by bad regex.

<comment><USER5> Use the s/, Luke

        s/^\s+?(.*)\s+?$/$1/g

<comment><USER6> That wouldn't work. First, it will only grab at only one whitespace character at the beginning and at the end. Second, if there was whitespace at the beginning or the end but not both, it won't match at all. "^\s* (.* ?)\s* $/$1/g" would work.

<comment><USER5> point being: get rid of the anchors in the alternation.

</comment></comment></comment></comment><comment><USER7> Short answer: \d includes all the Unicode characters from <http://www.fileformat.info/info/unicode/category/Nd/list.htm>

<comment><USER8> Is that actually a good thing? If I'm using \d to validate numbers (for example to check before string to int conversion, or IP address, phone number, or any other use), other unicode digits are not helpful to me.

It's great to support unicode, but I don't think the \d should have been extended this way. Add a \ud or something.

<comment> Tuna-Fish Given that the category is specifically "decimal digit", I think it's good, so long as the number parsing code accepts them all too.

<comment><USER9> Yes. Assuming that, it's good. I think that assumption is likely to be invalid in many cases, though.

</comment></comment></comment></comment><comment><USER10> The quoted benchmarks all complete in fractions of a second. Not a good sign. They _may_ be reliable results, performed accurately, but why risk it?

IMO you should be running something for much longer, to protect against random short spurious events. e.g. a task reschedule, interrupts, etc could add significant variances. It wouldn't hurt to add a few more zeros to the loop and wait a minute for the results.

<comment><USER11> Those events are all on the order of micro-seconds, far shorter than the benchmark duration. A tenth of a second is an eternity on a modern CPU.

<comment><USER12> One of those events, yes. But it's possible for the system to be experiencing a bursty workload unrelated to your benchmark, and many of those events may happen. There's also the problems of startup effects, both at the high level (the VM, which in this case is .Net), the medium level (major and minor page faults) and the low level (caches).

My rule of thumb is that benchmarks which are supposed to be bound by the processor and memory should last at least 60 seconds.

<comment><USER11> VM startup effects I can get behind as a confound; page faults and cache effects are below millisecond level (filling the beefiest Sandybridge Xeon L3 cache you can buy from a completely cold state is on the order of 1 millisecond, and a micro benchmark like this doesn't come close to using that much data).

I would also note that one is sometimes in the position of needing to measure performance of a compute-intensive task that is latency-critical but will not be running constantly; in such a scenario, using long-running benchmarks can be misleading because the processor will become thermally constrained and drop in and out of lower voltage/frequency bands, further confounding measurements.

I agree with you that a tenth of a second is on the shorter side of what I would like to see in such a benchmark, but I don't think the situation is as dire as your first post suggested; unless the system is _exceptionally_ noisy, the measurements seem to be valid, despite the relatively short duration. 60 seconds is overkill for a simple task like this.

<comment><USER12> Again, it's _repeated_ page faults and cache effects.

When you run experiments, you want to draw conclusions. To have confidence in your conclusions, you want to eliminate as many variables as possible. In my work, I set the time of the benchmark high enough that I am confident that it is very unlikely for these effects to have a significant influence on the results. When you're drawing conclusions and publishing the results that will be scrutinized by peers, "overkill" is the way to go.

Also note that I was not the first poster on this subject.

<comment><USER11> You cannot eliminate confounds by simple over-measurement. "Overkill" provides false confidence.

The only way to eliminate confounds is to understand them, and either control for them or bound them to an acceptable error tolerance. For a simple benchmark such as this, cache misses and page faults reach steady state within the first millisecond of operation; the error they contribute to the measurement of a .1s benchmark (even in aggregate) is no more than 1% — almost surely acceptable.

I have no experience with .Net, and would not care to make any estimates on the contribution of VM startup time, but the experiment in question does not include the VM startup in the measurement.

If a system were so noisy as to have interrupt storms on the order of .1s, then I would not be comfortable with timings that run for 60s either. I would much rather have statistics on 100 measurements of .1s each, which would make clear the impact of such anomalies (while still being faster to gather). There are many events that can make such measurements slower, but almost none that can make them faster; the distribution of the measurements is typically well- modeled by a Poisson distribution with bias. If one is actually trying to eliminate the effect of those events from the measurement, taking the minimum over many short samples is actually much closer to the truth than averaging over one long sample. If instead one is trying to include the effect of such events, then a different statistic would be in order.

</comment></comment></comment></comment></comment></comment><comment><USER13> Python's methods on unicode strings also apply this logic. E.g.:

         >>>  u'١٣٦٨'.isdigit()
         True

        >>> int(u'١٣٦٨')
        1368

I suppose this could be potentially abused if you are storing and displayeing what is supposed to used as a number as unicode text, but later convert it to a number. E.g. an online shop where you are asked whether you want to pay '5꯸' for some item which looks like 5 plus some weird square, but is really int(u'5꯸') => 58 -- <http://www.fileformat.info/info/unicode/char/abf8/index.htm>

</comment><comment><USER14> The fact that character ranges like [a-z] can depend on the value of LC_COLLATE is also something not many people are aware of.

      $ echo "ä" | LC_COLLATE=C grep '[a-z]'
      $ echo "ä" | LC_COLLATE=en_US.UTF-8 grep '[a-z]'
      ä

For common values of LC_COLLATE, the range [a-z] does not exclude accented characters and umlauts.

</comment><comment><USER15> I was a bit surprised that Perl does _not_ seem to be matching Unicode digits. Anyone know why?

        $ echo '0' | perl -pe 'print "yes: " if m/\d/'
        yes: 0
        $ echo '੧' | perl -pe 'print "yes: " if m/\d/'
        ੧

<comment><USER16> You have to tell perl to expect utf8 from stdin (switch -C).

      $ echo '੧' | perl -C -pe 'print "yes: " if m/\d/'
      and
      $ perl -e 'use utf8; print "yes\n" if "੧" =~ m/\d/;'

both work :)

<comment><USER17> `man perlunicode` is chockfull of utf8-related stuff (and it's _looong_ ): <http://perldoc.perl.org/5.14.0/perlunicode.html>

</comment></comment></comment><comment><USER18> The test code creates a new regex every time, would be interesting to see how it works with a compiled and reused regex.

<comment><USER10> It compiles it once and then matches it against 10000 strings.

</comment></comment><comment><USER19> There seems to be a tiny bit of difference in Ruby too. This code:

        require 'benchmark'

        def random_string(length)
          result = (1..length).map { (65+rand(26)).chr }.join
          result[rand(length)] = rand(10).to_s if rand > 0.5
          result
        end

        Benchmark.bmbm do |b|
          b.report("\\d") do
            (1..1000).count { random_string(1000).match(/\d/) }
          end

          b.report("[0-9]") do
            (1..1000).count { random_string(1000).match(/[0-9]/) }
          end

          b.report("[0123456789]") do
            (1..1000).count { random_string(1000).match(/[0123456789]/) }
          end
        end

gives:

        ~/Code/ruby% ruby regex.rb
        Rehearsal </comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>
        \d             0.690000   0.000000   0.690000 (  0.712500)
        [0-9]          0.690000   0.000000   0.690000 (  0.703990)
        [0123456789]   0.680000   0.010000   0.690000 (  0.705759)
        </comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>--- total: 2.070000sec

                           user     system      total        real
        \d             0.710000   0.000000   0.710000 (  0.791722)
        [0-9]          0.700000   0.000000   0.700000 (  0.708210)
        [0123456789]   0.690000   0.010000   0.700000 (  0.713355)

</comment><comment><USER20> Noted here that modifying \d to only include [0-9] yields \d more efficient <http://stackoverflow.com/a/16622773/1943429>

</comment><comment><USER21> I tend to use ranges (e.g. [0-9]) as they seem to me to be more standard than the token for "any digit" (often \d, but in elisp (Emacs) it's [:digit:])

</comment><comment><USER22> Interesting to see these missing, which are 1 and 1, respectively: [一, 壹]

<comment><USER23> I think that's because they are treated as words, rather than digits. The same way that \d won't match "einz".

</comment></comment><comment><USER24> in C#

<comment><USER24> Here are some results in Javascript: <http://jsperf.com/digit-regex>

</comment></comment><comment><USER25> Maybe the order in which the Regexes are evaluated is also important due to caching etc. Has anyone tested if results are different when changing the order?

</comment><comment><USER26> What is the need for those "mathematical monospace/bold/sans" characters? Should that be a font issue?

<comment><USER27> Fonts are about different representations of the same symbols. Monospace/bold/sans are _different_ symbols in mathematics.</comment></comment>


Google+ has a new Favicon - <AUTHOR> https://ssl.gstatic.com/s2/oz/images/faviconr.ico

<comment><USER2> I liked the old one. This feels like a branding play to stand out against the ubiquitous Facebook blue, but I don't like it. Burnt orange usually isn't a good look for the web.

</comment><comment><USER3> Most important news ever. Really.</comment>


Function Currying in Go - <AUTHOR> https://medium.com/@meeusdylan/function-currying-in-go-a88672d6ebcf <comment><USER2> Compared to other languages, I find Go's syntactic support for partial application and currying lacking, and every http.HandlerFunc I weep for the redundancy I create.

I get that that is Go's design philosophy, but IMO a little syntactic sugar would be nice.

<comment><USER3> GO syntax is very regressive comparing to where we hopped programming languages should go.

I believe GO success is partly because in recent years, we have many new specialized engineers that programming isn't their main focus (DevOps, Data Scientists, SREs) and naturally they are looking for tooling with shorter learning curve.

Also when you consider how many developers have a hard time to learn GIT after so many years, you realize why companies need something as simple as GO comparing to Rust, or Java comparing to Scala for instance.

<comment> F-0X >GO syntax is very regressive comparing to where we hopped programming languages should go.

Speak for yourself maybe, but I appreciate Go's overall style. You also mention Rust and Scala in your post. If that is to be the future of language syntax, I should quit.

<comment><USER4> I like that I can dive into pretty much any Go code and it won't be doing anything basic some way I'm not used to or can't very quickly figure out without having to look anything up. Kinda like Java in that regard, but even more so, plus way less verbose.

I mean it's gotten better but take Javascript where just a few years ago fundamental branching & execution order and might be provided by some library and it wasn't always _the same one_ (thinking especially of various competing promise libraries) or friggin' imports might look different. Or Rails where you might have a codebase come across your laptop that's in some version you haven't used recently and using a bunch of libraries you're not used to and now half the symbols in a given file aren't defined there or anywhere else that Grep can find and it's unclear where they even come from, so it's off to the docs for a bunch of abandoned gems to get any sense of what's even going on.

Go mostly avoids that sort of deeply unproductive junk. It does achieve that by not providing certain things, plus static typing (thank god for TypeScript, finally some sanity). I'm OK with that. I don't use it as my daily driver but I'm never even a little sad to drop into or contribute to a Go codebase, and I don't need a huge margin of uncertainty on the question "how fast can you get up to speed with this?" for Go code, which I can't say of just about any other language, sight-unseen.

<comment><USER5> If experts' code never becomes more clear and concise than novices', there's no payoff for getting better with the language, and nobody ever really gets up to speed.

<comment><USER6> > _there 's no payoff for getting better with the language, and nobody ever > really gets up to speed._

Or maybe it's an indication that I should spend less time playing code golf and more time building what I actually set out to build.

I'd imagine an expert could write a better, performant database than a novice and the fact that can be achieved in language that will effectively communicate to a novice is arguably a good thing.

<comment><USER5> Novices should see queues and sorted sets by their proper names. They should see reduce(map(filter(…))), not big loops that inline all three written from scratch repeatedly because experts didn't want the compiler doing work that might make it slower.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Call me crazy, but I find the sub-optimal "takes a lot of parameters" approach to be more readable, maintainable, and junior dev-able. Don't get me wrong, I see why that's not ideal, but currying just seems immensely more complicated and harder to maintain, teach, etc... of course I've voided any chance of membership to the "clever programmer club" with this perspective, but I stopped caring about that long ago.

<comment><USER8> Me too. I can't imagine trying to maintain a project written like this so I'd still consider you a member of the "clever programmer club" in good standing. Ideas like this make sense when the language gives you good support for them like Haskell does:

[https://www.haskell.org/tutorial/functions.html](https://www.haskell.org/tutorial/functions.html)

In languages like Go, you'll write much more "composable" software by sticking to what the language gives you instead of trying to force this in.

<comment><USER9> I remember working in a Go codebase and that was littered with functions that take functions returning funtions that take functions, etc. I couldn't imagine what compelled them to write this way. Now I can see that they just realized first-class functions, dependency injection, and maybe an article about currying. There was almost no way to follow the problem decomposition nor execution path as each aspect rather than being dealt with as encountered just got pushed into a more and more complicated function that eventually executed everything when given the input, an http request!

<comment><USER10> You see this a lot with HTTP requests. People realize they're often writing the same code over and over and so they pull it out into a middleware of some kind. It's trading off a little readability in exchange for DRYness.

</comment></comment></comment></comment><comment><USER11> You can do this, but should you?

Solutions like this, more abstraction to avoid repetitive code, are usually much worse than the problem.

> _Though we notice we only greet for mornings and afternoons so always having > to pass "Good morning" or "Good afternoon" becomes a bit annoying._

Maybe? But one can do much much much worse than "a bit annoying"

> _It would be great if we could create an instance of our "greet" function > with the first argument pinned down._

No.

<comment><USER12> Ah yes, the Go mantra. Make your code as dumb and long as possible.

<comment><USER13> Writing dumb code is often a good thing. Dumb code still solves your problem and can be structured well to keep it readable and maintainable.

I feel like code even should be dumb most of the time and only clever when needed. The hard part is to figure out when to be clever.

<comment> qt-lmao Write clever code then dumb it down

</comment></comment></comment></comment><comment><USER14> > _Though we notice we only greet for mornings and afternoons so always having > to pass "Good morning" or "Good afternoon" becomes a bit annoying._

There are solutions for this specific example not involving currying, like making a simple convenience wrapper:

      func greet(greeting, name string) string {
        return fmt.Sprintf("%v %v", greeting, name)
      }

      func goodMorning(name string) string {
         return greet("Good Morning", name)
      }

Or just binding "Good morning" to a variable like _gm_ and using that in repeated calls to greet: greet(gm, "This Person"); greet(gm, "That Person"). That is still reasonably ergonomic, and avoids repeating the greeting string.

<comment><USER15> The point is about composability of functions though. Your example does it statically. Currying and partial application allows it to be done dynamically within the running program.

<comment><USER14> Actually my example is based on partial application involving anonymous functions. It's just hand compiled.

I manually lifted the lambda to the top level, and de-anonymized it with a name. Then I realized that the only captured parameter had a binding to a string literal "Good Morning", so I propagated that literal into the closure body, eliminating the variable, and that variable's environment.

It ended up looking static due to the static literal, basically.

</comment></comment></comment><comment><USER16> I usually create a struct once my parameter list goes past 3. Then, pass that in. Or, if applicable, create a method instead.

<comment><AUTHOR> In production code I do this too. The struct approach has various advantages (nice syntax, maintainable, shows the meaning of what you are passing, ..).

I like functional programming hence the blogpost, and I like that I can do this in Go. There are places where you might want to do this but I'm not going to advocate doing this _every chance you get_.

But hey, Go lets me write how I want and that's pretty cool!

</comment></comment><comment><USER17> In Java we would use `String.format`.

[https://docs.oracle.com/javase/8/docs/api/java/lang/String.h...](https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#format- java.lang.String-java.lang.Object...-)

<comment><USER18> String.format is slow compared to normal string concatenation (i.e. "foo" \+ "bar")! Bit me once when using String.format in a hot path.

[https://stackoverflow.com/questions/513600/should-i-use- java...](https://stackoverflow.com/questions/513600/should-i-use-javas-string- format-if-performance-is-important)

<comment><USER17> Those benchmarks can't be accurate as they don't use JMH.

Edit: i do believe you that + is faster, as it doesn't need to parse the format string, but you should still always do benchmarks with JMH or they won't be accurate.

</comment></comment></comment><comment><USER19> I mean, is this even currying? Or just emulating currying?

Without it being done automatically, it is an ergonomic loss, readability loss, etc.

<comment><USER20> Don't confuse special syntax with the concept itself. Currying is merely an equivalence between functions of 2 parameters to functions of 1 parameters that return functions. Doing it explicitly is still currying all the same.

</comment></comment><comment><USER21> Off-topic: I see 'medium.com' and I don't tap because I can't face the pop-ups and nag modal. Sad to think, at one time Medium used to be the cleanest reading experience.

<comment><USER22> I usually hate these kinds of comments but I have to: Please check out dev.to. It's a minimal, fast, developer focussed blogging platform. It's open source, and quite active.

<comment><USER12> In 3 months time: Off-topic: I see 'dev.to' and I don't tap because I can't face the pop-ups and nag modal. Sad to think, at one time Medium used to be the cleanest reading experience.</comment></comment></comment>


GCHQ intervenes to secure smart meters against hackers - <AUTHOR> http://www.ft.com/cms/s/0/ca2d7684-ed15-11e5-bb79-2303682345c8.html <comment><USER2> Paywall. :(

<comment><AUTHOR> No one else reported the story unfortunately.

Basically it says that all smart meters that were to be introduced in the UK would have shared the same encryption key, which if compromised would have allowed an attack on the grid system. 2 millions installed out of 53 millions planned.

<comment><USER2> Cool. It's good to know they're not being rolled out completely blindly then.</comment></comment></comment>