skysight-inc/HackerNews huggingface dataset:
Really? Seems like HTML/JS is the best choice for cross platform application development. These days with Chrome, Firefox and even Safari you can create really full featured applications. The new HTML5 API's are incredibly full featured. Just the other day I created an App for my daughter to helper her login to her school computers - so I decided to create a login screen and then I realized with HTML5 audio API, I can also read aloud each key press as well as an intro text so even though she can't read yet she can use the App. It's 100% JS and HTML/CSS for UI.

At my job we spend thousands of hours building our native App for Android and IOS for work and it's painful - when I can open the browser and nearly all the capabilities are in browser and the browser already cleanly abstracts the process of editing UI via HTML/CSS. I've yet to find another UI framework as powerful or quick to develop in as HTML/CSS - and the performance is looking really good in the browser. Native app performance is a myth unless maybe you're writing a video game?
It has:

- https://news.ycombinator.com/item?id=8339705 top comment

- https://news.ycombinator.com/item?id=8334933 further down
Google have a reputation for paying above market rates, do they not?
A word of caution - projects in topics like AI and big data sometimes end up being much larger than you thought at first. I would suggest that you find something achievable within the time you have. Besides teaching technical skills, capstone projects teach project management skills. I think you will find that future employers will be much more impressed with a well executed project than a technically impressive project that never got off the runway.

That doesn't mean you cant explore these topics... just find something that you are passionate about, and aggressively scope it down for the first pass. If you succeed, you can always make it larger!
A linked list is an actual data structure, whereas JSON is just a format for storing data. The computer actually has to lay the json out in memory somehow.

JSONs have keys that are strings so a hashmap or hashtable is probably more likely.

http://en.wikipedia.org/wiki/Linked_list

http://en.wikipedia.org/wiki/Hash_table
Having spent a little time on the sea, it's remarkable how much weather impedes any operations, and naturally accidents often happen at night in bad weather.

These huge ferries just had to wait there and about a hundred people died right outside in the sea.

Just running a regular rubber boat in normally windy weather on the Baltic is next to useless as the propeller spends a large portion of time out of the water and you can't get anywhere. Coast guards and specialized rescuers have better high speed RIB boats. And in the Baltic it's probably nothing compared to North Sea weather.

If one could develop a large enough quad- or hexacopters that could be stored on all ferries and deployed to pick up people and lower them to ferry decks, that would help a lot. Hypothermia kills people so quickly there's often not enough time to send specialized help craft from far away.
If you see a TV on the side of the road and take it. Is it the person's fault if it burns your house down?

I am not saying programmers who make free software leave it out like garbage. I am saying people who use free software for their benefit treat it that way, yet act as though they bought it.
Have you tried talking directly to researches with similar interests to you about potential ideas? They'll often have stuff in the back of their minds that they wouldn't want to put out as a general proposal to undergrads...
As much as I think the fact that assignment in C returns the value causes barbaric illegible code, c programmers seem to love it

C doesn't have all the nice sugar that comes with newer or more high-level languages.

Sure, it would look nicer if we were able to write things like

for (char cc : stdin.chars) { ... }
for (string : iterator(env)) { ... }

But that's not an option, so we make do with what's available:

for (int cc; (cc = getchar()) != EOF; ) { ... }
while ((string = *env++)) { ... }

Assignment expressions are crucial for that.
So here's an idea: why doesn't Starbucks create and distribute the names? A sticker goes on the cup and the secret agent gets the corresponding name on a piece of paper. Like, they print paper with two parts: one part is the sticker that goes on the cup and the other goes to the customer.

Or maybe do it inside-out: print the cups with some phrase on them and have paper that peels off with the same phrase to give to the customer. And do it across all the Starbucks stores. I'd like this: the number of times I have to explain "Hugh" [1] or get a cup that says Q or Hue or Hu is modestly annoying.

[1] That conversation goes like this, at least in my imagination:
Me: Like Hugh Grant or Hugh Laurie or Hugh Hefner or Hugh Jackman or Hugh Brown.
Barista: Who is Hugh Brown?
Me: I am Hugh Brown and you are making my coffee.
Anybody know Bryan Lunduke? He's a guy giving talks called "Linux sucks" in which he basically bashes Linux for 20 minutes and then concludes that Linux is the best FOSS OS community because they can take the bashing (get it?). He's been giving these talks for quite a while now. Everybody knows Theo de Raadt is crazy (and Stallman isn't) and of course everybody knows Apple fanboys tear up every time somebody implies Apple software has a bug in it.

In my experience it's the exact opposite. I've been hearing a lot of explanations for the bash debacle in the last couple of days and they all amaze me to a certain degree. Let me share a couple of them with you.

1. Total breakdown - "No software is ever safe, so what the hell do you want from me." Yeah, well ... don't write software then.

2. It's not my fault - "Bash is written in C. C is unsafe." Quite a lot of people write safe, well tested, maybe even formally verified C code. So, yeah ... don't hack in C maybe.

3. Linux is still fine - "Bash is just a tiny part of Linux. The rest is still good to go." Turns out the bash codebase looks a lot like the rest of the GNU/Linux universe. Old, untested C code that's hard to read and even harder to understand. That's why nobody dares to touch it in the first place.

4. It's FOSS - "You can't expect anything to work. Cause, you know, it's free." If that were true, using FOSS would be a terrible idea.

5. You're using it wrong. ... just wow.

Can't we just all agree that this kind of thing is an endemic problem in most of the code bases we use (including my beloved FreeBSD) and we have to figure it out over the next couple of years. There are loads of tools that should have never been implemented in C/C++ in the first place (SSH, Make, APT, etc.). I'd say the best idea is to port a lot of these code bases to languages like Go or Rust maybe, but if that's not feasible for some reason, at least write some unit tests and do static code analysis. And, this is probably the most important point, if you don't want to do any of this, please don't make lame excuses when it all falls apart eventually.
Helsingin Sanomat (Helsinki Times) made an impressive article about the incident with background ambiance and videos. Do other newspapers do these kind of interactive stuff?

http://dynamic.hs.fi/2014/estonia/

There was also a similar article made about the Plura cave diving accident with all that stuff and a friggin minimap of the divers!

http://dynamic.hs.fi/2014/syvalla/
It's pretty surprising that they are using CVS for a new project
MS Estonia: A Sea Story (2004)
US court orders American companies to give up info stored on Europe servers
What's wrong with MSR right now, out of curiosity?
We are talking about bash here. There is no mystery about who to donate to. GNU has a pretty good approach to the problem you describe.
thanks, definitely good piece of advice. I know AI projects might be too big, but as you said maybe I could do something small, well executed what later on could be improved.
I just joined the FSF.
Actually, JavaScript can create native controls and calls on all of those platforms through an API layer, using a framework such as Titanium. JavaScript has not been limited to webviews for at least 5 years now.

Many Gnome (Linux) apps original language is JavaScript (GJS). iOS 7 came with a JS API. It is such a powerful language for async and UI design that it adapts well to all these platforms.
How does it violate your freedom to warn you of a serious danger? The fact is they didn't know bash would execute code found in arbitrary application-defined variables. And that is why GNU calls it a bug.
OpenBSD is developed as a complete operating system following a cathedral model. LibreSSL is part of the OpenBSD base system (as libssl), which is hosted on CVS. Naturally, so will LibreSSL.
am am I the only one who has always been kind of creeped out by environment variables? They just seem to exist so far outside of the normal security system.
this is something I need to do. before that I want to have some of the ideas lined up in my head
> There are workflows which gasp do not mesh well with github.

If we're discussing open source collaboration, it is hugely beneficial to NOT have your own unique workflow and instead adopt one that a large community of people are already using.

In the time it takes to read your special "how to submit a patch" document, I could have already been done if you were using a de-facto standard workflow like Github's. This has a material impact on how much contribution you can expect to get from others.

This is yet another case of Worse is Better. Ubiquity trumps perfection.

I have heard it argued that making contributions harder to submit is somehow a good idea, because it keeps lower quality contributors out. This is very much mistaken, and even someone as cantankerous as Linus is on the record saying that encouraging more patches, even annoyingly naive ones, is in the long-term interest of the project.
This takes surveillance to a new level where data about Europeans - stored in Europe - is subject to US jurisdiction due to being held by American companies...

"Why should the American security services be able to access to our MPs emails, when even the British security services cannot?" he asked."

"There remains a concern that if data is held on a US company's equipment – wherever in the world it might be – it is accessible to the American legal process," said Prof Walden."
no, I rely on the fact that any version of an "eval" function should just no exist and that any text based protocol encourages the existence of such functions that can execute whatever is thrown at them, just because it sounds so easy and a quick shortcut in API design.
Was Kathy Sierra garbage?
These all sound like attributes of a job definition - not separate entities to which a job is related. You are correct they would need to be indexed.
The overall structure of the proof is not by contradiction, but one of the steps is. The Wikipedia article calls this out, right after the sentence you quoted.
Since numbers are infinite and the ways we can manipulate them are infinite (or at least large) doesn't it mean that unlikely or strange things happen all the time?

I would be more surprised if they wouldn't happen.
contribute to my PHP Vulnerability analyzer. make it better.

mobman.bitbucket.org
There's an English-language newspaper called Helsinki Times, which is not affiliated with Helsingin Sanomat:

https://en.wikipedia.org/wiki/Helsinki_Times
No. As far I as I know it is not a fork. Forking b/c of an overreaction due to a "bug" that was patched as soon as it was reported is asinine.
Amazon Wishlist Down
Among the good and bad stories this year, so far, LibreSSL is the good story of the year.

Also happy to hear a bit about the ressl API. To me it sounds like a focused, high-level API that makes it easy to get right and hard to get wrong. So kind of like NaCl. It's clearly the future -- look at the huge amount of software being written for Sodium now, for example. It's huge.
There's a moment when you realise you should avoid allocations because you discover that allocations are expensive. Then you also realise at some point that you cannot avoid some allocations (e.g. you need to perform some non-blocking networking) and because of the first point, you get a bit frustrated by this: you're forced to do something that is expensive.

That's exactly when you realise that you can get rid of that frustration if you introduce some complex caching, object pools or more complex structures. But the more complex it gets, the more frustrated you become (again). Finally, you end up writing something simple and efficient: a memory allocator that matches the exact allocation pattern of your use case... and you want to allocator to be as efficient as possible.
Why, after OTP has been open sourced the project got lots of reviews, bug-reports and bug-fixes and overall quality has been even more improved.

The same ideas works with crucial projects such as openssh. No one could count how many eyes was on the code to find a flaw in the code or a way to exploit.

btw, Erlang/OTP is so good, that nowadays when you are using your mobile, your data most probably at least once is going through an Ericsson hardware and an Erlang VM within it.

As for code review, almost every major project does it nowadays, you like it or not.
Apparently shellshock and heartbleed were both found by reviewing code...
Because defining constraints in code is more of a faff than just doing it visually? Its also more immediate since (as far as I know) Xcode doesn't support anyform for edit and continue outside of Playgrounds.
That map can't be completely accurate. It shows parts of Iceland and Greenland as settled that are uninhabitable even today. And "frequent raids" in the Arctic Ocean? No..
I really love the idea of GNU, yet the FSF seems to more interested about "principles" than shipping good code and empowering collaboration.

In times of Github and low-entry barrier participation, GNU sticks to the old ways like a dinosaur - petrifying.

It reminds me a little of vim, as bash, it has a really old code base, old-style function headers (not ANSI C). For Vim it took a github-based fork (neovim) to get a big community on board, establish tests and perform the necessary refactoring. All of this is great, just as the work of the founders of these programs. The criticism is not aimed at the work that was done by the "founders" of these landmark programs, but the stagnation of development and refactoring.
Interesting and quick work. The story of the libcrypto SRP glass house makes me feel like a little kid who just heard a ghost story.

Is OpenSSL being notified of security bugs you all find in your pairing down process?
Yep, it sure was. Bugs introduced because a developer is unfamiliar with the codebase is a thing that happens.
What do you suggest the alternative should be to make bugs inherently easier to find?
It was bash this time, who knows what it will be next time?
> 2. If it's not prime, it has divisors. This proof claims it must include divisors that are prime but are not among those we started with. <-- THIS IS THE BIT I DON'T GET

This step of the proof invokes the Fundamental Theorem of Arithmetic [0]: the statement that every natural number can be expressed as a unique product of primes (uniqueness isn't the important bit here, just the fact that such a factorization exists).

So you need to accept the Fundamental Theorem of Arithmetic as true before you can fully understand this proof.

[0] http://en.wikipedia.org/wiki/Fundamental_theorem_of_arithmet...
Mine is working just fine.
Thank you for mentioning this. What I don't understand is that no one is talking about the responsibility of the programs reading the user input. They have a responsibility to validate anything they receive using a whitelisting approach (i.e. denying anything that doesn't match expected patterns).

If a program simply slurps in user input without doing any basic validation according to published RFCs then there's a bug in that program.
Strange Loop part 4: FRP, JS, and Clojure
Thanks for your concern, but we don't see a point in just removing it in git because it doesn't really help. the key is in several branches, in our iso file, every rockstor rpm in our yum repo and not to mention lot of users who have downloaded rockstor.

We changed the key in our live demo, but for our users we'll roll out the fix in the next update. As part of that fix, we'll also remove the key file from git.

I think that's a reasonable plan. Hope I am not missing something.
Another reason the Vikings were successful was that in many places they attacked polities that were momentarily weak. They might not have won in Nantes if Charles the Bald hadn't been busy fighting a civil war against other members of his family. Karl der Große's empire was falling apart, and like the Roman Empire had been vulnerable to the raid of Karl's ancestors, so was Karl's empire to the raids of the Vikings.

Don't weep to the Franks, though: in the end, it was just a phase, and they were able to hit the Middle East during a period of weakness just a few centuries later.
>In the past, a lot of my email was "transactional" stuff that required constant attention. I felt guilty for not checking it every few minutes, and doing so was really stressful as a huge chunk of most days is in meetings or calls due to the nature of what I do. (This also make me a hard person to reach, as I don't work more than 50 hours a week unless there is a crisis)

I think this may be my actual problem. I started a website that now has customer support that goes to my inbox. I'm looking into delegating it.

They're not emails I can ignore, and they take time. Apart from that, email volume isn't too bad.
The downfall of Quora (2013)
This is the email circulating the Valley. The high profile venture capitalist's name has been redacted along with that of the recipient.

February 1, 2013

[name redacted],

Since you asked what I think about Quora and its latest pivot, here's my answer. It's probably far more than you expected but bear with me. From its early days the big question about this site has been "can an almost unlimited supply of SiliconValley cash and hype turn a mediocre idea into a success?"
If only it was on GitHub or Bitbucket ;)
Build the website for some uni department.

Do a good job. With all the time you save, you can focus on doing things with drones or AI or whatever you want. Then inevitably when the scope of those projects goes out of control you won't have the stress hanging over you of it being for school and will be able to explore the domain with a light heart!
My experience with many conferences is that only a few sessions turn out to be worthwhile. If I'm there for 3 days with 5 sessions per day, perhaps 5 or 6 of the sessions I attend will be interesting, but in the other 9 or 10 I will know within the first 5 minutes that the presenter is unlikely to say anything interesting/educational. But what am I to do? Get up and leave? That's mildly rude and other sessions are probably already full. I don't have anywhere else to go and I paid to be here, so I might as well sit through the session on the off-chance the presenter might say one or two things of interest.

Meanwhile, all those people back at my company who are still working are sending me emails, and I have other actual low-focus tasks I can be knocking off my to do list, and there's random web surfing I can be doing, all while keeping one ear tuned to the presenter.

Frankly, if I only focused on the presenter's irrelevant talk, I'd probably fall dead asleep. Even if I didn't doze off, I would be fighting to keep my eyes open and not getting anything else done.
Build a sports analysis application
Hi Nick,

SWFounders meetup in Bristol is a good place to start http://www.meetup.com/sw-founders/. It seems to attract a couple senior devs looking for an opportunity when I've been there.

Secondly, feel free to drop me an email (freebananas at gmail). I run http://www.meetup.com/Bristol-and-area-CTO-meetup/. If you can give me some more details I occasionally find out if someone is looking for something.
I do "things" outside uni. I could choose something easy, finish in a month or two, but that's not what I look for
I don't think he wants anything from you. Perhaps you're putting too high a premium on your gratitude.
"There are loads of tools that should have never been implemented in C/C++ in the first place (SSH, Make, APT, etc.). I'd say the best idea is to port a lot of these code bases to languages like Go or Rust maybe, but if that's not feasible for some reason, at least write some unit tests and do static code analysis."

This is the exact problem with everything today. Languages do not make bugs, people do. If that weren't the case, there wouldn't be bugs is python/ruby/shell/etc.

Rewriting something is only guaranteeing that more bugs be created initially. And all the time and effort gets you..what? The same thing that was just patching in a different language. Awesome...

You should be familiar with "bikeshed" being a freebsd user..
Well, one thing I always wanted to do was controlling house lighting by doing face recognition.
Start with an open source project that you love and can work on (technically). Talk to the developers, read the project website and work on a feature that will constitute the duration of the final year project. That way, you will be contributing to something that will help others and also get your project done!
Sure, it's a bug but it's not ultimately their fault that it had the impact that it did as a result of people using it for purposes they might not have had in mind.
haha, knew I was gonna get called out on that one! That is super interesting and spot on in my case. Would love to see your talk.

When I got to that part of the article I stared researching bitwise operators to try and give a short explanation. I couldn't sum it up well in the voice I wanted to. So I decided to just say, "I don't know, and that's OK." I try to write in a way that's accessible to people that are maybe newer at programming. Maybe without a CS background, like me. With this, I felt like there would likely be so many new concepts, that it would help to leave one out that wasn't essential to building the example.

For my next post I should research and write about bitwise operators.

I also do not know what a linked list or binary tree is, but I'll certainly take the time to learn about them in the future.

Thanks for reading it and commenting.
The FSF are quite explicit about the fact that they don't really care about code quality. Their recent statements about shellshock are just the most recent examples of that.

GNU is primarily a political project, not a software project.

If you want software that puts code quality ahead of politics then you should look to one of the BSDs.
There's a lot of Bs and Cs in the Valley too. Techstars is arguably an A and they're in Boulder. I'm not sure about accelerators outside of the US. But yea generally I'd say anyone is B at best until proven otherwise. The distribution of successful accelerators is likely similar to that of successful startups.
Yep, your ESP is not sending emails. Its been over 2 days now.

Just make it freely downloadable and forgo your list building activities.
Put lipstick on a pig it's still a pig.

Gamblers come in various forms, some like the thrill, some make informed wagers and some use inside information. Not sure what makes a 'Quant' so different.
> I've yet to find another UI framework as powerful or quick to develop in as HTML/CSS - and the performance is looking really good in the browser.

Really? Until a couple of months ago with the advent of flexbox, you couldn't reliably do columns that fit dynamically to the browser window (frameworks like Bootstrap simply define three different window sizes and switch between them, rather than allowing for fluid resizing) as well as you can in every other UI framework I've used, never mind vertical layout. (See all the hacks for "sticky footers" over the past decade.)
sounds cool! tell me more about it...
You are talking to a weev supporter. It is highly likely that rabite views women in general as 'garbage'.