House Passes E-mail Privacy Act - <AUTHOR> http://www.multichannel.com/news/congress/house-passes-e-mail-privacy-act/410716 <comment><USER2> This bill is great in that email stored on your ISP's (or Google's) servers is treated identically to that on your computer at home-- they need to get a warrant. That's a great step forward. It isn't BS.

However, it doesn't address intercepting and recording communications in- transit, which is extremely commonplace these days. Technically american intelligence agencies need a warrant to eavesdrop on american citizens. But in practice, they can get around this by recording _everything_ (full take), indexing it, and limiting their searches against communications by US citizens where they either talk to a foreigner or match a search query on a nefarious keyword. [1]

They wave away violating the 4th amendment of the US constitution by saying that copying, storing, indexing, and searching through US citizens' private information is OK as long as a human doesn't read it.

"Full take" sounds incredible-- it entails recording and retaining EVERYTHING passing through the internet. But we know it's possible. Snowden revealed that the UK GCHQ has been doing it since at least 2013 with their Tempora system [2]. Snowden also revealed the NSA's very similar XKeyscore system. At the time of his leaks, the NSA did not do Full Take... but that was several years ago.

It's very reasonable to assume that everything, EVERYTHING, you do on the internet is recorded and stored by the government. This bill does not address that.

That's why it's absolutely critical that everything you do is end-to-end encrypted. These government agencies have the resources to crack most encryption, too [3] but at least you aren't making it trivial.

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

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

[3] [https://en.wikipedia.org/wiki/Bullrun_(decryption_program)](https://en.wikipedia.org/wiki/Bullrun_\(decryption_program\))

<comment><USER3> > However, it doesn't address intercepting and recording communications in- > transit, which is extremely commonplace these days.

MTA<->MTA SMTP transmission is increasingly SSL these days, and end-user MUA<->MTA transmission has pretty much been entirely SSL for a long while. Google cites about 80-90% of its MTA<->MTA transmission is encrypted ([https://www.google.com/transparencyreport/saferemail/](https://www.google.com/transparencyreport/saferemail/)).

<comment><USER4> The dirty secret nobody wants to talk about is that MTA's don't do certificate validation. You can't or you'd never deliver email successfully because of the number of self signed certs out there.

MITM on SSL/TLS SMTP is child's play

<comment> mike-cardwell Postfix and Exim both support DANE/TLSA. When I email somebody with TLSA set up, or they email me, the certificates are validated using DNSSEC signed DNS records:

      mike@snake:~$ dig +short mx grepular.com
      20 mail.grepular.com.
      10 mx1.grepular.com.
      mike@snake:~$ dig +short tlsa _25._tcp.mx1.grepular.com
      2 1 1 60B87575447DCBA2A36B7D11AC09FB24A9DB406FEE12D2CC90180517 616E8A18
      2 1 1 B111DD8A1C2091A89BD4FD60C57F0716CCE50FEEFF8137CDBEE0326E 02CF362B
      mike@snake:~$ dig +short tlsa _25._tcp.mail.grepular.com
      2 1 1 B111DD8A1C2091A89BD4FD60C57F0716CCE50FEEFF8137CDBEE0326E 02CF362B
      2 1 1 60B87575447DCBA2A36B7D11AC09FB24A9DB406FEE12D2CC90180517 616E8A18
      mike@snake:~$

<comment><USER5> That assumes that nobody can MITM either your DNS server, the your ISPs DNS cache (if you use it), or Google's DNS cache (if you use it).

<comment><USER6> Or it assumes DNSSEC.

<comment> mike-cardwell It does assume DNSSEC yes. Which is a requirement of DANE.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I have a hard time believing that the House would make this such an early part of its business without there being some exigent need. I wonder what scandal they are trying to forestall? I'm 100% serious. Every move they've made so far has been from a playbook. I doubt this one was done _for the people_.

<comment><USER8> This bill was originally introduced in 2013 and unanimously passed the House last year, it isn't new. It got blocked and then weakened in the Senate last year, so they're just trying again. In general I think the House is less theatrical and scripted than the Senate.

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

<comment> un-devmox Thanks for the link.

Interestingly in 2015, AG to be Sessions introduced an amendment that "would have exempted federal agents from the requirement to secure a warrant if the government asserts that an emergency situation exists."

The bill was then withdrawn from consideration.

Is there something similar attached to the current version?

<comment><USER8> No, this bill is essentially identical to the version that was sent to the Senate last year. You can compare them here:

[https://www.congress.gov/114/bills/hr699/BILLS-114hr699rds.p...](https://www.congress.gov/114/bills/hr699/BILLS-114hr699rds.pdf)

[https://www.congress.gov/115/bills/hr387/BILLS-115hr387ih.pd...](https://www.congress.gov/115/bills/hr387/BILLS-115hr387ih.pdf)

The only differences I saw are that it's now a BILL instead of an ACT, and they added the word "and" in one spot.

As far as I can tell the amendments were not actually voted on last year; the bill was preemptively withdrawn because the sponsors thought passing a bill with the amendments would be worse than not passing it at all.

</comment></comment></comment></comment><comment><USER9> Does this also encompass the providers' "reading" emails to place appropriate ads and/or services?

For example, I noticed recently, that if I have a hotel booked, Google "reads" my email and annotates Google maps with the dates of my booking.

Does this act apply only to the government's access to email or also the provider's?

Edit: Also, does the government need a warrant only for US citizens' accounts or for anyone's emails stored on US servers?

<comment><USER10> Google has to be able to read your emails, otherwise they wouldn't be able to index them for you to search through. Or do spam detection.

<comment><USER11> If your company is using google apps, this would be one of the things of concern. How could you ensure none of your trade secrets are unintentionally leaking via meta data, etc... Unless every account is self-contained and isolated and encrypted at rest and they don't retain a master/admin key.

<comment><USER12> G Suite doesn't display ads or scan hosted data for advertising: [https://gsuite.google.com/faq/security/](https://gsuite.google.com/faq/security/)

<comment><USER11> For sure there are arguments for scanning (threat detection/spam detection) but that has to be weighed against the meta data you are providing the provider, as well as knowing you are not in control of your data and someone else has a means to access the data, even if it's for learning purposes.

</comment></comment></comment></comment></comment><comment><USER13> I'm not fully aware of the inner workings of American politics, but, did Trump have any role in this?

Edit "The House has acted to protect Americans' privacy. Now it's up to the Senate and the President to do the same." Ok, so he might kill it yet. I'm curious how this will end.

<comment><USER14> If there is enough political will in the House and Senate, they can override even the President's veto. I wouldn't count on that happening anytime soon, though.

<comment><USER15> For what it's worth, this bill passed the house unanimously (aka veto proof).

<comment><USER8> It did last year too, and then the Senate blocked and essentially killed it with amendments.

</comment></comment></comment></comment><comment><USER16> Ctrl-f "National Security Letter"

0 results found.

<comment><USER17> I think this comment is down-voted for its terseness, but I think this is the most important point in the comments.

National Security Letters and FISA court rulings create a legal mechanism to circumvent this entire bill and any other form of legislative or judicial oversight.

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

[https://www.theguardian.com/law/2016/oct/19/aclu-fisa- court-...](https://www.theguardian.com/law/2016/oct/19/aclu-fisa-court- surveillance-laws-classified)

<comment><USER18> I feel that the inclusion of NSLs is almost outside the scope of the bill. Furthermore, inclusion of prohibitions of NSLs would likely doom the bill. In this case, perfect would be the enemy of good.

NSLs are a worthy topic for a bill in its own right or as an amendment to the next FISA reauthorization.

<comment><USER17> IMO, a bill titled "No one is allowed to murder" while actually only preventing Alice from murdering, and permitting Bob to continue his (more prevalent) murder spree, is a net loss.

It is the false illusion of safety, which is more dangerous than a known threat.

<comment><USER18> Stopping Alice from murdering is more dangerous? Interesting.

(I don't agree with your analogy but I'm playing along)

</comment></comment></comment></comment></comment><comment><USER19> What year is this? How come are people still expecting privacy?

Don't you realize that privacy is unsustainable and selfish?

<comment><USER20> I'm not giving up my privacy until governments give up theirs.

<comment><USER21> Good answer :)</comment></comment></comment>


A Man Who Designed Ghost Armies and Opera Houses (2016) - <AUTHOR> http://nautil.us/issue/38/noise/the-man-who-designed-ghost-armies-and-opera-houses <comment><USER2> I didn't understand how he eliminated the feedback by ensuring the mic and monitor were at the same phase...

So he placed the mics one half phase from the monitors so that the high frequency feedback cancels out? But so would the other sounds....?

Other than placing high filter on the monitors, I can't see why his way worked</comment>


How I made a bed time calculator in 7 days - <AUTHOR> https://hackernoon.com/im-15-and-heres-how-i-made-a-bedtime-calculator-with-react-js-yw233ehq <comment><USER2> Huge discussion from yesterday:

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

I know you've probably re-submitted this because you're keen and enthusiastic, but it says in the FAQ[0]:

> _Are reposts ok?_

> _If a story has not had significant attention in the last year or so, a > small number of reposts is ok. Otherwise we bury reposts as duplicates._

If everyone submitted everything twice or more, there would be less space on the "New" page for things that are genuinely new, hence the guideline that if something already has had significant attention then it shouldn't be submitted again.

Let me add, though, that it's nice work, and I look forward to seeing what you do next.

[0] [https://news.ycombinator.com/newsfaq.html](https://news.ycombinator.com/newsfaq.html)</comment>


Dash for iOS: Back on the App Store - <AUTHOR> https://blog.kapeli.com/dash-for-ios-back-on-the-app-store <comment><USER2> Dash is _excellent_ and on my best-of software list for programmers who use a Mac.

Fast documentation search works brilliantly and I especially like the offline capabilities.

The Dash iOS app is a great addition -- try it on an iPad with the Duet second screen app.

Best of all, the author is responsible and responsive. Well worth buying.

<comment><USER3> > The Dash iOS app is a great addition -- try it on an iPad with the Duet > second screen app.

Better (for me) is setting the iOS app up as a remote for the macOS app. In Emacs, I can hit `C-c d to` and the iOS app will open the docs for the function my cursor is currently over. I can use my iPad as little docs-only viewer under my monitor.

<comment><USER4> there's also helm-dash[1], which gives you the documentation part inside your emacs.

1\. [https://github.com/areina/helm-dash](https://github.com/areina/helm-dash)

</comment></comment></comment><comment><USER3> That's excellent news! I've been using the macOS version all along (and happily paid to upgrade to the new version that came out recently), but I've definitely missed the iOS version.

On a side note, much as I love the app, the circumstances behind it being pulled came across as shifty. Whatever _actually_ happened, I hope it never happens again.

<comment><USER5> What exactly was shifty, do you think?

<comment><USER6> The author released an unauthorised recording of a phone call with Apple. That itself was probably not illegal (though it would be if he had been in California as well).

But, and that made me question his sanity, it basically contradicted everything he had said before, and made it clear he had been lying to the developer community to put public pressure on Apple.

Even worse: when that call was made, Apple had actually given in, and was only asking for him to publicly acknowledge that they had tried to contact him (but only using one of two e-mail addresses on file). He had succeeded in leveraging a minor reputation into a PR defeat for Apple, but got so drunk on power that he threw it away.

I would've wished for a bit more soul-searching in the community that was so eager to grab the pitchforks because the story fit so well with the common narrative of Apple abusing small developers, but oh well...

The initial incident is also pretty well known now: "Someone", with his credit card and developer credentials, created some spammy apps and marketed them with fake reviews. Those apps were signed using hardware registered in his name, which was, from time to time, also used to sign new releases of Dash.

According to him, the spammer was a friend/relative who he was helping to get started.

</comment></comment></comment><comment><USER7> Background: [https://blog.kapeli.com/dash-and-apple-my-side-of-the- story/](https://blog.kapeli.com/dash-and-apple-my-side-of-the-story/)

<comment><USER8> From the Apple guy on the phone:

"We need it to be accurate, right? So, accurately stated, we believe the account was linked to an account with fraudulent activity, and accurately you are working with Apple to unlink your account and bring the account back into the program."

"We want to work with you, right? But we want to make it clear that WE didn't make a mistake."

I've never had customer service that bad from Apple before. The ONLY THING this guy wanted was for the guy to write a blog post saying Apple didn't make a mistake!

<comment><USER6> What? He was caught spamming and defrauding customers on the App Store, and under the pressure of the developer community that believed his story about a "friend" using his credit card/hardware/name they actually gave in and would have let him get away with it... All for the small price of admitting that at the very least he should have read the e-mails they send him before suspending the account.

<comment><USER9> "Fraud" seems like a pretty strong word for fake reviews.

<comment><USER10> Isn't it pretty much the definition of fraud?

<comment><USER9> No.

</comment></comment></comment></comment></comment></comment><comment><USER11> Oh good, since I assume this means that the document sets available for Zeal will keep being updated.

(Zeal is a Free Software offline documentation browser for Windows, Linux, and BSD: [http://zealdocs.org/](http://zealdocs.org/))

</comment><comment><USER12> 1) I wish there was license for FOSS software developers without making them wait for every document 10seconds.

2) I only can pay from App Store i wish macOS version was in App Store too.

<comment><USER13> 1\. Well, how could you enforce this? How do you know a project is open source?

2\. Dash was pulled from the App Store due to conflict between Kapeli and Apple. See the links in the comments above for details.

<comment><USER12> 1) you are right. There is no simple solution, One good policy would be for a first step, the free version of DASH to support only documentation for libraries with GPL license.

2) I do have a serious problem with their business model. Reselling their app after new version. I don't like that business model.

</comment></comment></comment><comment><USER14> > Quite a few "developers" have even added it to the App Store themselves, > violating the GNU GPL license in the process

What violation is the OP referring to?

<comment><USER15> See [https://en.wikipedia.org/wiki/Tivoization](https://en.wikipedia.org/wiki/Tivoization)

There's debate on whether the DRM imposed by the App Store qualifies as equivalent to hardware restrictions that prevent executing modified software.

<comment><USER14> Oh I see, GPL v3, but the OP has accepted pull requests and makes no mention of copyright assignment, so the source of Apple App Store version also under GLP v3, so OP is also violating the GPL?

</comment></comment></comment><comment><USER16> "Quite a few "developers" have even added it to the App Store themselves, violating the GNU GPL license in the process."

Oh, so _now_ the developer is all about following the rules, huh? Rings a bit hollow to me: [https://9to5mac.com/2016/10/13/evidence-against-dash- develop...](https://9to5mac.com/2016/10/13/evidence-against-dash-developers- fraudulent-account-claim/)

</comment><comment><USER17> Can't get the .NET Framework docs to download, restarts after 100MB or so. Anyone else?

</comment><comment><USER18> I live in Australia and I can't download it without switching my app store country (which is a pain)... Are there any plans to enable it in other countries too?

</comment><comment><USER19> Please review your link styling to make them more discoverable. As it is, it's impossible to find any links in the article on my mobile.

</comment><comment><USER20> Dang, I thought it would be the wallet app. :(

</comment><comment><USER21> Damn Canadian App Store.

Kapeli pls.

<comment><USER17> Just downloaded in Canada. Don't know whether there was propagation delay or he flipped a switch.

</comment></comment><comment><USER5> Please, HN, don't promote this fraudulent* developer.

*) [https://9to5mac.com/2016/10/13/evidence-against-dash-develop...](https://9to5mac.com/2016/10/13/evidence-against-dash-developers-fraudulent-account-claim/)

(Considering that he has a history of buying user ratings I guess it's also quite possible that the upvoting of this story and (selective) upvoting of its comments is also bought.)

<comment><USER22> > don't promote this fraudulent* developer

He WAS fraudulent, however he still makes a useful tool and seems to have since corrected his ways, so I'd give him a second chance.

<comment><USER23> I'm disinclined to support even an ex- plagiarist and app fraudster. Besides, Dash requires me to go to a separate app to look up docs, it's much better to have them integrated into one's editor.

<comment><USER3> I'll leave the dev's reputation aside as it's already being discussed elsewhere. That said, I think Dash is great. I can pop it up with a global keystroke, not just inside my editor, and I use that a feature lot. It also integrates with just about every editor so that you can open docs from inside those editors with a keystroke.

I very much love having Dash open on my small laptop screen, with Emacs open and filled with code on the much larger external monitor.</comment></comment></comment></comment>


Ask HN: What are you usually doing when you have an 'insight'? - <AUTHOR> I've noticed that I've had some of the best insights into things when I was doing other things. I wonder if there are any patterns to this so I'm curious what other peoples' experiences are. <comment><USER2> Sitting around shortly after waking up

</comment><comment><USER3> Reading.</comment>


The purpose of a startup is very simple. Build, be bought, or fail - <AUTHOR> http://gregmeyer.wordpress.com/2012/09/15/the-circle-of-startup-life/

<comment><USER2> Why must a startup be acquired to be judged a success? The aim of a startup is to make the founders rich. If you own something profitable and automated, it does not necessarily follow that your purpose becomes How do I get rid of this?</comment>


Show HN: My weekend project - Chessboard picture recognition - <AUTHOR> http://codebazaar.blogspot.com/2011/08/chess-board-recognition-project-part-1.html

<comment><USER2> It seems like you can avoid having to recognize the pieces altogether if you are taking photos of each move during a match, since they have a known starting position.

Edit: what I mean is that in this case the problem becomes answering "does this place on the board have a piece on it" not "which piece is on this place on the board." Once you know which places on the board have any pieces whatsoever you can simply infer between moves which pieces moved where.

</comment><comment><USER3> You might look into the academic literature for OCR, which this will reduce to. (Most AI problems are "How can I apply human intelligence to cleverly reduce this problem from something which appears to require intelligence to something which actually only requires well-understood math?")

I think the punchline is likely to be that you end up taking dot products of feature vectors generated by library code and writing fairly little chess- related code. Sorry to burst your bubble if you thought this was going to be very sexy. On the plus side, it will work, and if you're as good at programming as you appear to be you're almost certain to succeed on this.

P.S. I hope you like taking photos because odds are you're going to get the opportunity to take _lots_.

<comment><AUTHOR> Thanks patio13! OCR and AI actually seem very sexy to me:D If I make a mobile app out of this, I will get my users to take pictures for me! hehe!

<comment><USER4> Hey I'm patio13 and I have nothing to do with it :-)

<comment><AUTHOR> lol. sorry but you get the credit for patio11:D hehe

</comment></comment></comment></comment><comment><USER5> I don't know anything about "chess theory" but are there some squares that only certain pieces can get to? I don't think it's possible for a Knight to ever be on some squares, so maybe you could use logic like that to narrow down the piece detection.

It may be easier to just track the game state from the start instead of trying to identify the position of the board at a random snapshot in time.

Cool project though, seems like a good intro to image processing.

<comment><AUTHOR> Thanks for leaving a comment.

"It may be easier to just track the game state from the start instead of trying to identify the position of the board at a random snapshot in time."

This is certainly true! But the original idea was to take a picture (probably from a mobile phone) and continue the game online. Taking a picture after each most is a lot of work :D

<comment><USER6> attach a camera (or phone) to the clock. It takes a picture whenever you hit the clock (i.e. after every move), and records the move history. You can stop scribbling it on those little pads.

</comment></comment></comment><comment><USER7> "For example, the program is able to determine whether each square is white or black by calculating its average color and comparing it to the black and white colors"

I bet you could get away with determining the color of a corner square and assuming the rest.

<comment><AUTHOR> Thanks for the feedback. I did not think about this.

Some of the square edges actually belongs to the surroundings squares because the cut is not 100% accurate and the chess piece are not always position at the center of the square but I could get around that.

The way this algorithm works is simple. I compare the RGB values for each pixel of a square to the black color and white color. Black is Red=0, Green=0, Blue=0 and white is Red=255, Green=255 and Blue=255. I add up the 3 RGB values for a pixel, if it is closer to 0 and 255*3, I consider the pixel is mostly black. I keep a counter of black pixels and another for white pixels.

Currently, the algo is just comparing the two counters. If I found most of the pixel were black, I consider it is a black square.

However, I could improve it as following: \- > 90% of black pixels: empty black square or black square with black piece \- > 90% of white pixels: empty white square or white square with white piece \- other white: square with a piece of the opposite color.

For the 3rd case, I might need to implement your idea.

<comment><USER8> Most pieces are positioned in the middle of a square. A simple way to recognize the color of the piece and its square is to do a flood fill with a bit of tolerance (say 32/256) from the center pixel. The area covered by the flood fill will only contain the pixels making up the piece, while the area outside the flood fill will have pixels the color of the square. Reflections might cause a bit of noise, but a slight gaussian blur should be enough to get over that.

</comment></comment></comment><comment><USER9> I think your best bet is to feed the the segmented chess board squares into a machine learning algorithm. You would have one which classifies squares as empty or not, and another which recognizes chess pieces. The difficult part is building up all the examples to do the training, picking the right algorithms to use (SVM, logistic regression, etc), and then transforming the raw data into the proper form for the algorithm.

I did find a very recent paper on a chess playing robot which has some good starting points: [http://www.cs.washington.edu/ai/Mobile_Robotics/postscripts/...](http://www.cs.washington.edu/ai/Mobile_Robotics/postscripts/chess- icra-11.pdf)

<comment><AUTHOR> Thanks for the link. It will help!

</comment></comment><comment><USER10> Hmm, interesting project.

If you're ok with helping the computer out a bit, you could put a very small matrix bar code (think QR Code) on top of each piece. Since there are 6 chess pieces and 2 colors, you could have a code for each piece in just a 2x2 matrix (4 dots / bits).

Otherwise, it seems like it may be very difficult, as I'm not even sure of what some of the black on black pieces are myself (bottom right).

<comment><USER11> If you can get games in machine readable format, it may be possible to develop a ML approach that figures out the most likely identifications based on relative positions and as much information as image processing provides.

</comment></comment><comment><USER12> I have worked in machine vision projects in past. It's not going to be easy to recognize the pieces as is; I suggest that you use 2D pieces for chess. Even better, use some unique design like this one: [http://www.chess.com/forum/view/general/experimental- chess-s...](http://www.chess.com/forum/view/general/experimental-chess-set- design)

<comment><USER13> Agree that it will be tricky to recognize the pieces, but what's the point in doing it with 2D pieces? The app would be (slightly) more exciting if it could help you record the state of any game anywhere in less than 5 seconds -- and allow you to continue playing online.

<comment><USER12> I suggested 2D if he wanted to build a system for himself. May be multi-angle snap-shots or a video capture could be processed for capturing conventional chess boards. But even that would not work for all chess-boards. I have come across some pieces that are different to distinguish.

</comment></comment></comment><comment><USER14> I may have a good solution:

Take _two_ photos. One at the starting position and one at the current position you'd like to save. You don't need to take them in order (take the current position, reset the board, and take the other photo). This way you know what the pieces are from the starting position, then use an algo to match based on that.

Also some good hints for most standard sets while checking your current position...both kings are always on the board and they are usually the tallest. there is never more than one queen per side, and its usually a close height to the king, but has a circular crown. Rooks are circular on top, bishops come to a point, if there are more than two pawns per side that gives them away. Knights could be singled out by eliminating the rest.

Good luck!

</comment><comment><USER15> Very nicely done! Really appreciate the links to your reference material in the blog, saves me (and other noobs) from having to dig around and discover it ourselves. I'll definitely be keeping track of your progress. Good luck, dude!

<comment><AUTHOR> Thank you :D

</comment></comment><comment><USER13> Don't see the use of this as an app, but fuck the use. If the goal is fun and learning, I think it's worth going all in and do object recognition using, say, SIFT vectors (see Wikipedia). Just to see if it works.

It's easy to find SIFT implementations, but you'll have to do some work to construct a training set of images for each type of chess piece. An elegant solution will probably detect the type of piece independent of its color, or the color of the square.

This might be ridiculously easy, or not work at all.

</comment><comment><USER16> yes..like the other hackers are saying....you have to deal with this problem like a poker player tries to guess his opponents cards....so the first step is to create the piece expectation function...which will basically calculate the probability that a piece is (say knight) at square x,y given the probabilty expectation functions of all the other squares..one way to create probablilities for all squares would be to use a combination of dynamic programming and neural networks...you will have to create a dynamic programming algorithm that sort of trains itself(by storing data rather than changing its code!!) do better and better as you tell it how right or wrong it was....so the topics you are looking to cover in the next exercise (assuming tht u have already done some reading on image processing) are basic probability theory,dynamic programming and neural nets...those are my two cents on the problem.

</comment><comment><AUTHOR> If one day, my program is able to recognize the pieces on this chessboard... I will happy:D [http://2.bp.blogspot.com/-TgamS2dnAls/TjvpV3YuA0I/AAAAAAAAAI...](http://2.bp.blogspot.com/-TgamS2dnAls/TjvpV3YuA0I/AAAAAAAAAI4/y6XESlITAN8/s1600/287621_2266996910302_1109935532_32714307_1964814_o%25281%2529.jpg)

<comment><USER17> Haha! I recognize this board :) Good luck, my friend!

</comment></comment><comment><USER18> Here is a related project on turning an image of a Go board into a computer readable file understood by most GUIs for playing Go: <http://www.inference.phy.cam.ac.uk/cjb/image2sgf.html>

<comment><AUTHOR> Thanks. Go seems to be easier. I was also thinking to fallback to domino if I can completed the project for a chessboard.

</comment></comment><comment><USER19> For figuring out chess pieces, maybe determining the light source and looking for light/dark patterns in certain areas? The problem is, from top view, even a human would have a difficult time figuring out if a piece was a bishop or pawn.

<comment><AUTHOR> This is true. I may need to work on a collection of pictures or even a video.

<comment><USER6> Get hold of one of those automated chess boards that move pieces around by magnets under the board. Set it to replay old games, and film or photograph it. That should give you unlimited photographs of known positions.

<comment><AUTHOR> I did not know about these boards. Good to know. Thanks for the tip.

</comment></comment></comment></comment><comment><USER20> similar successful project of a robot playing chess naturally:

<http://www.youtube.com/watch?v=OZ0Hx04KFCg>

<comment><AUTHOR> I just found out about this. Another YC user left a comment with a link to a paper about Gambit the robot: [http://www.cs.washington.edu/ai/Mobile_Robotics/postscripts/...](http://www.cs.washington.edu/ai/Mobile_Robotics/postscripts/chess- icra-11.pdf)</comment></comment>


Apollo 11 as They Shot It - <AUTHOR> https://www.nytimes.com/interactive/2019/07/18/science/apollo-11-as-they-shot-it-ul.html <comment><AUTHOR> Beautiful slides and animation.Finally well spend subscribers money although still best way is investigative journalism.</comment>


Ask HN: How to get started in embedded industrial software? - <AUTHOR> <comment><USER2> Pick a processor you think will be relevant for at least 5 years. ARM ?? PIC ??? then get a reference board with NO OS. GET toolchain if you have not already Learn to boot it with your own code. Now learn interrupts Then finally you are ready</comment>


Fabric to close following deaths of two teenagers - <AUTHOR> http://mixmag.net/read/fabric-is-closed-this-weekend-following-the-death-of-two-teenagers-news <comment><USER2> It seems there is more going on: [http://www.independent.co.uk/arts- entertainment/music/news/f...](http://www.independent.co.uk/arts- entertainment/music/news/fabric-closed-shut-down-appeal-reopen-campaign- operation-lenor-and-the-real-reason-fabric-was-shut-a7229541.html)</comment>


LG's rollable OLED TV is incredible, and it's actually going on sale in 2019 - <AUTHOR> https://www.cnet.com/news/lgs-rollable-oled-tv-is-incredible-and-its-actually-going-on-sale-in-2019-ces/ <comment><USER2> That is some impressive technology. I can see this going over very well with my family in Japan because they make such industrious use of their space. I, however, live in an NYC apartment (not Manhattan, granted) and still have plenty of room to spare. I've even been hanging onto my holiday recycling so that the super doesn't have to deal with a huge load all at once.

I would be willing to save money by buying a less compact screen.</comment>


Progress Continues on Firmware Updates - <AUTHOR> https://newsroom.intel.com/news/security-issue-update-progress-continues-firmware-updates/ <comment><USER2> The 85% number sounded really odd and specific.

Turns out the 85% number is quoted from the "Top 30 Targeted High Risk Vulnerabilities" published in 2015[1], which came from Public Safety Canada's "Top 4 Strategies to Mitigate Targeted Cyber Intrusions" also from 2015[2], which came from the Australian Signals Directorate's report "Top four mitigation strategies to protect your ICT system" from 2012[3], which says (emphasis mine):

"At least 85% of _the intrusions that ASD responded to in 2011_ involved adversaries using unsophisticated techniques that would have been mitigated by implementing the Top 4 mitigation strategies as a package."

A far cry from "as many as 85 percent of all targeted attacks" quoted from Intel in 2018.

[1] - [https://www.us-cert.gov/ncas/alerts/TA15-119A](https://www.us- cert.gov/ncas/alerts/TA15-119A)

[2] - [https://www.publicsafety.gc.ca/cnt/ntnl-scrt/cbr-scrt/tp- str...](https://www.publicsafety.gc.ca/cnt/ntnl-scrt/cbr-scrt/tp-strtgs- en.aspx)

[3] - [https://www.asd.gov.au/publications/protect/top_4_mitigation...](https://www.asd.gov.au/publications/protect/top_4_mitigations.htm)

</comment><comment><USER3> Intel says the identified stability issues only affect Broadwell and Haswell while they also affect Skylake and IvyBridge.

The microcode updates are also made available to only very few channels and vendors. In turn, vendors are not making the updates available to customers. As an example, SuperMicro didn't release publically an updated BIOS.

So, one month after the end of the embargo, Intel is working very hard to ensure people cannot get properly protected.

<comment><USER4> For Linux, the microcode updates are also available at [https://downloadcenter.intel.com/download/27337/Linux- Proces...](https://downloadcenter.intel.com/download/27337/Linux-Processor- Microcode-Data-File) or similar (oddly, that's the 20171117 version, I recall seeing the 20180108 version there earlier, but can't find it now; in any case, that newer version is still available at [https://pagure.io/microcode_ctl](https://pagure.io/microcode_ctl)). Distributions usually install that microcode update package so that it's activated early in the Linux kernel startup: if you see "microcode updated early to revision [...]" as the first line of your dmesg output, it's that mechanism doing its work.

<comment><USER5> Apparently the 20180108 version is faulty, so they rolled it back to 20171117. I have Manjaro on one of my laptops where the auto update mechanism keeps failing to complete the rollback because the installed version is newer. Good thing the only thing I use that for is to watch videos.

<comment><USER4> Luckly for you, the consensus from the kernel developers seems to be that these firmwares are only problematic if the new anti-Spectre features they expose to the kernel are actually used. The current upstream kernel doesn't use them, and the next upstream kernel will have a blacklist of the problematic firmware versions, so unless you distro patched the kernel to use these features without the blacklist, you should be safe.

</comment></comment></comment></comment><comment><USER6> Intel says, "Intel continues to work closely with industry partners to protect customers against the security exploits disclosed by Google Project Zero."

Linus Torvalds says, "They do literally insane things. They do things that do not make sense ... The patches do things that are not sane. WHAT THE F*CK IS GOING ON?"

<comment><USER7> While Linus is not wrong about the kernel patches, this article is about microcode updates. Completely different thing.

</comment></comment><comment><USER8> It's strange they roll back these updates (microcode and BIOS updates) on all platforms. My HP Elitebook received a BIOS update after which the Microsoft powershell scripts reported the laptop as Patched (and working normally), then, last week a new BIOS update making the laptop vulnerable again.

</comment><comment><USER9> How long before we see an Intel Ad "Natively resistant against Spectre & Meltdown vulnerability"?

<comment><USER10> I think that goes against the rules of marketing. It's more likely that they'll brand the fixes as something like Intel® Protected Speculation Technology™ (PST).

<comment><USER11> Haha, yeah. Checked up on the HP laptop referenced in another HN frontpage link, and the HP description on size used "thinness", not "thickness" which everybody on the planet would use, except marketers ;)

(not native English-speaker though, so happy to be corrected)

(edit: spelling)</comment></comment></comment>


Awesome color schemes for web designers. - <AUTHOR> http://kuler.adobe.com/ <comment><USER2> <http://www.colorschemer.com/> is another great resource

<comment><USER3> Sweet, I can't wait to toss up this tropical scheme up for my site :D

<http://www.colorschemer.com/schemes/viewscheme.php?id=3933>

</comment></comment><comment><USER4> Two more resources: Colour Scheme Chooser <http://www.siteprocentral.com/cgi- bin/feed/feed.cgi> Colour Lovers <http://www.colourlovers.com/>

<comment><USER5> Thanks, colourlovers works really well for me.

</comment></comment><comment><USER6> Is that juwo guy paying attention?

<comment><USER7> Hey, we all got our start somewhere :) The earlier you do it, the better.

Props to Juwo for getting off his butt and putting something out there.

That's more than most people I know can say.

<comment><USER8> thank you!

I notice my karma has slid from 50 to 29 in 3 days!

Sam, were you able to see a demo?

</comment></comment></comment><comment><USER9> Wow. The first one is really close to the color scheme I chose for my house.

</comment><comment><USER10> It's also an Apollo demo app! <http://mashable.com/2007/03/27/adobe-apollo/></comment>


Microryza - Grow the next generation of ideas - <AUTHOR> https://www.microryza.com/ <comment><USER3> I was just speaking with a friend about effectively this same idea the other day. He was super excited and thought it could revolutionize the way research funding works.

It won't. I'm sorry, but it just won't. There are several reasons why a kickstarter for academic/scientific research is doomed:

1) People underestimate the amount of money required to fund research. Starting this Fall, I'll be receiving a grant from the NSF for one year of funding. That funding pays me approx. $1800/mo, plus covers my health insurance ($800/mo), tuition ($5k/semester), and travel ($7000/yr). The university also provides me with facilities and access to faculty and thus have overhead that need to be covered. This grant is shared among 3 PhD students and totals over $180,000.

2) Progress does not happen in leaps and bounds, it happens in inches. Kickstarter projects go from conception or prototype to finished product. Research does not work that way. You go from previous algorithm to slightly updated algorithm. It's a marathon, not a sprint to production.

3) You get nothing. Kickstarter projects give you a cool gadget or game or piece of art or whatever. When you fund a Kickstarter project, you get to see a video of some prototype or sketches that look like they'll be awesome. By the end of it, it's finished and you have this cool new thing that you can enjoy. You will not get any cool new thing from researchers, because they don't even know what it is they're trying to make yet. At best they will produce a conference or journal paper, maybe with a neat little demo of low production quality, and then they're on to the next problem. Scientists are not interested in building production-ready toys, they are searching purely for knowledge. So you as the funder get nothing tangible.

4) Most science is boring to the average person. Researchers live on the edge of human knowledge. They are tackling problems for which there is no known answer. Odds are, if you're in a sexy area like neuroscience, robotics, etc., then the problems you want to solve have been looked at for decades by people much smarter than you. Thus, you are not going to make some gigantic breakthrough that leads to strong AI-- you're hopefully going to develop a new learning algorithm that performs 3% better than the state of the art on a handful of benchmark datasets. Exciting, right?

Overall, it'd be great if we had democratized funding that worked. Unfortunately, due to the costly, slow, intangible, esoteric nature of scientific research, it's unlikely that will happen. Most academics have a hard enough time convincing experts, who have dedicated their lives to the area, that their work is worth funding. I just don't see how it could possibly work.

<comment><USER4> There is truth in what you say, but I don't think it's the end of the story. We don't have to assume that all research is conducted by full-time students/university research assistants. Just as folks can start software businesses on five hours a week after their day-job, it should be entirely possible to make progress in research as a part-time effort, such that: you already have a salary, you already have insurance, you aren't paying tuition, and you aren't paying overhead costs to a university. You may need to travel, you may need resources and equipment, but it should be plausible to get some financial help with that on Kickstarter-like levels.

What if you don't see any interesting results in your research? That's an inherent risk of research. People giving you money should be aware of that.

What if you don't produce anything tangible to give away? Depending on your goals, that's a real possibility. People giving you money should be aware of that.

What if people don't want to give you money? People giving you money should be aware of... well, okay, that doesn't make sense. If you managed to convince people to give you money, then we're okay on that point.

An example: what tangible benefit do people get out of donating to universities? A tax write-off? I guess, but is that really the reason why people donate? What about to the Salvation Army? Or to whatever non-profit org? People donate because they want to help and support the mission. I don't see why it couldn't be the same with scientific research.

<comment><USER5> The thing about part-time citizen scientists is that they _could_ exist, but don't. Or rather, they do exist, but nearly one hundred percent of them are crackpots. I don't think this kind of project can change that, because I don't think lack of funding is what's holding these people back.

What's the problem? Well, doing real scientific research is _hard_ and time- consuming. Just trying to catch up with what's already known in your field of choice takes a lot of time and effort, especially if you're unplugged from the community, and then taking it to the next level by actually discovering something new is far harder. The average PhD student works for several years, full time, before they do their first piece of truly worthwhile work, and in 99 percent of cases we're still not talking about anything significant enough to satisfy your average hobbyist with dreams of scientific glory. Also the average PhD student has access to a zillion things which a hobbyist doesn't, most importantly an advisor who understands the field and knows what approaches are likely to be worthwhile. So for a hobbyist-scientist, we're talking four to five years of _all your spare time_ spent trying to produce one or two papers that probably won't make a big impact. Doesn't sound enticing.

Crackpots, of course, get to take a short cut. Crackpots get the thrill of being a Great Scientist Who Discovered Something Important without the tedious mess involved with actually learning the field and doing science. Crackpots occur when you take the desire for scientific glory and subtract scientific understanding and self-awareness. They're inevitably extremely satisfied with their work, even if they're angry that nobody will take them seriously.

In short, though, anyone with the brains, the commitment and the love of science that you'd need to be a legitimate part-time citizen-scientist in this day and age has probably already found a way to be a full-time scientist instead.

</comment></comment></comment><comment><USER6> This looks fun, I hope it catches on.

I wish more projects told me what they intended to do with the money, though. For example, why does the mathematician need $2200 to investigate neural network stability? Is it to buy a bunch of GPUs? Or to pay an intern? Or to buy ramen for himself? I found the projects that gave that detail ($1200 to go to Costa Rica and collect tissue samples from 5 butterflies, $1100 for components for an analogue computer plus an intern) more compelling because it feels like I'm enabling something concrete.

</comment><comment><USER7> FYI, Microryza is a pun on mycorrhiza, "a symbiotic association between a fungus and the roots of a vascular plant":

<https://en.wikipedia.org/wiki/Mycorrhiza>

<http://mycorrhizas.info/>

<comment><USER8> It's a bit of a shame that it's a hard to remember name. I'm not even sure how to pronounce it.

<comment><USER9> Micro - rye - <USER2>

</comment></comment></comment><comment><USER10> I love the concept: crowd-sourced research can provide an enormous amount of help to research groups barely clinging onto life (financially). However, there's an enormous issue that _also_ needs to be addressed: the impact of university affiliations on the results obtained. In an ideal world, crowd- funded research would lead to public domain research papers (no copyright) and inventions (no patents). Clearly, that's not the real world... More often than not, universities have air-tight intellectual property agreements with all professors and graduate students that grant all right, title, and interest in any inventions or discoveries back to that university. Effectively, it's this that enables major publishers to maintain their choke-hold on the industry.

<comment><USER4> I would like to think a lot of interesting research could be done by educated individuals who view it more as a side-project than as a full-time endeavor. In those cases, having an extra couple thousand dollars to help pay for something or other could be very nice, and would not necessarily put the results under the jurisdiction of a university.

</comment></comment><comment><USER11> Congrats on an exciting site!

How are you guys differentiating your site from Petridish.org? <http://www.petridish.org/></comment>


How to reject a meeting request at work - <AUTHOR> https://www.friday.app/how-to-say-no-to-meetings-at-work <comment><USER2> Does this article actually serve any purpose aside from being a bad spammy promotion for the poster's shitty app? I really tried to see something of value here, but it's just fluff.

Pro-tip on rejecting a meeting: Tell the person(s) you won't attend.

/thread

<comment><AUTHOR> Thanks for the kind words ;)

There's a bit more to the article, which I've summarized below:

1\. Determine if the meeting is process-oriented or mission-oriented. If the meeting is process-oriented, you probably shouldn't reject the request.

2\. If the meeting is mission-oriented, ask the meeting organizer for an agenda via email, which will help you figure out if you are necessary/required. It also creates a paper trail.

3\. If you decide you aren't necessary, politely decline with enough advance notice to be able to address pushback.

If you didn't like this, I'm sorry. I wrote this right after I got into a mess rejecting a meeting request at a previous job, so I wrote down everything I should have done differently.</comment></comment>


How to know your Airbus from Boeing (2010) - <AUTHOR> https://arunrajagopal.com/2010/08/12/identify-airbus-from-boeing/ <comment><USER2> Would be interesting to know the specific reasons for these differences. I suppose these design elements live in the borderlands between aerodynamics and manufacturing/process constraints, since there's probably little pressure to differentiate the brands by look.</comment>


How to Throw a Windows 7 Party: Step 1 - Shoot Self in Face - <AUTHOR> http://tmblg.com/post/194865844/how-to-throw-a-windows-7-party-step-1-shoot

<comment><AUTHOR> I couldn't watch it all the way through. It made me feel sick.</comment>


The Georgia Tech Online Master of Science in CS is now accepting applications - <AUTHOR> http://www.omscs.gatech.edu/program/ <comment><USER2> Quick testimonial:

I went to Georgia Tech and did a CS degree there from 02-06. I taught some of the courses as a teaching assistant and did a year of grad school there before dropping out to go through YC in summer 07.

The CS education was good and rigorous. It's much more formal than you need for web apps (as are all CS degrees I would imagine), but it was a solid program and has served me well.

<comment><USER3> I've been looking for Georgia Tech grads/dropouts who have been to YC. Any chance you could send me a quick email at firstname.lastname@example.com? I run Startup Exchange at Georgia Tech

</comment></comment><comment><USER4> As someone who is on the other side of the fence for this program (I'm currently a CS PhD student at Georgia Tech), I can tell you that many of the faculty are excited about online programs. Hopefully the learning process for the faculty goes smoothly and the online students have a worthwhile experience. I know I'm excited to help TA some of the courses!

<comment><USER5> What is the benefit of going up to Masters/PhD and what did you personally gain from the expereince?

</comment></comment><comment><USER6> I've just submitted my application.

I've got an undergraduate degree from Northeastern University in "Information Technology" and an associate's degree from the Community College of Rhode Island in "Computer Programming." I did both of these degrees almost completely online, part-time, working a full-time job to pay my tuition. Getting enrolled into a master's program for me has been a huge challenge. Many universities do not want to talk to you unless: a.) you've demonstrated independent research, and, b.) you have an undergraduate degree in computer science.

I'm currently a non-degree seeking student at Brown University. This has only been possible because I work a job where I can shift my hours around to attend courses during the day. When initially trying to obtain "non-degree" status, my previous education wasn't even part of the discussion, my experience as an Erlang engineer working in the distributed systems field was.

I find the online master's degree idea extremely compelling. I want to keep learning, but I don't want to drop everything to go back and do a master's degree. I imagine this is the case for many people who simply can't quit their job because they have other financial obligations, or a more restrictive work schedule.

<comment><USER7> You've had that difficult of a time going for a CS masters? What schools have you looked into?

I ask because I'm considering the same thing, but I find it surprising that you can't find __anywhere __that will take you without an undergrad in CS given that you have work experience, especially given that your degree is in IT, which is very related.

<comment><USER8> Around 7 years ago I looked into a grad program in CS with a bachelors in mathematics. I talked with graduate advisors from both my state university and Brown. Their requirements were similar: 4-5 undergraduate courses in comp. sci. and subject specific GRE. I believe the courses they listed were data structures and algorithms, computer architecture, programming language design, operating systems, and software engineering.

I think they've relaxed requirements a little but it's still not easy getting into comp. sci. from another field.

About work experience, the Brown advisor said that, for them, it's a mixed bag. A person from industry knows how to produce an application but there may be large gaps in knowledge. For example, a developer can go a long way using ArrayList in Java but not know a thing about it or alternatives, especially if code generators are involved.

<comment><USER9> Is studying in the UK an option for any of you guys? Many prestigious UK universities offer so-called conversion degrees for people with a non- traditional background. You should be able to produce a solid academic track record and some familiarity with the field, though. For those with a CS background there are many specialized MSc degrees, like Computer Graphics or Machine Learning.

A good example is University College London: [http://www.cs.ucl.ac.uk/admissions/msc_computer_science/](http://www.cs.ucl.ac.uk/admissions/msc_computer_science/)

The so-called generalist programs are for non-CS majors, while the specialist programs are for people with a CS or related background. Degrees in the natural sciences commonly involve introductory programming courses, so those may be a good fit.

<comment><USER8> Thanks for the reply. It looks like a great program.

Unfortunately, my wife would have a hard time finding work in her field and my daughter loves her school and friends too much. I'd feel awful asking them to make the sacrifice.

</comment></comment></comment></comment></comment><comment><USER10> Definitely a step in the right direction, but I wish the degree didn't have the word "online" in it. I'd like to see them advertise the same integrity of their "offline" masters program.

I imagine the work is equal, and the word "online" shouldn't carry a negative connotation, but it sort of does.

Best of luck to anyone taking this on - again, I'm sure the program is great.

<comment><USER11> I can understanding hedging on the first class; nobody knows if this will work well or not, so GT might just be trying to protect its current alumni from dilution in prestige if things go wrong. In the long run though, I agree that the "online" label must go.

<comment><USER12> There is no online label.

<comment><USER12> [http://www.omscs.gatech.edu/faq/](http://www.omscs.gatech.edu/faq/) See the thread below too. It's the same degree.

</comment></comment></comment></comment><comment><USER13> The University of Florida EDGE program offers masters degrees in both Electrical & Computer Engineering and Computer & Information Science & Engineering[1]. The EDGE program has been around for a long time. Before high speed internet was prevalent they actually mailed DVDs to students.

At UF they actually record the same lectures that on campus students are attending. Same quality, just a different medium.

Although UF's engineering program is not as highly regarded as Georgia Tech's it is still a very strong program and worth considering if you are considering Georgia Tech.

Disclosure: I'm an alumni of the UF EDGE program.

[1] [http://www.ufedge.ufl.edu/degrees-and- certificates/offerings...](http://www.ufedge.ufl.edu/degrees-and- certificates/offerings#Degree_programs)

<comment><USER14> $725.75 per credit hour (non-resident) for EDGE vs. $134 for GA Tech OMS CS is a significant difference.

</comment></comment><comment><USER15> As a person who had a 2.92 GPA getting out of university(I transferred from one univ to another so while my credits were accepted from the first, the 3.3 GPA didn't carry), how critical are graduate schools of this sort of thing? I have a BS in CS, and about 9 years of real-world development experience under my belt and can probably get good recommendations from supervisors / professors. Can anyone comment on this?

Edit: I'm in the process of updating my resume and applying. While I'm still curious for anyone's thoughts for this, I figure it doesn't hurt to try anyway :)

<comment><USER16> From my experience people that have been out of school that long and don't have a good GPA usually take a few graduate courses through the non-degree program, then get a recommendation from the professors when they apply to grad school. It probably will vary from school to school. Grades alone however usually grad school will want over a 3.0 GPA and 2-3 recommendations from professors.

<comment><USER15> Thanks! That's sort of what I was afraid of, but if this might be the route I have to go then it'll give me a better shot of getting into a program. By then I'll see how well the current crop of Georgia Tech students like the program and go from there. I'm doing a Machine-Learning class from Coursera / Stanford starting next week to give me a taste of things, too :)

<comment><USER17> This is essentially how it worked for me, too. I had a 2.92 overall GPA but showed them a 3.6 GPA in my major, and was provisionally admitted (based mostly on my letters of reference and work experience). It seems admissions and department heads have quite a bit of flexibility if you can convince them to apply it. :)

</comment></comment></comment></comment><comment><USER18> Just a reminder these classes will be available for free on Udacity as well. To me that seems like a better option for the first round of classes.

<comment><USER19> Yup! The 7 grand would be for the accreditation. I find this model to be awesome. Makes me proud of my school.

</comment></comment><comment><USER20> A list of all the courses:

[http://www.class-central.com/initiative/gatech-oms-cs](http://www.class- central.com/initiative/gatech-oms-cs)

</comment><comment><USER21> Does anyone know how "accredited" this is an whether you could do this on an F-1 visa? Just curious. Would be kinda nice to do Georgia Tech without having to move.

<comment><USER22> I am wondering the same thing. As I am working full time on F-1 OPT right now, is it possible that I can enroll in this program? (I am not interested in the master degree OPT but rather the degree program itself).

</comment></comment><comment><USER23> I'm surprised at the 100 student limit they impose. I'm currently following MIT's 8.01x Physics course on edX along with 33k other students. So far I haven't had an issue that's a direct result of the number (like felling I don't get enough attention from the staff.)

So on one hand we have options like edX, which reach a lot more people and are mostly free ($50 for a verified diploma) that reach orders of magnitude more students, and on the other a paid-and-accredited degree.

I personally hope they'll be more of the first ones, because of a) not being able to spend $6k and b) the warm feeling I get in my stomach when I think about free and high-quality education that reaches tens of thousands of people.

<comment><USER24> This is the limit for their "pilot program" and will be dropped in the future.

<comment><USER23> Great. Do you maybe know if they plan on dropping the price in proportion to the number of students rolled in?

I'm thinking: if they enroll 10x students, their expenses will be covered if every student paid 1/10 of the price. And getting a masters degree for $600 from an accredited university... that's really something.

<comment><USER25> There is a non-trivial per student cost assuming they don't just put your programs through an automated tester.

<comment><USER26> And if everything you do for class can be graded by an automated tester, it's not going to be a very good MS.

</comment></comment></comment></comment></comment><comment><USER27> I'm applying, but don't have terribly high hopes. I'm hopeful that they'll look past my lack of a high-school diploma, in favor of my industry and teaching experience, but we'll see. It would be awesome to be a part of this.

<comment><USER28> How can we help?

<comment><USER19> Erm, question. Are you _the_ Sebastian Thrun? If so, that's awesome.

</comment></comment></comment><comment><USER29> As someone that only has a roughly BS equivalent degree: I checked the application form and closed it again.

I'd love to enroll, I just recently discussed with my wife that I'd love to get a better theoretical background, enroll again.

But .. the list of requirements to apply corrects this German's idea of what bureaucracy means and I cannot provide most of the documents, nor does it seem that this is seriously targeted at non US citizens. Not for me unfortunately, but I do appreciate that this is offered in general, and even (in theory?) includes global applicants.

<comment><USER30> There is probably less bureaucracy than you think. It all depends on who is making the decision. You should email them.

When I looked into schools, some schools stated they wanted a 3.0 GPA, for instance. this seems standard and seems like school policy, but I have found out that it isn't very strictly enforced at many schools, even public schools. there are things that are stated because the state makes up what rules need to be advertised for public schools, but departments often don't care.

In the end, they want your money, especially for a master's degree where you'll be paying.

If you're interested, you should try emailing them and try to get a feel for how lax they are about such things.

</comment></comment><comment><USER31> Does anyone know if doing this masters will count in front of USA immigration department? In other words will this degree move me from EB3 to EB2 category in Green Card application: [http://www.murthy.com/2011/07/15/eb2-or- eb3-understanding-th...](http://www.murthy.com/2011/07/15/eb2-or- eb3-understanding-the-difference/) . Masters from the school where I did bachelor's degree only counts as bachelor degree in USA, so it would be very important factor for some people.

</comment><comment><USER32> So my problem is I never finished my undergrad. But I have no desire to put 3-4 more years work (its been 12+ years) into paying a whole lot in time and money for an undergrad degree. I've worked in the industry and learned the bits I was missing. (Advanced algo, statistic/probability, linear algebra)

I'd like to participate in the GA Tech program, its worth my time and the machine learning/vision curriculum is exactly up my alley. Mind you I've been picking this up anyway recently because I'm interested in the subject and have some product ideas to hash out with it. The grad degree would be nice to have, but not the end of the world.

I tried to email the contact for the program and they wouldn't really say one way or another if they would even consider people who didn't finish undergrad.

I would suggest that GA Tech should open a couple weeder classes. Let people who can hit a certain threshold take them and prove competency.

A degree is a nice benchmark, but in CS we have a pretty wide variety of ways to learn. It would be nice to be able to segue in and out of the academic system smoother to get needed credentials.

<comment><USER33> The page says:

 _Preferred qualifications for admitted OMS CS students are an undergraduate degree in computer science or related field (typically mathematics, computer engineering or electrical engineering) from an accredited institution with a cumulative GPA of 3.0 or higher. Applicants who do not meet these criteria will be evaluated on a case-by-case basis; significant professional or other work experience with supporting recommendations may qualify as an adequate substitute for the appropriate academic credentials._

which seems to imply that they're at least willing to consider applicants without a degree.

<comment><USER32> Reading that a second time it does seem that way. At first it seemed to be less flexible and required a degree. Just that the particular discipline was flexible.

Thanks.

</comment></comment></comment><comment><USER34> The page they link to [1] mentions that you need to submit your GRE scores. However the page itself doesn't have any mention of the GRE being a requirement? Any idea what the actual stance on this is?

[1] - [http://www.gradadmiss.gatech.edu/apply/index.php](http://www.gradadmiss.gatech.edu/apply/index.php)

<comment><USER35> I was actually wondering the same thing.

I took the general GREs back in 2008 but I'm just over the arbitrary 5 year cutoff that the ETS imposes on score validity.

<comment><USER35> Incidentally, the FAQ on the OMS CS page says explicitly that you do not need to have taken the GRE.

</comment></comment></comment><comment><USER36> Only a 100 open slots and potentially 10,000 of applications as it seems they accept applications from all over the world. And there will be no visa issues. That means they might be able to be even more selective than with their regular offline classes. => Very good to give the online degree an initial boost in prestige.

</comment><comment><USER37> If you are a non-US student then you must still submit a TOEFL score. From the FAQ:

 _If my country's primary language is English, do I still have to provide a TOEFL score?

Yes. TOEFL scores are required of all international applicants, except those who have spent at least one year in residence and enrolled at a U.S. college or university. _

<comment><USER24> With a little digging, you can find this: [http://www.gradadmiss.gatech.edu/faq/documents/TOEFL_Require...](http://www.gradadmiss.gatech.edu/faq/documents/TOEFL_Requirements.pdf)

<comment><USER37> I am faintly amused that Canada is not on this PDF list of either de facto or de jur countries where English is spoken.

<comment><USER24> I asked them about this, and its not a mistake. It depends on the province.

<comment><USER37> They clarified that any province outside of Quebec is exempt from TOEFL. Quoting their tweet excerpt back to me:

@GTOMSCS: _Canadian universities outside of Quebec are exempt from TOEFL._

</comment></comment></comment></comment></comment><comment><USER38> Yay! I got my application in before someone posted it to Hacker News. I might actually have a chance now.

<comment><USER39> Me too ... I was a lousy student (in the early '80s) and then scored well on the Comp Sci GRE in 1990. I'm wondering whether they'll see the change I recognized in myself during that span.

<comment><USER24> I'm curious about your GRE comment - I took the GRE in 2007, and did well, and thus would like to include it in my application, but ETS says GRE scores are only valid for 5 years.

<comment><USER39> But other than Coursera and employee development, those GREs are the last academic record I have. You would think my transcripts from '85 would be even less relevant with that line of reasoning, but that might be exactly what keeps me from enrolling.

<comment><USER24> FWIW, You can retake it relatively quickly.

<comment><USER39> If I knew this course was imminent, I might have but the Computer Science subject test was discontinued (see the note here: [https://www.ets.org/gre/subject/about?WT.ac=grehome_gresubje...](https://www.ets.org/gre/subject/about?WT.ac=grehome_gresubject_130807))

<comment><USER40> I don't see a note on that page. What did it say?

</comment></comment></comment></comment></comment></comment></comment><comment><USER41> Does anyone know a good undergraduate online program?

<comment><USER42> I did some looking in to this a while ago, can't vouch for any of them personally, but known accredited schools with BSCS or at least related fields:

University of Illinois (BSCS) [http://www.online.uillinois.edu/catalog/ProgramDetail.asp?Pr...](http://www.online.uillinois.edu/catalog/ProgramDetail.asp?ProgramID=638)

Drexel (BS Computing and Security Technology) [http://www.drexel.com/online- degrees/bachelors-degrees/bs-gs...](http://www.drexel.com/online- degrees/bachelors-degrees/bs-gs-tech/index.aspx)

Penn St. (BS Security and Risk Analysis) [http://www.worldcampus.psu.edu/degrees-and- certificates/secu...](http://www.worldcampus.psu.edu/degrees-and- certificates/security-and-risk-analysis-bachelors/overview)

There may have been a couple more, but these are the ones I bookmarked.

</comment></comment><comment><USER43> This might be a naive question, but why is this so inexpensive? Don't get me wrong, education is definitely way more expensive than it "should" be, but I recently started a Master's in CS at DePaul and $7,000 for the whole degree is a fraction of what I'm paying.

I understand DePaul is private and expensive anyway, but $134 per credit hour is still far and away cheaper than anywhere else I've seen while I was looking for schools to apply to, even in-state public schools.

<comment><USER9> As a European I can only ask why this is so expensive...

</comment></comment><comment><USER44> I'm doing Computational Investing from gatech on coursera now, [https://www.coursera.org/course/compinvesting1](https://www.coursera.org/course/compinvesting1).

I do enjoy the course because I wanted to learn more about finance, although they could improve a lot on their presentation skills and material preparation. I hope they will take a lesson or two from their coursera feedback for the benefit of their online students.

<comment><USER45> Good class, I can't stand the first 15 second music intro.

</comment></comment><comment><USER46> Hm. I have a PhD in chemistry, am considering this as a career shift option. I can write software, I've just never done it formally.

<comment><USER47> You don't need a CS degree to develop software. I have one but plenty of my coworkers do not. If you want to see if the work suits you without jumping right into the deep end or going back to school, see if there are any Software Craftsmanship apprentice programs in your area. You'll get more exposure to test-driven development and other ideas than most jobs however it may have a consultant slant to it as that is what a lot of SC places are doing.

<comment><USER46> Yeah I know, but I'd like some a more in-depth understanding of certain topics, in particular neural networks. I think it's a field where my particular expertise (mechanistic chemistry and biophysics) can bring in translateable insights.

</comment></comment></comment><comment><USER48> I have an ALM in IT from Harvard Extension School. I've always felt like a degree without any 'extensions' would be nice to have. On the other hand, I don't want to pay 7k a year for another program that's similar to the one I paid for already.

Am I even eligible? Is this program better or more challenging? Is it worth it? Other thoughts?

</comment><comment><USER49> From the linked page:

      > Information Required for Application
      > [...]
      >   Ethnicity

_Really_? I could have sworn they're not allowed to require you to provide that. (They can ask, but only if they make it clear that the response is optional.)

</comment><comment><USER50> Will students who don't have their application accepted be able to get a refund?

<comment><USER51> Generally in the US the application fee isn't refundable. I've always understood it as a way for schools to offset the cost of processing applications and prevent folks from applying to every college under the premise of "Maybe I'll get lucky and be accepted into MIT"

<comment><USER50> My credentials aren't that great, so I'll just wait and apply next term to increase my chances of getting accepted.

<comment><USER52> From the FAQ: . Students who qualify but are not offered admission during Spring 2014 will be offered deferred admission in subsequent terms.

</comment></comment></comment></comment><comment><USER53> I'm working on my application now. I barely meet the requirements, so it'll be interesting to see if I can get in for the trial period or for the Fall 2014 semester.

</comment><comment><USER54> Are they going to offer the course materials for free as well?

</comment><comment><USER55> The application is asking for a Academic and Career plan upto 4000 words? How important is to meet this word limit?

<comment><USER56> I thought it was up to 4000 characters.

</comment></comment><comment><USER57> I applied this morning. I kinda rushed my statement of purpose but hopefully it was sufficient. Wish me luck!

</comment><comment><USER58> i would love to apply to grad school to get a CS degree (or even get a second bachelor's). The problems are that my bachelor's is in journalism, and my cumulative GPA was only 2.9. And I've only had a year of professional programming experience :(

<comment><USER59> You shouldn't be allowed in right now because with your experience you would be unlikely to succeed.

This is intended to be a serious master's degree from a top ten university for people with strong practical knowledge. Unless you are a brilliant student, it will be very hard for you to pass the initial courses - those required to continue - especially because you probably will not be doing this full time. It's unlikely that you're a brilliant student because you chose to study journalism. I made the same mistake.

Udacity failed in their first attempt at accredited online courses with San Jose State. This was attributed to unprepared students with full time jobs.

Georgia Tech can't accept this. So for the demonstration classes over the next few years, they'll carefully choose the most motivated and capable people from all over the world.

That said, MOOCs likely respect the work of other MOOCs, and there are lots of courses on programming available. Udacity already has great ones (i'm currently taking debugging), and even these can be difficult to complete on time.

So it seems like using these to develop the discipline to complete the courses will be perfect preparation for you to take the Master's.

And when they begin to accept more students, they'll likely start looking closely at those who show demonstrated aptitude for working through online courseware.

<comment><USER58> heh. > It's unlikely that you're a brilliant student because you chose to study journalism. I made the same mistake.

i don't see the line of logic there, but oh well.

i just signed up with the course era python course, and i'll probably do a few more of those courses. So you think several of those in conjunction with full time programming will get me ready for a master's (or any other degree?) in a year or so?

<comment><USER60> Man, don't let people discourage you.

I guess the thing that you should realize though is that this isn't a degree in computer programming, or IT - it's a more or less a mathematics degree. As the saying goes, "Computer Science is no more about computers than astronomy is about telescopes."

If you want to get ready for serious computer science, I'd recommend a few things which are what I think I got out of my undergraduate degree:

1\. A solid understanding of algorithms and data-structures. To this end, topcoder.com/tc is invaluable and some serious study will quickly bring you up to speed. CLRS (Introduction to Algorithms) is a great resource, as is train.usaco.org.

2\. A basic understanding of theoretical computer science. To that end, I found this a really useful book: [http://www.amazon.com/dp/0321455363](http://www.amazon.com/dp/0321455363)

3\. Basic understanding of networking and operating systems. Not sure the best route here, there must be online courses. Not too many great self-study books in this area, unfortunately. So find some online courses.

4\. A decent math background: linear algebra, calculus, combinatorics, and probability. For self study:

        Calculus: Stewart's Calculus is great.

        Linear Algebra: I've yet to meet a linear algebra text I liked, so not sure here.

        Probability: A First Course in Probability is an outstanding textbook.

        Other: Concrete Mathematics by Knuth is an incredible book, very VERY hard and took me a long time to get through, but packed with useful and interesting information. I'd recommend it after the rest of these.

5\. Read Snow Crash and watch Hackers.

Also, keep writing lots of code. Daily practice is the secret to everything.

</comment></comment></comment></comment><comment><USER61> Would online students have access to paywalled research papers?

</comment><comment><USER62> Now we just need an online BSCS from a real college.

<comment><USER63> Seeing as I've met Stanford programmers that didn't even know how to write object oriented php before, what exactly is your definition of "real"?

<comment><USER64> Why would object oriented PHP be a part of Stanford's coursework?

<comment><USER10> You'd expect students of that caliber to work outside of the classroom.

<comment><USER65> What if the person did plenty of work outside the classroom, but it never happened to involve object-oriented PHP? I just don't understand the bizarre notion that if one hasn't written object-oriented PHP before, then apparently, well, I'm not even sure what the conclusion is supposed to be, but it seems to be along the lines of "you are a crappy programmer."

<comment><USER66> I think the problem is many people mistake CS programs for some sort of vocational education.

</comment></comment></comment></comment></comment></comment><comment><USER67> How much does it cost in total?

<comment><AUTHOR> The page says:

"Tuition: $134 per credit hour

Fees: $301 per academic term of enrollment"

And I found this:

"Georgia Tech's M.S. in Computer Science requires a minimum of 36 credit hours for completion."

So at 4 semesters you would be looking at:

$6028

<comment><USER68> That number seems low...

doing a bit more digging:

[http://www.bursar.gatech.edu/tuiandfee.php](http://www.bursar.gatech.edu/tuiandfee.php)

[http://www.bursar.gatech.edu/student/tuition/Fall_2013/Fall1...](http://www.bursar.gatech.edu/student/tuition/Fall_2013/Fall13-all_fees.pdf)

1 semester for an out of state, 6+ hour (per week) student is $13,781.

<comment><USER38> The links and prices you've posted are for a different program.

<comment><USER68> ah, that's + undergrad. yup, my bad.</comment></comment></comment></comment></comment>


Ask HN: What are the main differences between Common Lisp and ISLisp? - <AUTHOR>

I can only find superficial things like "ISLISP is a much smaller spec than Common Lisp". I am interested in knowing what are the main practical differences between the two standards i.e. what are the advantages of one over the other. <comment><USER2> From wikipedia: "The goal of this standardization effort was to define a small, core language to help bridge the gap between differing dialects of Lisp. It attempted to accomplish this goal by studying primarily Common Lisp, EuLisp, Le Lisp, and Scheme and standardizing only those features shared between them."

So it sounds like a standardized intersection of the most common LISP dialects?</comment>


Posting successful SSH logins to Slack - <AUTHOR> http://sandrinodimattia.net/posting-successful-ssh-logins-to-slack/ <comment><USER2> This is neat! Threw together an Ansible role for it:

[https://github.com/duggan/ansible-slack-notify- ssh](https://github.com/duggan/ansible-slack-notify-ssh)

</comment><comment><USER3> Is Slack really the right place for security-critical notifications?

<comment><USER4> Not in my book. Slack seems to be really cool but since it's not self-hosted and owned by a US entity, I'll stay clear.

<comment><USER5> It's an ssh login notification with a user and IP address. It's not notifying everyone what the new launch codes are. Let's not overstate it.

<comment><USER4> I'm not referring to the SSH logging, I mean slack in general.

</comment></comment></comment></comment><comment><USER6> If you want to send email on login, add in /etc/profile :

echo "`whoami` logged in at `date` from `echo $SSH_CLIENT`" | mail -s "`hostname` login" firstname.lastname@example.com

Note that people can still ssh execute remotely etc.

<comment><USER7> You'll definitely want to add a '&' at the end of that line so that you don't delay user logins if the network is down or mail barfs.

<comment><USER6> right, actually I do have a delay in a server with no mail where it fails :-)

</comment></comment></comment><comment><USER8> I recommend using something like OSSEC to watch your logs and also tie it to Slack/Pagerduty.

This post explains how to set it up:

[https://blog.sucuri.net/2016/01/server-security- integrating-...](https://blog.sucuri.net/2016/01/server-security-integrating- ossec-with-slack-and-pagerduty.html)

</comment><comment><USER9> I did a similar thing a couple of days ago. I just added this (with the correct values) in the `sshrc` file inside `/etc/ssh` and enabled a webhook. that's it.

ip=`echo $SSH_CONNECTION | cut -d " " -f 1`

curl -X POST --data-urlencode 'payload={"channel": "#<your channel>", "username": "SSH Login watcher", "text": "User '${USER}' just logged in from '${ip}'", "icon_emoji": ":robot_face:"}' [https://hooks.slack.com/services/<rest](https://hooks.slack.com/services/<rest) of the webhook>

</comment><comment><USER10> I do the same thing, except I email the logins to myself with SEC: [https://simple-evcorr.github.io/](https://simple-evcorr.github.io/)

</comment><comment><USER11> Elegant. Thank you! Is there a way to extend it to override DND?

<comment><AUTHOR> That's a great idea. But I didn't find any docs that explain how to override DND. I opened a feature request instead, so we'll see how it goes :)

<comment><USER12> That kind of gets you into this sort of problem: [https://blogs.msdn.microsoft.com/oldnewthing/20110310-00/?p=...](https://blogs.msdn.microsoft.com/oldnewthing/20110310-00/?p=11253)

If you start overriding DND, now the user is going to want super-DND. Which somebody will then want to override, and so on. The correct solution is that your users need to not set DND when they in fact need to be disturbed, and your systems shouldn't be disturbing unnecessarily, and to the extent that's a _really hard problem_ , well, yes, it very much is, but an unboundedly-large hierarchy of "bother that person, no don't bother me, SUPER bother that person, no SUPER don't bother me, SUPER MEGA bother that person" isn't part of the solution set.

<comment><USER13> The biggest problem with DND in my book is that when first introduced it was enabled automatically, and not super obvious that it was enabled.

This caused more than a few missed announcements and made escalation hard for a bit.

</comment></comment></comment></comment><comment><USER14> Love this, great idea! I've been trying to setup useful Slack integrations lately and this is a really clever use of them.

</comment><comment><USER15> Excellent. I've been thinking about having a SSHD keylogger post to slack (or some other log). It's crazy that sshd doesn't have this functionality built- in. It's so important to know what your admins are executing on your machines. Aside from the fact that they might have been compromised, it's just good to know what sort of general administration is being done.

<comment><USER16> > It's so important to know what your admins are executing on your machines...

Micromanagement at its finest!

> it's just good to know what sort of general administration is being done.

Your change management process will give you an overview of what your admins are doing.

<comment><USER3> Incident response. When one of your admin accounts is compromised, you'd want to know what the attacker executed.

<comment><USER17> Yes you would - but why just SSH? Wouldn't auditd execve syscall logs sent to a logstash server be better? It'd handle compromises other than SSH too.

<comment><USER3> Yes - though there's more to a SSH session than executing commands (interacting with interactive editors, port forwarding, etc.)

</comment></comment></comment></comment></comment><comment><USER18> srvAudit also does this, though it's still early in development. srvaudit.com</comment>