Bitcoin in BigQuery: blockchain analytics on public data - <AUTHOR> https://cloud.google.com/blog/big-data/2018/02/bitcoin-in-bigquery-blockchain-analytics-on-public-data <comment><USER2> Checkout The advanced open dataset by [https://BitBank.nz](https://BitBank.nz) and tutorial for building a trading algorithm based on the open BigQuery data [http://blog.bitbank.nz/backtesting-cryptocurrency-trading- wi...](http://blog.bitbank.nz/backtesting-cryptocurrency-trading-with- bigquery/)

</comment><comment><USER3> Really cool. Would be great to have similar datasets for other coins.

<comment><USER2> Checkout The advanced open dataset by [https://BitBank.nz](https://BitBank.nz) and tutorial for building a trading algorithm based on the open BigQuery data [http://blog.bitbank.nz/backtesting-cryptocurrency-trading- wi...](http://blog.bitbank.nz/backtesting-cryptocurrency-trading-with- bigquery/)

It contains data for all the markets on poloniex

</comment></comment><comment><USER4> Great work! Love to see more datasets coming!

<comment><USER2> Checkout The advanced open dataset by [https://BitBank.nz](https://BitBank.nz) and tutorial for building a trading algorithm based on the open BigQuery data [http://blog.bitbank.nz/backtesting-cryptocurrency-trading- wi...](http://blog.bitbank.nz/backtesting-cryptocurrency-trading-with- bigquery/)</comment></comment>


Show HN: jQuery Verbose Calendar - <AUTHOR> http://iamjpg.github.com/jQuery-Verbose-Calendar/

<comment><AUTHOR> While working on a personal project I needed an engaging calendar which displayed an entire year at a time. Looking around I couldn't find one I liked so I developed my own.

I'm not sure how useful people will find this calendar useful, but I thought it was fun enough to share. Who knows, maybe even someone other than myself will find a use for it :)

</comment><comment><USER2> Love it! A suggestion, would it be great if the hover popup can include a calender week number as well as per ISO 8061.

<comment><AUTHOR> Thanks for the suggestion - It's on the to-do list now. Thanks!</comment></comment>


Ask HN: Best solution for streaming video from Mac to HDTV? - <AUTHOR>

In a nutshell: I would like to stream video from my MacBook Pro to my HDTV. That's it. I don't need any fancy Amazon, Netflix, or YouTube integration. I don't really care about listening to music or looking at photos. What's the best solution for doing this? Wired or wireless, doesn't matter.
I took a look at the Apple TV, but I've read about a lot of shortcomings of it and I don't like how everything has to go through iTunes. I also looked at the WD TV and Roku. Some people even mentioned the Mac Mini (which is a little expensive right now.) Some even mentioned getting a PS3 and streaming to it via Nullriver's MediaLink app.
Any suggestions? I'd prefer a cheaper solution (e.g., between $100-250) if that's possible. <comment><USER2> I use a PS3 + Rivet, but it's overkill if you don't play games.

<http://www.popbox.com/> or <http://www.digitalconnection.com/products/video/tvixn1.asp> look like the new hotness in this area.

</comment><comment><USER3> This is what I use:

\- XBox 360 $149

\- Nullriver Connect360 $20

The other option is to connect your MacBook Pro to your HDTV directly. Not streaming; but it's cheaper and chances are if you're watching TV you don't need your laptop anyway.</comment>


HHS study suggests Head Start programs have little effect by 3rd grade [pdf] - <AUTHOR> http://www.acf.hhs.gov/sites/default/files/opre/head_start_report.pdf

<comment><USER2> I was super surprised that the "key findings" section of the executive summary in the actual report give a very different feeling of the contents of the report than the summary provided by the Heritage Foundation researchers:

From the actual report:

Key Findings Looking across the full study period, from the beginning of Head Start through 3rd grade, the evidence is clear that access to Head Start improved children's preschool outcomes across developmental domains, but had few impacts on children in kindergarten through 3rd grade. Providing access to Head Start was found to have a positive impact on the types and quality of preschool programs that children attended, with the study finding statistically significant differences between the Head Start group and the control group on every measure of children's preschool experiences in the first year of the study. In contrast, there was little rd evidence of systematic differences in children's elementary school experiences through 3 grade, between children provided access to Head Start and their counterparts in the control group. In terms of children's well-being, there is also clear evidence that access to Head Start had an impact on children's language and literacy development while children were in Head Start. These effects, albeit modest in magnitude, were found for both age cohorts during their first year of admission to the Head Start program. However, these early effects rapidly dissipated in elementary school, with only a single impact remaining at the end of 3rd grade for children in each age cohort. With regard to children's social-emotional development, the results differed by age cohort and by the person describing the child's behavior. For children in the 4-year-old cohort, there were no observed impacts through the end of kindergarten but favorable impacts reported by parents and unfavorable impacts reported by teachers emerged at the end of 1st and 3rd grades. One unfavorable impact on the children's self-report emerged at the end of 3rd grade. In contrast to the 4-year-old cohort, for the 3-year-old cohort there were favorable impacts on parent- reported social emotional outcomes in the early years of the study that continued into early elementary school. However, there were no impacts on teacher-reported measures of social- emotional development for the 3-year-old cohort at any data collection point or on the children's self-reports in 3rd grade.

<comment><USER3> Head Start has long been known to be more positive for the parents than the children. The real problem is Head Start is too late to find some of the biggest problems. A physical problem that affects learning can be caught and corrected earlier. Instruments such as the Denver Screening, ELAP, or LAP will catch stuff in the 6 week to 3 year range. HS has a program in this range (Early Head Start) which evolved from earlier efforts (e.g. CCDP), but it is not common. 0-3 programs are better for kids long term, 3-5 year programs benefit parents more.

Disclaimer - I have 5 years of data on a study program under my belt in this area (0-3).

Advice - if you have a kid in the 0-3 range, get them screened often and get any problems corrected. It will save you grief and taxpayers money later.

<comment><USER4> Would you mind giving a quick summary of the types of screening you suggest?

<comment><USER3> I am most familiar with the three I mentioned, but check with your state government. Hearing is critical and seemed to be the most common and costly if not caught. When I get into the office I will see if I can find some of my old files. Search "Denver Developmental Screening" and "Early Learning Accomplishment Profile" to get a flavor of what I mean.

<comment><USER3> After the weekend weather, I got to work and cannot get any of the old files (about 10yrs old now). So, I will go from memory.

We used the "Denver Developmental Screening" as an initial test. You probably will remember it (or something very like it) by the use of a small bell rung near the infant to get a reaction. It covers a number of little things to check for problems.

Early Learning Accomplishment Profile or ELAP or E-LAP was use thereafter for 0-3 (LAP taking over from there). It is based on "Domains" and Skills. The domains are Gross Motor, Fine Motor, Cognitive, Language, Self-Help, and Social Emotional. Each Domain has a number of Skills (not the same number for each Domain) number from 1 to N where 1 is the "simplest" and N is the "most complex". An example skill would be "picks up spoon" in Fine Motor. As a child develops s/he should be able to work their way through all the Skills in the Domain.

Testing consisted of going through the skills until the child couldn't do a certain number of skills (I think it was 3 of 5, but I cannot remember). At which point a lesson plan was written (really, it was generated by a Visual Basic program we wrote). The lesson plan was keyed to practicing skills that the child couldn't do.

If the child fell behind what was age appropriate progress, a team looked at what might be wrong or if some physical problem was preventing progress. The amount of money that could be saved by taxpayers if just basic hearing problems were dealt with is mindblowing.

</comment></comment></comment></comment></comment><comment><USER5> I am curious about this part. Why would outcomes be better for both non- depressive 3-year-olds and depressive 4-year-olds?:

 _There is evidence that for some outcomes, Head Start had a differential impact for some subgroups of children over others. At the end of 3rd grade for the 3-year-old cohort, the most striking sustained subgroup findings were found in the cognitive domain for children from high risk households as well as for children of parents who reported no depressive symptoms. Among the 4-year-olds, sustained benefits were experienced by children of parents who reported mild depressive symptoms, severe depressive symptoms, and Black children._

<comment><USER6> Data mining.

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

</comment></comment><comment><USER7> This sounds really interesting, but the pdf is huge. Is there a TL;DR of this?

</comment><comment><USER8> This is not news. The whole purpose of Head Start is to recruit low IQ children and keep them down. (It is illegal for Head Start programs to teach reading, in order to skim off the few resources available and fritter them away on meaningless feel-good activities.)

<comment><USER3> Oh, bullsh __\- it is not illegal for Head Start to teach reading. Also, Head Start recruits on parental income level, not on a child's IQ.

<comment><USER8> Hmmmm... It appears to have changed. I swear they used to be forbidden to spend money on things like phonics.

Parental income is highly correlated with child IQ.

<comment><USER3> > Parental income is highly correlated with child IQ.

I would need proof of that statement. I can see receiving a bad education, but they are not inherently stupid.</comment></comment></comment></comment>


D 2.069.0 released, compiler automatically ported from C++ to D - <AUTHOR> http://dlang.org/changelog/2.069.0.html <comment><USER2> Daniel Murphy is the man behind getting the sources converted from C++ to D. He wrote a program called "magicport" to do the bulk of it, with some manual tweaking. The back end is still in C++, showing that you can mix D and C++ code :-)

<comment><USER3> How is the compiler bootstrapped now (i.e. compiled from source without a working D compiler)? Via the gcc D implementation?

<comment><USER4> Using the previous version write on C++. Like all compilers of other languages did when change to be write on his own language. Or do you think that the first version of C compiler was write on C ?

<comment><USER5> Funny anecdote for compiler researchers.

Niklaus Wirth did write many of his compilers in the original language (kind of).

He would write down on paper the code, using the bootstrap version 0 code style, as it was supposed to be.

Then he would manually translate that code into Assembly.

So when the compiler for the basic language was working, he could use the same code again, without additional efforts and relying on third party languages.

Specially important back in the day where each computer system had its own systems programming language or dialect of an existing one.

<comment><USER2> Computer languages were a lot simpler in those days.

<comment><USER5> Are you sure? I remember reading something about PL/I. :)

<comment><USER6> Walter has been around a long time. He knows the game. Walter, have you ever used PL/I?

<comment><USER2> Nope. But Pascal was so simple that a listing for a working subset compiler for it (written in BASIC) was published in BYTE magazine back in the 70s.

But I (and many other compiler devs) thought back in the early 80's that Ada was so complex it was unimplementable. Today that thought seems charmingly naive.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> D is a really amazing language that manages to correct the mistakes of c++ but still retain its good parts. it's a shame that it's not more popular.

<comment><USER8> I often wonder if it were released today as "new" if it would of gained plenty of more hype. One thing I think that Go has that D is lacking is the standard library. With Go you can write a web server, a mail server, and plenty of things right away out of the box. Where in D and other lovely languages you either need to get a package manager, or make your own. Outside of this small detail I think D is amazing at what it's done, and I hope to work on more projects in D in the future. I only wish schools used D in more classes. I guess the last thing it's lacking is a serious IDE. I've seen and tried a couple, but at the end of the day I end up using a text editor with a hoard of plugins.

<comment><USER6> C++ and D aren't the kind of languages that get hype because they're the kind of languages that see serious use right away. If you're deep in the trenches writing C++ and/or D code, you don't have the time or the need to generate hype. You're getting actual work done. Things are different for languages like Ruby or Go. These were used more as flights of fancy for certain people, many of whom were not getting real work done. So they had time to write lengthy blog articles, make YouTube videos, host conferences, and write really weird and absurd tutorials. These are the kinds of things that generate hype. Hype is a product of everything but code; actual code is the anti-hype.

</comment></comment></comment><comment><USER9> Not sure what I do wrong every time I try D again, I wanted to see the new backtraces worked but I still get:

      /bin/bash: line 1: 82501 Segmentation fault: 11  ./main

while I try to call a method on a null variable, which is not that friendly to newcomers.

Sample code:

      import std.stdio;

      void main()
      {
      	Greetings g = null;
      	g.hola();
      }

<comment><USER2> That code won't compile because Greetings is undefined. Hence, you may be running some other program which seg faults.

<comment><USER9> ohh, yeah, I omitted the definition of the class because I thought it'd be obvious, here it is:

      $ cat main.d
      import std.stdio;

      class Greetings {
    	void hello() {
    		writeln("hello");
    	}
      }

      void main()
      {
    	Greetings g = null;
    	g.hello();
      }
      $ dmd -g main.d && ./main
      Segmentation fault: 11
      $ uname -a
      Darwin Johan-Ride-Mac.local 15.0.0 Darwin Kernel Version 15.0.0: Sat Sep 19 15:53:46 PDT 2015; root:xnu-3247.10.11~1/RELEASE_X86_64 x86_64
      $ dmd --version
      DMD64 D Compiler v2.069.0
      Copyright (c) 1999-2015 by Digital Mars written by Walter Bright

(EDIT: added osx and dmd versions)

<comment><USER2> Replace: Greetings g = null; with: auto g = new Greetings();

<comment><USER9> I'm intentionally making it null to see how the new backtraces work.

I know it's because I'm trying to call a method on "null", but If I'm working on a huge code base, how do I debug this kind of issues if I don't have stack trace with line and error number of the error?

I'd like to get at least the stack trace and the error number with the line of the source code that caused the problem, like in golang:

      $ cat main.go
      package main

      type Greetings struct {
      }

      func (g Greetings) hello() {

      }

      func main() {
    	g := &Greetings{} // heap instance
    	g = nil           // intentionally shooting myself in the foot like I did in D
    	g.hello()
      }
      $ go run main.go
      panic: runtime error: invalid memory address or nil pointer dereference
      [signal 0xb code=0x1 addr=0x0 pc=0x2025]

      goroutine 1 [running]:
      main.main()
    	/Users/ride/Documents/main.go:13 +0x15

      goroutine 2 [runnable]:
      runtime.forcegchelper()
    	/opt/boxen/homebrew/Cellar/go/1.4.2/libexec/src/runtime/proc.go:90
      runtime.goexit()
    	/opt/boxen/homebrew/Cellar/go/1.4.2/libexec/src/runtime/asm_amd64.s:2232 +0x1
      exit status 2

<comment><USER10> null deference in D doesn't throw exceptions by default on Unix so you won't see the backtrace there.

If you are working in a big codebase and have this come up, you can enable core dumps and run it in a debugger to get far more information than just a line number (and line numbers are there too at least if compiled in debug mode).

<comment><USER9> does this mean there is not a way to get stack trace on OSX?

<comment><USER11> I have not tried it myself but there seem to be ways to get a stack trace on Linux.

[http://vibed.org/docs#handling-segmentation- faults](http://vibed.org/docs#handling-segmentation-faults)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> This is the first time I found out that DMD isn't self-hosting; I always assumed it was.

<comment><USER13> Me too. Figure something good enough to replace C++ immediately and better to develop with would make for a better compiler. Not to mention all the advantages of writing a compiler in the language in question.

Only exception I promote is writing compilers in ML (esp Ocaml) because it's so good at doing that correctly. A concentration of compiler writers on such a great tool can only lead to an ecosystem whose quality C or C++ compilers will have trouble matching. Rewriting and testing the LLVM system at the least would be a good thing.

</comment></comment><comment><USER14> I'm wondering, is there an advantage of using D over Rust?

<comment><USER15> I guess D feels more like a better C++ and Rust like a better C, but I may be under the wrong impression.

<comment><USER16> How would you consider Rust's generics as being part of a better C rather than a better C++?

<comment><USER17> C translates almost 1:1 to Rust, but when converting C++ to Rust you'll run into impedance mismatch between OO hierarchies and traits, and generics being narrower in functionality than templates.

In Rust you still can do "clever" things with generics to make them feel like C++, but the rest of the language is still closer to C: errors returned rather than thrown, no inheritance (but the "flat" OO and enums map well to what OO- like C programs do with "handles"), no constructors, etc.

<comment><USER18> > errors returned rather than thrown

WHATT??? did they do the same mistake as Go?

<comment><USER19> It depends on what mistake you mean.

Having errors on return has merits. Particularly it make error handling more deterministic. What it tends to do though, in languages like C and Go, is be very verbose.

Rust largely mitigates that through judicious usage of some of its higher levels features. Specifically its try! macro wrap up the common case of passing errors up the call stack quite neatly. With that and the pervasive RAII, Rust does a pretty good job of making error management quite unobtrusive.

It also has quite a nice way of converting errors types using traits that, in my opinion at least, handles typed error propagation better than most exception mechanisms I am familiar with.

From a personal pov, I like the determinism and I like the type conversion. I probably prefer D's scope mechanism to RAII in general as I like thinks to be as explicit as possibly but without being too verbose. But I think Rust seems to have hit quite a nice balance.

</comment></comment></comment></comment></comment></comment><comment><USER20> How's the memory-safety model in D without a GC, last time I looked at it, it seemed to me that C++ 11/14 has the better model here and now with the C++ core guidelines, it may be even better.

<comment><USER21> Could you elaborate? What about the C++ 11/14 model improves memory safety?

<comment><USER5> I imagine he/she means the newly introduced C++ Core Guidelines with the _prt<>() and _view() classes, and the adoption of Rust like lifetime analysis for static analysers.</comment></comment></comment>


The World's First Web Server - <AUTHOR> http://www.flickr.com/photos/sbisson/298160250/in/photostream/ <comment><USER2> In fact, there were two computers used for writing the first software for the WWW. The other one is exhibited in CERN's main data-center.

Here are more pictures, including one of the WWW proposal:

<http://www.flickr.com/photos/cavorite/3185731514/> <http://www.flickr.com/photos/cavorite/3185731512/> <http://www.flickr.com/photos/cavorite/3185731516/>

</comment><comment><USER3> I have a special place in my heart for NeXT machines. I have a full cube setup in my dad's basement somewhere and I have a colorstation setup on my desk now. It's mainly geek decoration. I figure if I'm ever someone with an important looking office I'll have this thing in a corner and I'll be able to judge the geeky merits of those who enter by those who know what they are/have used them.

</comment><comment><USER4> The server has a note saying:

"This machine is a server. DO NOT POWER DOWN!!"

... reflecting a common problem (perhaps the main reason behind the creation of server rooms.)

<comment><AUTHOR> I thought it was so that the IT guys could watch porn w/o being bothered by management?</comment></comment>


Build a 100% Serverless Website with AWS in 7 Easy Steps - <AUTHOR> https://sinxloud.com/how-create-build-serverless-website-steps/ <comment><USER2> "Error establishing a database connection"

That's more irony than I can handle this early.

<comment><USER3> I really hope that the website itself is running serverless on AWS, because that would be a great learning opportunity!

It's quite easy and common to wreck a database when you have it hooked up to serverless infrastructure. Depending on the DB, there can be a significant amount of overhead for each client connection. Postgres is particularly bad at this, since it spawns an entire _process_ for each client that connects. This is why connection pooling is so important for applications.

Serverless is a different beast tho; every function is isolated, so having a client pool is much harder/impossible. If you get a flood of traffic, and your function interacts with a DB, you suddenly have a ton of non-multiplexed client connections, which is all it takes to bring many databases to their knees.

If this is a serverless website, I can't wait for the author's next article, describing this issue and how they addressed it. If it's not serverless... add a client pool.

<comment><USER4> We solved it by having an EC2 connection pool instance :P it just sits there and ensures all the lambdas don't blow up the database.

Kind of defeats the point though :/

<comment><USER5> You could run pgbouncer in a fargate container in ECS. Still serverless technically?

</comment></comment></comment></comment><comment><USER6> I cringe every time I read serverless, what exactly is that supposed to convey? That the code is so ephemeral that it doesn't even exist, or does the code execute on a higher plane of existence without the need for lowly hardware and dirty power?

Furthermore, I fail to see what real world problems this architecture solves. It seems to offer rapid horizontal scaling at the cost of complexity, performance, and vendor lock-in.

<comment><USER7> (Disclaimer: I am an Amazon employee, but my opinions are my own. I don't work in the AWS organization, so my knowledge of AWS services isn't substantially different than other engineers outside of Amazon.)

There obviously are servers, "serverless" just implies you don't own them.

There's a few problems that using serverless solves:

1\. It's great for low volume sites or services. You don't need to rent hardware that runs the whole month if you only get pinged a few times per day.

2\. It reduces operational burden. A whole class of problem goes away - patching operating systems and application servers.

3\. It provides an abstraction layer for processing events. Events could be HTTP requests to a site, data coming in from an IoT device, that a new file was uploaded to S3, etc.

Performance isn't that different from using EC2 (or the non-AWS equivalents), other than cold start times, and choice of language platform can help mitigate that.

In terms of complexity, for the project work I've done the complexity isn't different than running something in any other application server.

Cloud providers other than AWS have a serverless offering, and there are frameworks out there for abstracting the differences, so tooling support doesn't have to come with lock-in. In addition, a well-architected serverless application has a pretty small layer interfacing with the serverless framework, so the code lock in is negligible.

<comment><USER8> #1 - A VPS that you can run multiple services on is 5 quid a month.

I spent more than that on a single train in to the city today.

Or you can just run from a residential connection for effectively free if your service is _that_ small.

#2 - "Serverless" paradigms change often enough that it's essentially another form of patching.

It's also obviously not true, any system you write code on needs to be patched because it has auth to this system.

#3 seems to be buzzwords with no substance?

As far as I can tell, the only "problem" that "serverless" (i.e. Our Servers) solves is Amazon not monetizing everything ever.

<comment><USER9> Quoting the price of a VPS totally misses the point - the cost is in finding one, setting it up with an environment somehow, monitoring it, making sure it stays patched and current over years and years...

While you're busy figuring out what monitoring solution to use on your VPS to monitor the running all for the sake of a little Python script, I've already set up a lambda function and maybe set a cloudwatch alarm to look after it and can move on to the next thing and leave it running indefinitely. Depending on the usecase I might not even pay a penny during that time, either.

I swear 90% of the hate for serverless purely stems from irritation at the name.

<comment><USER10> Hi - I couldn't find a way to contact you and was unable to reply in situ for some reason. Could you please say more about why you felt I had gratuitously editorialised the title to my latest submission? ( [https://news.ycombinator.com/submitted?id=isomorph](https://news.ycombinator.com/submitted?id=isomorph) )

I have checked the definition of the word "editorialise: To present an opinion in the guise of an objective report." \- I did not express any opinion in the title - I simply added context for those who don't know about the so-called "contaminated blood scandal" in the UK. Namely the three-letter detail I added was "HIV" i.e. that the UK's government-run National Health Service infected patients as young as 8 years old with HIV.

This change was not gratuitous as it added essential context to the story.

I have checked the Hacker News guidelines and since the article dispels myths people have about health systems, I felt it was pertinent.

</comment></comment></comment></comment></comment><comment><USER11> Sounds cool in theory, but my small experience with a past company's serverless API is that it made impossible to debug. It was like deploying to a black box. There's no way to hit the API locally, etc.

<comment><USER12> Have you seen this npm package?

[https://www.npmjs.com/package/serverless- offline](https://www.npmjs.com/package/serverless-offline)

I have no idea if this exists for other languages but its what lets me develop and test my functions locally before deploying them to stage/live.

Edit: they have some good examples - [https://github.com/serverless/examples/tree/master/aws- node-...](https://github.com/serverless/examples/tree/master/aws-node-rest- api-with-dynamodb-and-offline)

</comment></comment><comment><USER13> They didn't say "running it" ... just building it ...

</comment><comment><USER14> 'Error establishing a database connection'

neat :)

</comment><comment><USER15> Upvoted the main article to reveal to the world why I'm not convinced on this serverless hype.

</comment><comment><USER16> I've had a great time learning AWS Serverless. I run a financial data website where much of the data is "pre-computed" overnight and stored in a special hierarchy on S3. All other computations are pushed off to client-side JavaScript.

S3-> CloudFront CDN with Amazon API Gateway normalizing access to various endpoints (Lambda, DynamoDB). This is a great way to go and scales beautifully.

</comment><comment><USER17> This is interesting to me because my company is right in the middle of the serverless movement. I know and work with over a dozen large companies that have moved their fairly standard micoservice-oriented architecture over to 100% serverless. Lots of people in the ops world still think this is some kind of marketing nonsense or black magic though.

Long story short, when engineering teams move to serverless, they get huge scalability benefits and essentially "squashing their stack" making team engineering velocity way faster than when they were using EC2/Kubernetes/VMs.

Imagine 10 years ago, being a LAMP stack developer. One day, you find a hosting platform lat allows you to be a much more fast/effective LAMP developer while only needing to work with M+P. This is the core benefit of serverless.

Yes, there are servers under the hood somewhere at an AWS datacenter. Yes, infrastructure still gets patched, updated, etc. Serverless is all about letting engineering team focus on building the application and making the infrastructure "not my problem".

<comment><USER18> IMO Google Cloud correctly describes its serverless platform as a place to host little one-off utilities in your infrastructure that don't need to consume resources all the time. (Employee onboarding, deployment plumbing, etc). Not as an appropriate way to build your entire product.

If you're using it that way, it's really no different from Elastic Beanstalk / Heroku / ye olde shared PHP hosting. Which is fine, but not some kind of revolution. Just the pendulum swinging back.

</comment></comment><comment><USER19> I guess having a "server" would have prevented the down time. ;)

</comment><comment><USER20> So, uh, was this hosted on AWS? Slash, anyone got a cache?

<comment><USER21> Here's an archive of it [https://archive.is/zpDgO](https://archive.is/zpDgO)

<comment><USER22> Thanks. Think those guys use a server?

</comment></comment></comment><comment><USER23> Step 1: Redefine AWS as "not a server"....

Step 2: Get a database server that works...

Step 3: Congratulations: You've just served yourself!

</comment><comment><USER24> IMHO serverless is amazing if you clearly understand the bottlenecks and still see real benefits from it. Otherwise, you may exchange one problem for another (probably even worse).

</comment><comment><USER25> Serverless is the awful term. Just like a websiteless website.

</comment><comment><USER26> I think AWS is pushing more unofficial content online to attract developers. I just see an increase in HN recently!!

</comment><comment><USER27> Real serverless uses WebRTC and peer to peer connections. (Hi WebTorrent. Thanks for visiting Dat.)

</comment><comment><USER28> A lesson to be learned here

</comment><comment><USER29> That isn't completely test? "Easy" (thumbs up)

</comment><comment><USER30> Database connection failure. Not ready for HN scale I guess

</comment><comment><USER31> Seems much easier to setup an asp.net core lambda app.

</comment><comment><USER32> nice, easiest how-to ever!</comment>


Show HN: Your Twitter mentions and DMs in an email on a schedule that suits you - <AUTHOR> https://disconnect.today/ <comment><USER2> I like the idea but i think you can do better with a different revenue model. I think you should go for a yearly subscription model. That way users can pay a very small amount yearly and if you hang in there for very long, you will be in benefit .If you shut down early , users wont be pissed off.

<comment><USER3> I think this is a good idea. Also, I'm not sure I'm particularly sensitive to a price difference between $5/year and $5 once. Particularly since we're talking about a tech thing that could fade from relevance a few years from now.

<comment><AUTHOR> Very true. I figured it was a low enough fee that if Twitter cut me off/it became irrelevant, it's not the biggest loss for the paying user (obviously sucks, but didn't feel it warranted yearly subscriptions)

<comment><USER3> I think that's fair, I just also think that the price to me feels about the same ($5/year or $5 for some unknown number of years), and would give you some ongoing money rather than a block at once then regular maintenance, while at the same time limiting the runway you'd need to give people while still fully providing them with the service they paid for / you could always refund the last year and it wouldn't wipe out everything.

</comment></comment></comment></comment><comment><USER4> Great idea! I am curious how you are able to sustain the server fees by just charging one off fees.

My thought is that your server have to continuously check for tweets from user timeline and send any mentions to their email everyday / 2-day/ week. There is a daily cost for each user and it will only increase as more user uses your service.

<comment><AUTHOR> You'd be wise to think that, but I actually use Heroku's "Scheduler" add-on, so they just fire up a one-off dyno once a day and run my script. This script just checks the database for the user's it needs to check (paying && valid email) and fires off Twitter API requests for them. If there's @mentions/DMs that fit in with the frequency the user has selected, the email is fired off through AWS SES. Honestly, the server costs for this will be quite low for quite some time. If it takes off big time, sure, I'll re-evaluate the pricing model.

</comment></comment><comment><USER5> I get the idea and I can see why you might want a service like this, but unless you're famous (for some value of 'famous') wouldn't disconnecting from Twitter by not looking at it and not posting mean you won't get actually any DMs or mentions any more? This service won't actually do anything after a month or two.

<comment><AUTHOR> For sure, and the I fully appreciate the irony of me promoting this on Twitter (if everyone used this, no-one would see my tweet). I feel like this can just aid a certain way of using Twitter, ie. by being broadcast-only (maybe posting from a 3rd party app), and just being selective on what you reply to (based on the email Disconnect Today sends you).

</comment></comment><comment><USER6> Just signed up for an account. This looks like just what I was looking for, as I block Twitter in my hosts file, and on my iPhone with [https://freedom.to](https://freedom.to), but I still want to know if I do get a DM or mention.

</comment><comment><USER7> I made this exact same tool during a Hackathon recently and called it Disconnect. Life is curious.

<comment><AUTHOR> What is life...

</comment></comment><comment><USER8> I want to use this but I'm afraid it circumvents Twitter's advertising and they'll surely shut it down. I guess $5 for now until shutdown is still worth it.

</comment><comment><USER9> This page doesn't show anything, but maybe examples of what the email looks like, or how the schedule is controlled, would.

<comment><AUTHOR> Hey, have now added a couple of screenshots on the homepage!

<comment><USER10> Could you add an indication of the pricing model somewhere?

It seemed to me that the service is free until I actually checked the comments here.

<comment><USER11> From the home page:

> A one-off $5 payment activates your account for life

</comment></comment></comment></comment><comment><USER12> Oh neat! I've been wanting to build something like this that emails me this plus all tweets by people in a list.

<comment><USER13> Nuzzle ([http://nuzzel.com/](http://nuzzel.com/)) is a great option for email digests of articles that several of your Twitter followers have shared. I haven't looked into how much customizability they give you over the content/frequency of the emails though.

</comment></comment><comment><USER14> Why is it asking for the _write_ access to one's Twitter account?

<comment><USER15> Twitter API does not currently provide a way to request read only permission to access direct messages.</comment></comment>


Breaker 101 – Online Web Security Course - <AUTHOR> https://breaker101.com/?code=hn

<comment><AUTHOR> About a year ago, I launched the first run of Breaker 101. It was a huge success, and I'm happy to announce the third run of the class today. I'll be around if anyone has any questions. I hope to see some of you in class!

(P.S. The submitted link has an automatic 15% discount code for HN folks.)</comment>


Israeli Army's Social Media Director Poses as Obama in Blackface - <AUTHOR> http://www.yourblackworld.net/2012/11/black-news/israeli-armys-social-media-director-poses-as-obama-in-blackface/

<comment><USER2> This is one of the more biased articles I read in the last few years. As an Israeli I think most of it is just rubbish. Take the part where they say Israel treats Africans like "animals". Let's ignore for a moment the side the writer takes and the part of inclusion they do on all Israeli. Israel is flooded with immigrants from all over Africa who cross the border between Israel and Egypt to find better lives and jobs. Now, while it's arguable if this kind of immigration should be accepted or not, the treatment to those who already came to our country is much different than what's described in the article. The gov for example, gives the immigrants working permits by the source of the country they cam from. Immigrants who declare (it's just a declaration which cannot be confirmed whatsoever) that they come from war- zones, are given work-permits and temporary visa to stay in the country. Those who are just coming to improve their lives and forget to lie to the immigration police on their birth country, are nicely expelled, as nice as this process can be. This is the practice most western countries take these days.

Moreover, in the last summer there was one time a small mob protested against Africans in a demand that the gov will take control of them, while the crime rates between them is very high. To take this exceptional event and throw it as the writer describes "Israeli protesters had begun attacking them in the streets with rocks and sticks" is just a try to give bad name to all Israeli. If you care enough for the facts, go and try to find the number of times such behavior was done, and don't blame the media for lack of sources since the media in Israel is pro-immigrants most of it.

There, I can continue on and on defending Israel against such shitty blames, although I lost hope in the recent years that my voice will be ever heard among all the reddit-israeli-hating mob.

</comment><comment><USER3> Two things to note here -

1\. The concept of "blackface" does not exist in Israel.

2\. Looking at the picture, it was taken at the Dead Sea - where people go to put black, mineral rich mud all over their body (faces include). So this wasn't even someone pretending to be black, it was just someone putting mud on his face, taking a picture, than making a lame (private?) joke when uploading to Facebook.

Not only a non-HN story, but also just a non-story.

</comment><comment><USER4> Could someone point out what the story is here? The linked article seems to suggest that an Israeli official painting his face black and captioning it 'Obama style' is racist, but I fail to see why. People dress up as other people all the time, and usually it's a sign of appreciation.

Flagged pending clarification.

<comment><AUTHOR> The story here is how could the person responsible for delivering war news/propaganda over social media actually paint their face black and not realize many people would find it racially offensive.

<comment><USER5> With respect, it's not clear to me that outside of the US, many people do find it racially offensive.

Sacha Dratwa is a _26-year-old immigrant from Belgium_. ([http://www.tabletmag.com/jewish-news-and- politics/117235/the...](http://www.tabletmag.com/jewish-news-and- politics/117235/the-kids-behind-idf-media))

Does Dratwa understand what blackface is all about? Or as the website states it, _Apparently, he's also into some good 'ol fashioned Jim Crow styled blackface as well._

Does it make sense to say that a 26 year old Israeli from Belgium is into Jim Crow styled blackface?

<comment><AUTHOR> Yes, things can be lost in translation across cultures. However, given the context is war, the head of social media should expect their personal Facebook account to come under scrutiny. The target audience of the IDF's social media strategy is an English speaking Western audience, who most definitely find blackface offensive.

<comment><USER6> As someone who doesn't pretend to understand the conflict over there, the IDF's social media efforts have come across as terribly crass; this picture and caption could explain a little bit of the immaturity of the person behind the social effort

</comment></comment></comment></comment></comment><comment><USER7> Mud is applied to a soldier's face as part of a training session about camouflage.

[http://graphics8.nytimes.com/images/2012/09/09/sunday- review...](http://graphics8.nytimes.com/images/2012/09/09/sunday- review/09ISRAEL2/09ISRAEL2-popup.jpg)</comment>


Hacker Pro Needed - <AUTHOR>

How can I say this, Im a superstar idea man looking for a great co-founder to rock this world with. As I would require a good co-founder Im sure you would require the same from me. My hacking skills are coming along very tediously. Ready to share an idea or two. <comment><AUTHOR> Well....Im just going to share my idea and hope for the best for two reasons. One it is viable, and two it serves a greater social service. Here it is: Suffice it to say the the prison industrial complex is a huge industry that at best corrupts everything it touches. [http://www.infowars.com/the-prison- industrial-complex-the-ec...](http://www.infowars.com/the-prison-industrial- complex-the-economics-of-incarceration-in-the-usa/) What I propose is a cost effective way to utilize a tablet computer to create an interface of rehabilitation, corrections and accountability for convicts. The offering is varied. Such as regular check-ins with the webcam, education, conferences and whatever else. The draw here is cost. Instead of the average of 29k per year this system can accomplish desired results for 5k? 3k? 10k? per convict per year? Of course this would not be for every type of convict but I would imagine certain non-violent offenders could benefit at a tremendous cost benefit. Maybe call it probationnation.com?</comment>


Exploiting memory corruption bugs in PHP - <AUTHOR> http://www.inulledmyself.com/2015/02/exploiting-memory-corruption-bugs-in_23.html <comment><USER2> Theoretically this is a big problem on shared hosts, no? Since they share the same memory, you could potentially compromise other users of the host? Or is it locked at a virtual level?

<comment><USER3> I believe it would depend on how PHP is setup for that particular host. If each user has their own executable, they're more than likely fine. If they share one, then it's definitely a problem.

</comment></comment><comment><USER4> So how is that a 'remote' exploit? Or is the definition of remote that you can already execute code on the server?

<comment><USER5> If your app takes user input (like from a POSTed form variable or a URL parameter) and then calls unserialize on it, it becomes a remote exploit.

<comment><USER6> To be fair, If your program takes user input and calls unserialize on it then whoever wrote the program is an idiot at best __* .

> Warning

> Do not pass untrusted user input to unserialize(). Unserialization can > result in code being loaded and executed due to object instantiation and > autoloading, and a malicious user may be able to exploit this. Use a safe, > standard data interchange format such as JSON (via json_decode() and > json_encode()) if you need to pass serialized data to the user.

 __* Unless there is an absolute and specific case where you would need to do this, there might be but I 'm struggling to think of one.

<comment><USER7> It's a good thing there's no poorly written PHP in the wild and everyone is really, really good at patching PHP immediately upon update. /s

edit: [http://blog.ircmaxell.com/2014/12/php-install- statistics.htm...](http://blog.ircmaxell.com/2014/12/php-install- statistics.html)</comment></comment></comment></comment>


Senior Executives Get More Sleep Than Everyone Else - <AUTHOR> https://hbr.org/2018/02/senior-executives-get-more-sleep-than-everyone-else <comment><AUTHOR> "In our assessment of 35,000 leaders and interviews with 250 more, we found that the more senior a person's role is, the more sleep they get. ... It used to be a badge of honor to brag about sleeping few hours, but our research should serve as inspiration for aspiring leaders to make sleep sacrosanct. The key message: If you want to be an effective leader, and rise in the ranks, get enough sleep."

<comment><USER2> I think this makes sense. Money makes it way easier to automate / hire for non-essential things. My time is basically just work, family, reading or sleep at this point. Everything else is automated or hired for.</comment></comment>


GitLab 9.4 Released with Related Issues and Web Application Monitoring - <AUTHOR> https://about.gitlab.com/2017/07/22/gitlab-9-4-released/ <comment><USER2> I was really optimistic about GitLab's vision and really liked how they shipped a ton of really good features, but they reached feature creep and I'm pretty sure they will never get "usably fast" because maintaining all these is a huge burden.

Also if you have tons of features like these, I think it's impossible to get all of them right and at the end, you have a lot of mediocre/poor features and few good ones.

The other thing is user experience. Who will know all these features, especially when setting some of them is already hard and need experts...

If you want to be everything for everyone, it's mostly impossible or you get a very complicated, unusable and/or slow thing.

I'm curious for counterarguments to these points.

<comment><USER3> If you run it on your own server, it's quite usably fast - gitlab.com is super slow.

<comment><USER4> really? i've heard that selfhosted gitlab tends to have terrible performance, even on pretty strong VMs. you're actually the first person that wrote positively about gitlabs performance i've come across.

I don't have any experience on the matter though. my previous job used bare SSH-Repos and my current one uses Stash/Bitbucket.

<comment><USER5> Here gitlab runs on a separate Qemu/KVM instance on a ~small Hetzner server. Performance is no topic.

(Though can't tell about the last two versions - we skip versions if not impressed and/or when we wait until something is finished (like e.g. the new ui now). We never update to x.x.0 as there is always an improved x.x.3 or so version worth waiting to).

</comment></comment></comment></comment><comment><USER6> Did anyone give GitLab's metrics feature a try? Is it comparable to Nagios, Zabbix and the like?

<comment><USER7> Hi Eduard,

Our monitoring functionality leverages Prometheus ([https://prometheus.io](https://prometheus.io)) to capture and monitor systems and applications. There is support for a wide variety of common apps ([https://prometheus.io/docs/instrumenting/exporters/](https://prometheus.io/docs/instrumenting/exporters/)), and developers can always further instrument their own code as well.

In the near term, our GitLab and Prometheus integration is focused on detecting performance changes on key metrics like latency, throughput, and error rates. Then leveraging our knowledge of the code base and CI/CD, funneling that feedback back to developers and the changes that introduced them.

Metrics in 9.4.0: [https://docs.gitlab.com/ce/user/project/integrations/prometh...](https://docs.gitlab.com/ce/user/project/integrations/prometheus_library/metrics.html)

This will likely not replace a dedicated monitoring solution like New Relic or Nagios, but can augment them and surface performance analytics within the tool developers are already using daily.

We'd love it if you give it a try and pass over feedback!

</comment></comment><comment><USER8> The new beta navigation is so much better than the current navigation model. The navigation context is now easier to see and I find the colour quite attractive. :)

I can't wait until it is enabled by default in future versions.

<comment><USER9> Yes, a couple of weeks back sytse (Gitlab CEO) himself collected feedback here on HN, and looks like they delivered. Great change!

<comment><USER10> Great to hear you like the change. This new navigation has been extensively UI tested. It has been in the works for a couple of months now.

</comment></comment></comment><comment><USER11> Is this a Enterprise edition only feature? From reading it seems this is the case which is a shame because it feels like a pretty basic feature but also really useful to small CE users.

<comment><USER12> If you're referring to Related Issues, yeah. It's available only in Enterprise Edition Starter and Enterprise Edition premium.

If you're interested, you can take a look into how we determine which feature is EE - [https://about.gitlab.com/stewardship/](https://about.gitlab.com/stewardship/)</comment></comment>


Everybody thinks about garbage collection the wrong way - <AUTHOR> https://blogs.msdn.com/b/oldnewthing/archive/2010/08/09/10047586.aspx <comment><USER2> More discussion in a parallel thread [https://news.ycombinator.com/item?id=6131786](https://news.ycombinator.com/item?id=6131786) (43 points, 9 hours ago, 27 comments)</comment>


Nobody Knows How to Learn a Language - barry-cotter https://medium.com/@mmjukic/nobody-knows-how-to-learn-a-language-f5e042e73af8 <comment><AUTHOR> Sadly the article doesn't include any suggestions.</comment>


Nvidia  GeForce GTX 970: Correcting the Specs and Exploring Memory Allocation - <AUTHOR> http://anandtech.com/show/8935/geforce-gtx-970-correcting-the-specs-exploring-memory-allocation <comment><USER2> Nothing they can't fix with a refund or a discount. It'll hurt but the vast majority of the users will be happy to continue to use what is a very high performance card for a pretty good price.

After all, what are they going to buy instead with their refund? There would have to be a card performing better for the same price in order to make a trade make sense and even then they'll be spending time ripping apart their pc's and travelling back-and-forth to stores or sending back units to online shops. Lots of trouble for little gain.

I'm happy that anandtech took the time to point out the issue but it isn't nearly as bad as it looks from a technical point of view, the discrepancy is only a major one if you notice it in an application that you run and in that case it might be worth the trouble but if you're happy then I don't see the point.

Imagine you bought a car that was advertised as having 7 cylinders and it turns out that you only have 6. That would be the nightmare of every car company but in the end the number of cylinders is less important than whether or not the car performs for its assigned duty or not.

<comment><USER3> Why would they give a refund or discount in the first place? "I would like to return my Haswell chip because it has come to my attention that some of the execution units can't execute all instructions."

I guess the problem is that they put the memory bandwidth into the official specs.

<comment><USER2> To make sure their customers are happy.

That's a good thing when you're selling products that people tend to replace every 2 to 3 years.

<comment><USER4> Yeah, but what else are their customers going to buy? AMD?

<comment><USER5> The customers aren't actually going to exercise the refund; the point of offering it is just to prevent backlash.

[http://www.joelonsoftware.com/articles/customerservice.html](http://www.joelonsoftware.com/articles/customerservice.html) (scroll down to #7)

<comment><USER6> I don't see the relevance here, but that article was actually really interesting. Thanks for the link.

</comment></comment></comment></comment></comment></comment><comment><USER7> Perhaps I'm being dense in not seeing the issue here? It seems like a relatively minor mistake which turns the card from "obscenely good value for money" into "very good value for money".

Generally I buy hardware based on performance, not on technical specifications. This is certainly normal purchasing behavior for a CPU (a 3.0GHz Intel beats similarly specced 3.0GHz AMD almost always), so I'm surprised to hear people buy GPUs based on whatever obscure number they've been told to care about.

<comment><USER8> I've bought my last card(GTX780) with the very specific intention of using all(well, nearly all) of its ram(3GB) for CUDA calculations I was doing at the time - if it turned out that I couldn't allocate it fully, then the card simply would not be what they have advertised and I would have returned it.

<comment><USER4> You can allocate it fully even here, it's just that accessing some addresses is slower than others.

That's a shitty situation. If you want really fully guaranteed specs and performance, buy a workstation card.

<comment><USER9> >If you want really fully guaranteed specs and performance, buy a workstation card

Wrong answer. If you want guaranteed specs you and every other user file a complaint with your countries advertising standard. When a hefty fine is laid upon said manufacture the spec sheets will become amazingly accurate.

<comment><USER10> Heh. Is that so. [http://www.intel.com/content/dam/www/public/us/en/documents/...](http://www.intel.com/content/dam/www/public/us/en/documents/specification- updates/xeon-e5-family-spec-update.pdf)

</comment></comment></comment></comment></comment><comment><USER11> Frankly, I am amazed technical marketing at Semi companies get the specifications right as often as they do. They typically don't get to bother engineering all too much and even if they typically have worked in engineering before they probably didn't work at an architecture level.

Seems entirely plausible this information had not made it from engineering to technical marketing and/or been missed in a review.

</comment><comment><USER9> Everyone in this thread needs to take a step back from the technical merits of the card itself. This is an issue of deceptive advertising and every buyer of the card should report it as such.

Take this for example. You go to the store and buy 1 pound of lean ground beef. You cook it, eat it, and it tastes great. A day later you find out that your beef was actually 90% beef and 10% horse. Were you harmed?, No. Is this a deceptive practice?, Yes.

Customers in the U.S. should contact the FTC and in the U.K. the ASA so the manufacture can be investigated and appropriately fined.

<comment><USER7> I disagree that this analogy is correct. To me it seems more like:

* The butcher offers you "1lb of beef"

* You buy it thinking it's 100% lean beef

* Turns out 12.5% of it is fatty beef

You still got 1lb of beef.

</comment></comment><comment><USER12> IMHO the data transfer rate is the important info:

      First 3.5 GB : 196 GB/s == 7/8 of 224 GB/s
      Last  0.5 GB :  28 GB/s == 1/8 of 224 GB/s

_" When the GPU is accessing this segment of memory, it should achieve 7/8th of its peak potential bandwidth, not far at all from what one would see with a fully enabled GM204. However, transfer rates for that last 512MB of memory will be much slower, at 1/8th the card's total potential."_ [http://techreport.com/review/27724/nvidia-the-geforce- gtx-97...](http://techreport.com/review/27724/nvidia-the-geforce- gtx-970-works-exactly-as-intended)

<comment><USER13> The data transfer rates are what will bite you, and actually are different than advertised.

I know of at least one group that bought bunch of GTX970 cards because they were supposed to have same mem bw as GTX980 but just less computation power. Their application is memory bandwidth bound so that additional computation would be wasted.

However this means they didn't really get what was promised. 196GB/s instead of 224GB/s.

Even so, it's still has the best performance/price combo for that particular GPGPU application.

<comment><USER14> It's somewhat misleading to look at an arithmetic average of the bandwidth of the fast/slow segments. Due to the way they architectured it, you cannot access both the fast segment and the slow segment during the same memory-fetch cycle, it's either/or. If control flow depends on data that's stuck in the slow segment, performance could be significantly degraded.

Now - blah blah prediction, blah blah heuristics, yadda yadda. If you don't use the memory fully (compute, 4K, etc) there's no problem, and even then you can optimize the problem away somewhat. This will work pretty well for AAA- grade game engines that get special attention - Unreal, CryEngine, Unity. But for memory-bound (especially latency-sensitive) compute applications, what you have here is a 3.5GB card, not a 4GB card.

Having a card show up with 1/8th of its specced memory units turned off is not acceptable, regardless.

<comment><USER14> Actually I should correct this - if you access the slow segment _at all_ performance will be degraded, since you cannot also access the fast memory during the same cycle.

Looking at it on a 2-cycle basis, since performance is 7x as high you can either access (7+7) or (7+1) chunks of memory. That's a 43% performance drop if even 1 of the 32 threads in a warp consistently needs to touch the slow segment.

That data being used for control flow will amplify the problem, of course, since latency will double.

</comment></comment></comment></comment><comment><USER15> This is kind of like the pen-tile controversy. A full HD pentile display does not have 1920x1080 independent, atomic pixels. Therefore, in my eyes, it's an obvious lie that the display is full HD. However, marketing says that a pixel is not defined like that and therefore it's okay.

"Any sufficiently advanced business model is indistinguishable from a scam."

People can say it's okay because the card actually has 4GB. But where do you draw the line? If 0.5GB had a throughput of 1 byte per second, would it be a scam now? Technically it's still 4GB.

<comment><USER14> The issue isn't the quantity of memory - there is physically 4GB of GDDR5 memory soldered to the board, yes.

The issue is the number of ROPs. If the board had 64 ROPs - as advertised - then there wouldn't _be_ a fast segment and a slow segment of memory. All 4GB would perform equally, there wouldn't be access contention between the fast segment and slow segment, etc.

There's no cute marketing spin you can put on the board being advertised one way and quietly showing up with 1/8th of its memory subsystem disabled. NVIDIA isn't some fly-by-night hardware company like Butterfly Labs or something.

</comment></comment><comment><USER8> So, simple question - if I bought that card to do CUDA work on it, could I allocate the whole 4GB of GPU memory, or not? If not, I would be absolutely asking for a refund.

Edit: ok, from what I understand you can allocate the whole 4GB,but 512MB of it will be much slower memory. Also a basis for a refund in my eyes.

<comment><USER16> Sort of - with any card, you will never get that full amount because of the operating system, which is likely using GPU memory (additionally, applications such as your web browser are likely using the memory as well). On the other hand, you can exceed the amount of GPU memory (using virtual memory, either via the drivers or a hand-made solution), but depending on the amount of thrashing it can slow things down greatly.

<comment><USER2> I don't think that answers his question.

It has nothing to do with the OS, browsers, virtual memory or trashing but it has to do with the fact that 3.5G of the 4G is directly available but the remaining 512M is only accessible through an indirect (and therefore slower) path as per the article.

</comment></comment></comment><comment><USER17> Does anyone know (or can make an intelligent guess) on what impact this will have on CUDA?

</comment><comment><USER18> Could this be causing judder in the Oculus? And if so, is there a workaround?</comment>


Conway's Proof Of The Free Will Theorem - <AUTHOR> https://www.cs.auckland.ac.nz/~jas/one/freewill-theorem.html <comment><USER2> As the final section shows, this is more about the question of determinism vs indeterminism. Depending on your particular ontological and epistemological leanings, that question and the question of free will may be the same, or conflating the two may be a category error. I personally fall in the latter camp, but this was an interesting foray into the musings of a brilliant mind.

<comment><USER3> So you're saying the world can be deterministic and you can still have free will? That would mean you would have to believe in something like souls then, right? Something outside of this physical world that influences your physical existence? I'm not questioning your views just trying to understand.

<comment><USER4> There are varieties of compatibilism (the view that determinism and free will are compatible) that do not require the existence of souls. I'd suggest taking a look at Daniel Dennett's _Elbow Room_ for one example.

The Stanford Encyclopedia of Philosophy has an article on the subject: [http://plato.stanford.edu/entries/compatibilism/](http://plato.stanford.edu/entries/compatibilism/)

<comment><USER5> Compatibilists redefine free will, similarly to those who redefine "god" as "nature" or "the universe". Sure, anyone can define any term the way they want, but it simply causes confusion to the majority of people who don't hold such definition. Rather, it's best to abandon some terms as fiction, and create new ones surrounding the concept you are looking to address. Better books on the topic are Sam's _Free Will_ or Trick's _Breaking the Free Will Illusion_.

[http://www.samharris.org/free-will](http://www.samharris.org/free-will)

[http://breakingthefreewillillusion.com/](http://breakingthefreewillillusion.com/)

</comment></comment></comment></comment><comment><USER6> Conway's description of entanglement is misleading. FIN does not actually apply here. According to quantum physics, no information is exchanged between the particles. If information is exchanged, it is not limited to any finite speed we know of.

The thought experiment he describes is well-known in the popular science press: you create two particles with opposite spins (angular momenta), but such that the spins are not determined. As soon as you measure the spin of one the spin of the other becomes determined -- INSTANTLY. There is no speed-of- light limit here. If you describe the situation as two particles colluding by sharing some "information," then FIN does not apply, as far as we know! (And if there is a limit, it is greater than the speed of light.) A physicist would instead say that no actual information is transmitted, and entanglement cannot be used to transmit information faster than the speed of light.

Since the metaphor of wave function collapse as information sharing between particles leads to incorrect physics, I don't think we should read too much into the metaphor of measurements as "free choices" of a particle.

</comment><comment><USER7> I'm surprised that people are so determined (heh) to pull determinism out of quantum mechanics. I don't believe in metaphysical souls or free will per se, but I also accept randomness in quantum mechanics (relational interpretation).

</comment><comment><USER8> Interesting article. Thank you for posting.

I have a very limited understanding of physics but two questions spring to mind:

1) Why is there little doubt in the axioms, especially FIN? It requires the concepts of distance and time, either of which might not be applicable to the resulting property.

2) Why call the resulting property "free will" or "free whim"? As far as I can tell the proof is for the existence of an additional property to both the experimenter and the particle, but there is no real description of it. This is somewhat unsatisfactory addressed in the last paragraph, but really, why not just call it a "randomness" or "god" instead of "whim"?

<comment><USER9> 1\. Current physics - and in a way it goes back to Descartes and the very first conception of modern physics, the idea that things happened for mechanistic reasons rather than mysterious temperaments. If information can travel instantaneously, doesn't that imply that distance and time are in some sense meaningless? Also, relativity + faster-than-light information implies causality violation, grandfather paradox and all of that. It's not "beyond all reasonable doubt", but standard physics seems to respect it as an axiom.

2\. Because Conway likes attention.

</comment></comment><comment><USER10> If I understand this correctly, this proof is used to exclude one of the two given explanations for the "Kochen-Specker Paradox"?

The article says the KS "paradox" implies that either

> 1\. Each measurement of a particle is not independent but rather depended on > > context. In other words, the order in which you make measurements matters.

or

> 2\. The particle does not decide what the value of its spin is in any > direction > until the experimenter actually makes a measurement!

As I understand it, the proof shows that the order in which you take the measurements can't matter, excluding explanation (1), because of the following thought experiment.

* Take two particles, entangled and then separated by some distance.

* More quickly than information can pass between the particles, measure one particle in three directions in some order, and measure the other particle just once in one direction which you choose right at that moment.

The second particle can't be affected by the order in which you measured the first particle's spins, but if I was able to choose a direction in which to measure the second particle's spin, then the second particle was able to choose a result to match the appropriate result from the first particle's measurements.

I think I followed this argument up until the last sentence above. What I (mis)understand to be happening here is "spooky action at a distance"; it doesn't at all appear to be a free choice on the particle's part.

In essence we established via the KS paradox that our two particles couldn't have "agreed" on their spins ahead of time, because there's no consistent way to assign all of their spins. But then we measured the two particles in the proscribed way and got a result that looks like the particles did agree on their spins beforehand.

I believe that this excludes explanation (1) from above, but I don't understand how explanation (2) is consistent with this. If it were the case that the particle was deciding its spin at measurement time (explanation (2)), wouldn't the two particles have to communicate faster than c (or whatever our speed limit is) in order to ensure that they made the same decision? We explicitly ruled out this possibility via the FIN axiom and our experimental setup.

The only way I can think of to make this work is to say that the universe doesn't "choose" which result I got until I meet up with my friend who measured the other particle. But this seems to be a far stronger claim than the article makes.

What's the right way of thinking about this?

<comment><USER9> Talk about the particle "deciding" is coming from a Copenhagen interpretation viewpoint. I find the many-worlds view clearer:

When the two particles are set up, their wavefunctions are in sync (or rather, antisync) with each other. Particle A's wavefunction looks like an equal superposition of up and down (at least, when projected onto a single axis; the wavefunction for the full particle incorporating all the possible axes is more complicated); Particle B's wavefunction is the same but 180 degrees out of phase, so that A is up whenever B is down and vice versa.

When you make a measurement of particle A, you entangle yourself with it; that is, your own wavefunction becomes in phase with its. (Again, it's still an equal superposition between having measured up and having measured down). When your friend makes their measurement of particle B, they entangle themselves with it in the same way. So when you meet up with your friend, your wavefunctions are in (anti)phase; the universe as a whole is an equal superposition of the world where you measured up and your friend measured down, and the world where you measured down and your friend measured up.

(What does being in that superposition look like, subjectively? It looks like a 50% probability of the first world and a 50% probability of the second world. Which agrees with what we measure when performing the experiment)

<comment><USER10> Thanks for the reply!

> When your friend makes their measurement of particle B, they entangle > > themselves with it in the same way. So when you meet up with your friend, > > your wavefunctions are in (anti)phase; the universe as a whole is an equal > > superposition of the world where you measured up and your friend measured > > down, and the world where you measured down and your friend measured up.

If we take this perspective, are we still able to rule out possibility (1)? That is, our assumption was that what my friend did couldn't affect my experiment; we used this fact to rule out the possibility that the order of my friend's measurements affected my result. But if in some sense my experiment doesn't "occur" until I meet up with my friend, then this assumption seems not to be true any longer. Which is to say, we could explain this whole thing without requiring any "free will" / "true randomness" on the part of our particles.

<comment><USER9> From a many-worlds point of view there's not the same nondeterminism in the physics. There's nondeterminism in our subjective experience, but it's a surface phenomenon rather than something fundamental.

So I guess we've sidestepped the question the "theorem" is aimed at, because by adopting this viewpoint we're already assuming that humans don't have any kind of physical nondeterminism (or "free will", if you insist).

Personally I think the idea was stupid as stated; having a set of dice inside your head doesn't make you any more likely to have "free will" than if you didn't, and that's all that quantum nondeterminism really means. But I guess some philosophers really did claim that this was support for the notion of free will, so it's worth refuting that as directly as possible.

So I guess you're right: if anything, a many-worlds interpretation gives more support to the idea that quantum nondeterminism has something to do with free will, because it means the nondeterminism only comes in when we look at a human's subjective observations. So yes, I think we really do sidestep the claim this way.

</comment></comment></comment></comment><comment><USER3> I don't know about all that quantum math craziness or that spin fin twin nonsense but it sounds like Conway shares a long standing sentiment I've had that "free will" is a story we tell ourselves because we want to believe our choices are based on something fundamentally more complex or important than the choices of an animal or a computer. Even if "free will" is a real thing and not just an illusion, what is it really but random in-deterministic variations, or what Conway called whims.

I remember when I voiced these opinions in my college philosophy class to a room full of denialists. It's good to know I'm not alone in my thinking in a world where multi-verse and string theory are sooner accepted than the fact that free will is an illusion.

<comment><USER11> Your response is ripe with irony.

'A world where multi-verse and string theory are _sooner accepted_ ...' indicates a world where there is agency, and thus will. We won't even go near your normative subjective ideas about the 'good'.

You can't both deny the existence of free will, and castigate those whom with you disagree. If you're right, then none of us can be wrong -- certainly no more than a plant or a rock or the moon can be wrong.

<comment><USER12> It is easy to imagine a computer program that is both deterministic and wrong. Why not a person?

<comment><USER11> When one describes a computer program as "wrong" it is within the context of what some other agent wants or expects it to do. As a purely physical process, it can never be wrong or right, it can just be.

<comment><USER13> You have defined "wrong" in an incredibly strange and useless way. 2+2=5 is "wrong" regardless what agent you are or what universe you exist in.

</comment></comment></comment></comment></comment><comment><USER14> I'm not sure where to start.

The first diagram of the proof starts with "there exists some experimenter with at least some free will". That's a problem, as it uses the argument's conclusion as one of its premises.

Using a simpler example, it'd be like saying, "To prove that aliens exist, let me show you three simple steps: 1) let's assume aliens exist, 2) ...

The second problem here is that he seems to be trying to illustrate that if things cannot be predicted that we have free will. This is a common fallacy in the free will debate. Randomness is an attack on fatalism, but offers ZERO degree of control to humans, and therefore has no place in the free will debate.

Finally, if you want to see a much better argument, in the other direction, check out my Two Lever Argument Against Free Will that uses 25 lines of Ruby.

[http://danielmiessler.com/blog/two-lever-free-will- ruby/](http://danielmiessler.com/blog/two-lever-free-will-ruby/)

<comment><USER15> > it uses the argument's conclusion as one of its premises.

His theorem doesn't assert free will. It asserts that if experimenters have free will, then particles have free will. So if it's wrong, then it's not for the reason you give.

<comment><USER14> I think he's asserting that if experimenters have free will, then particles do, which means we do as well.

This isn't a proof of particles having free will. That's an intermediary step to saying we have it as well, and therefore you can start with a step that says we do.

<comment><USER16> You need to read it again. The person you're replying to has correctly stated what is shown.</comment></comment></comment></comment>


Marijuana Use May Lead to Testicular Cancer (attention Developers) - <AUTHOR> http://esciencenews.com/articles/2012/09/10/marijuana.use.may.increase.risk.testicular.cancer?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+eScienceNews%2Fpopular+%28e!+Science+News+-+Popular%29

<comment><USER2> The title of this submission: " Marijuana Use _May Lead to_ Testicular Cancer"

The title of the linked article: "Marijuana use _may increase risk_ of testicular cancer"

Two completely different things. Moral: Don't invent headlines, copy them.

The study has no control group, so it cant't guard against confounding cofactors, such as genetic, environmental and lifestyle choices that lead to (a) an elevated risk of testicular cancer, and (b) marijuana use.

Suppose there is an unevaluated cofactor, like urban living or socioeconomic status, that increases the risk of testicular cancer and marijuana use. Such a cofactor would be easy to eliminate, at least on paper -- set up a controlled, scientific study in which two groups of subjects are required to smoke marijuana, or required not to.

That would be the only reliable way to eliminate cofactors and turn a correlation into a cause-effect relationship, which is why it's the gold standard for scientific studies. But in this case, it is clearly unethical -- imagine telling your subjects that they have to use an illegal recreational drug.

</comment><comment><USER3> This is a lie.</comment>


Google testing password-free login system - <AUTHOR> http://www.foxnews.com/tech/2015/12/23/google-testing-password-free-login-system.html <comment><USER2> > You go to log in to your Google account like normal, but instead of entering > your email address and password, you provide just your email. Next, Google > will provide a secret code — in Paul's case, the number 21 — and tell you to > look at your phone.

> The Web giant will then send a message to your phone asking if you're trying > to sign in. If you answer "yes," you'll then need to provide the secret code > on your phone, and voila, you're in.

That looks a lot like a password to me. It's just much shorter because the trust in 2fa is higher.

<comment><USER3> It also means anyone who has your phone can login as you, regardless of whether the phone has your password saved.

Honestly this is a step backwards. IMO focus should be on improving user experience for randomised passwords (paired with 2fa)</comment></comment>


San Diego's Smart Streetlights Yield a Firehose of Data - <AUTHOR> https://spectrum.ieee.org/view-from-the-valley/computing/networks/san-diegos-smart-streetlight-network-yielding-a-firehose-of-data <comment><USER2> "The city is also getting ready to use the parking data to help people find a parking space. "

I can see the "real" conversations between the sales person and city officials. "We can tell you when and where exactly the parking violations is happening and guide enforcers directly to that car. This is not an expense, it is a revenue generating machine."

Every $1000 investment generate $xxxx ARR ticket revenue - easy math.

<comment><USER3> And still they won't be able to help law enforcement track down the delinquent who broke your car window or worse.

<comment><USER4> The delinquent who broke your car window has a pretty good chance of not paying whatever fine he's given (and arresting him when they come across him after a bench warrant is issued still costs money, even if he does eventually pay). You will almost certainly pay your parking ticket promptly and without causing the system to incur additional cost. Going after generally law abiding normal people has a much better ROI.

<comment><USER5> I hope government doesn't turn into that. The legal system is supposed to maximize justice, not revenue.

</comment></comment></comment></comment><comment><USER6> San Diego resident here.

One of the more valuable things I would like to see from this network of sensors is heat maps of traffic issues.

For example, California rolling stops are the stuff of legend, and yet failure to stop is a significant cause of accidents and injuries. A heat map of the day of week, time of day, when these incidents are most likely could provide for selective and useful enforcement.

Alternatively, that same data could be used to indicate that stop signs should be replaced with a yield sign in a particular direction or convert the entire intersection to a roundabout to ease traffic flow.

My hope is that the data streams will be used in aggregate and not for individual enforcement. Trends are your friend.

<comment><USER7> This reminds me of something that happened to me several years ago.

I was in living in a small town and a new cop moved in. He became very diligent about enforcing the law, and I was pulled over for a rolling stop along a lonely country road. He didn't give me a ticket (I wasn't even sure what I had done wrong), but he gave me a stern warning and let me go. I continued on my way (mildly fuming) and came to the next stop down the same road. So I "stopped" and began taking a left. I was still thinking about this when I looked to my left, then right and began to pull out. I realized I just did another rolling stop, so I hit my brakes and this time I actually stopped.

And to my surprise a fast moving car emerged out of my right side blind spot. He was right at the crossing, and had I continued he would have smacked into me.

I was in my pickup truck, and the blind spot was caused by an aftermarket plastic detail that was attached to both windows, so it made the 'A' frame 3 times as wide as it should have been, and the angle of the road and speed of the vehicle perfectly matched the location of this plastic piece, effectively hiding the oncoming vehicle so I didn't catch it when I first looked right.

I met that same cop some weeks later at a social gathering and of course went out of my way to shake his hand in gratitude.

<comment><USER8> I had nearly the same experience. Leaving later than usual from work, I had to exit through an entrance gate, which left my approach to the road at a different angle than usual. I looked left and right, then started into the road (doubt that I stopped completely). A car seemed to appear from nowhere. I had time to stop, but was embarrassed and agitated. The next day I recreated the scene and realized that the window frame on the right side had a slope that matched the slope of a section of the road, blocking my view. The speed and timing of our approaches and the angles of the road and window frame hid the approaching car from my sight. A full stop would have allowed for the approaching car to move through my blind spot.

<comment><USER9> Here is an article about an intersection that is at just the wrong angle, and causes deaths to cyclists:

[http://singletrackworld.com/2018/01/collision-course-why- thi...](http://singletrackworld.com/2018/01/collision-course-why-this-type-of- road-junction-will-keep-killing-cyclists/)

</comment></comment></comment></comment><comment> w-m The idea of collecting lots of audiovisual data all over a city without a clear plan of what to do with it seems mad, outright dystopian to me.

The article describe how the city suddenly has much more data than what they needed or wanted and that they have to start training their people in data science now. There's no mention of privacy at all. I'd see having too much data ("But it's like we asked for a cold drink of water and got shot in the face with a firehose") more of a liability and danger for the people of the city than a great opportunity.

Public projects should approach problems from the reverse. Figure out what problem you need to solve, then define what the minimal amount of data is that you need to capture. Make a plan how to guarantee privacy and anonymity, and if you have all that, go and put out some sensors. Not the other way round.

<comment><USER5> This is going to happen sooner or later. The efficiency gains and extra data to help the justice system come to accurate judgments is far too large. People will ultimately want it. Or cities that do it will ultimately become so well run that they will draw talent and capital from cities that refrain. Cameras and microphones everywhere will win out.

What we need to to is change the laws that these systems will enforce. Laws that were once designed to punish people harshly because they're infrequently applied (like speeding) cannot exist once the enforcement mechanism catches it all the time.

<comment><USER10> > The efficiency gains and extra data to help the justice system come to > accurate judgments is far too large

That's an admirable way of looking at the US justice system, but not quite how it really works. The system is adversarial, and "the truth" is a narrative advocated by one of the combatants.

Given enough data, a DA could choose which facts fit their narrative and present a very convincing "truth" to a jury. Unless defendants have access to the entire dataset and can select their own datapoints to refute that narrative, they're fighting at an extreme disadvantage.

Picture a scenario where a person gets murdered, and you're on trial because the only evidence the police have is a smart streetlight log of your car's whereabouts that show you parked in front of a mob-owned business and later in front of the victims house. Your truth is a simple dinner and date with the victims neighbor. The DA's truth is "backed by data".

Yes, this sounds far-fetched and may be an oversimplification, but it's important to remember that the justice system isn't programming and access to more general data doesn't necessarily level the playing field.

<comment><USER5> That's an edgy way of looking at the justice system, but not quite how it really works.

Discovery explains away most of your hypothetical.

Why is your account only 30 minutes old? You're clearly an old user. Why the throwaway account?

<comment><USER11> _> Why is your account only 30 minutes old? You're clearly an old user. Why the throwaway account?_

Why the combative tone, and how are you so certain that Legical is an 'old user' with a throwaway?

<comment><USER5> He understands the forum's quoting conventions. He referenced programming. He responded quickly, and got several up votes quickly but few afterwards (i.e. it looks like he extinguished his alt login voting power). Lazy username. He's writing extremist views with no justification designed to undermine confidence in the US. It just hits a little close to what I would expect from a non genuine member.

<comment><USER11> I'm not seeing anything in your explanation that couldn't be explained away as someone who had been lurking for a while and happened to decide to write a comment for the first time around the time the post fell off the front page. Besides, from the guidelines:

 _> Please don't impute astroturfing or shillage. That degrades discussion and is usually mistaken. If you're worried about it, email us and we'll look at the data._

On the topic of "extremist views with no justification," there are a great many people in the US who are concerned about the imbalance of power in the criminal justice system. Handwaving these concerns away with, "it's not a problem, just hire a lawyer who can go through the pile of data during discovery" doesn't strike me as an effective argument.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> Secure beneath the watchful eyes... only these record audio as well. Hope you didn't plan on having a conversation in private.

</comment><comment><USER13> I remember when San Diego streetlights had radios strapped to them for the Ricochet wireless internet service. 56-128 Kbps wireless internet was a damn cool thing to see back in the late 90s/early 00s.

[https://en.wikipedia.org/wiki/Ricochet_(Internet_service)](https://en.wikipedia.org/wiki/Ricochet_\(Internet_service\))

<comment><USER14> Oh man, we had a Ricochet model glued to the screen of our on-call laptop in Seattle in 99-2000.

</comment></comment><comment><USER15> Did anyone see any mention of the networking tech. their using in each light, e.g. 4G or something else?

</comment><comment><USER16> The only mention of privacy on that page was the site's privacy policy--the issue of privacy is more important than that.

</comment><comment><USER17> there is a military-connected startup that is making physical devices that can be placed on vehicles to track them, in that sensor network</comment>


Low Barr: Just Put the Backdoors in the Encryption - <AUTHOR> https://www.theregister.co.uk/2019/07/23/us_encryption_backdoor/ <comment><USER2> "Obviously, the Department would like to engage with the private sector in exploring solutions that will provide lawful access. While we remain open to a cooperative approach, the time to achieve that may be limited. Key countries, including important allies, have been moving toward legislative and regulatory solutions. _I think it is prudent to anticipate that a major incident may well occur at any time that will galvanize public opinion on these issues._ Whether we end up with legislation or not, the best course for everyone involved is to work soberly and in good faith together to craft appropriate solutions, _rather than have outcomes dictated during a crisis._ "

Did he basically just announce a false flag operation?</comment>


Ask HN: Effects of lamictal on programming/problem solving - <AUTHOR>

I'm bipolar and take lamictal as a mood stabilizer and it literally has saved my life.
Lamictal is known to have cognitive side-effects (impairing working memory, etc) and I was wondering if anyone had some experience with taking lamictal and programming. I would stop taking lamictal and take some cognitive tests for a baseline but I am too scared. Any comments would be appreciated.
thanks! <comment><USER2> Hi

This comment is a bit late, but you could also try asking here: [http://www.reddit.com/r/bipolar](http://www.reddit.com/r/bipolar)

Good luck!</comment>


Why Feature toggles brings real business value into DevOps, and how - <AUTHOR> https://medium.com/unleash-hosted/why-feature-toggles-brings-real-business-value-into-devops-and-how-f15ccff331c9 <comment><USER2> We use this strategy and as a Dev I can say the biggest drawback is tons of redundant code accumulating in the codebase that we're not allowed to remove until - someone - finally makes the decision that that feature flag is now on permanently and can be removed. (Actually it's whenever he remembers to tell the Dev team that's the case).</comment>


I love this product, but can we discuss if this is bad pratice - <AUTHOR>

[Here is a screen-shot where you can enter your email address](http://i.imgur.com/BaWAubA.png?1) and find out what is going on with your order.
If you were to enter in a valid email address of someone who did order something, they give up a ton more data.  I personally like the notion of having an entire account control panel for your users, one section being shipping where you can spell all this out.
Right now, I know someone, not personally, but someone pretty high up at google.com that has ordered one of these on a whim.  I would also estimate, that if the product was backed by VC or Angels, this person would not have had to order one, but a box of 10 would have been and delivered to his whatever his location was at the time. <comment><USER2> Email address seems to be a too low barrier. At least one other piece of information, e.g. order number, zip code would help. Ideally though, if the website wants to avoid user registration and/or passwords, it should send the information via email or send a link with a random long URL. Of course that looses convenience (waiting for email, maybe switching apps on a smartphone) but you avoid registration.

</comment><comment><USER3> I see this as a bad thing to do. They should require either the order # only or BOTH email and order #.

</comment><comment><USER4> Seems bad. Generally you don't want to release out information like that, no.

</comment><comment><AUTHOR> can an admin fix my bad .md for the url then delete this comment. Also, an explanation as to what I dud wrong as this is how I do .md on Stack and other sites, reddit, it always works fine.

<comment><USER5> Markdown isn't really supported on HN, just a couple of options outlined here: [https://news.ycombinator.com/formatdoc](https://news.ycombinator.com/formatdoc)</comment></comment>