skysight-inc/HackerNews huggingface dataset:
This doesn't sound like anything new. As I understand it, it is well known that there were three distinct forms of plague during the "black death" epidemic: Bubonic, pnuemonic, and septicemic.

Below are quotes from letter sent from the papal court at Avignon in 1348:

"It is said that the plague takes three forms. In the first people suffer an infection of the lungs, which leads to breathing difficulties. Whoever has this corruption or contamination to any extent cannot escape but will die within two days. Another form...in which boils erupt under the armpits,...a third form in which people of both sexes are attacked in the groin.

...

And this form is the most dangerous of all these terrible things, which is to say that it is the most contagious, for when one infected person dies everyone who saw him during his illness, visited him, had any dealings with him, or carried him to burial, immediately follows him, without any remedy." [1]

[1] Letter from Louis Heyligen of Beeringen (27 April 1348) , via "Horrox, Rosemary (1994). Black Death"
Perhaps, but the simple habit of Model.foo() (for methods) and Model.bar for data would make it easier to spot when one is an attribute and one is a method.
http://ocsigen.org/js_of_ocaml/ is a similar project for OCaml.
Your response indicates you've likely spent little-to-none meaningful time with any of the people you're attributing words to. Very few people I've met that hold those views would say that's an accurate view of their beliefs (WBC not withstanding, but they're outliers).
I still think, unless you're investing a constant amount of money every X period, you're timing the market, since you're still subconsciously or consciously picking when to invest into the market depending on time.

The pitfall with "Thinking the market generally goes up and one should invest in it is not timing" is, the thought only occurs after the market has gone way up, rather than occurring unbiasedly between instances when the market has gone way down or way up.
I don't get it. They're both methods. There's no such thing as "attributes" in Ruby.
This has been posted many many times before, most recently 4 days ago. While cool, I'm flagging it for redundancy.
Microsoft would have to be asleep at the wheel if they hadn't at some point had a few engineers get a BSD libc and userland running on the NT kernel.

Just because Microsoft won't sell you the NT kernel without a GUI on top doesn't mean that NT kernel is forever welded to a GUI.
I actually like class methods for one particular benefit - namespacing. Actually, in Ruby, I use modules for that, but same difference in Ruby right...?

Functionally though, there isn't much difference between Module.do_stuff() and module_do_stuff() and if you are writing functional code, there isn't much reason to care either way too much. Most Ruby I see though isn't terribly functional.
That reminds me of this website:
http://www.expensivemeeting.com/
Don't just ask why. Ask why until you know you've found the root cause.

http://en.wikipedia.org/wiki/5_Whys
I know many older people that did electronics back in the day. They have solar cells on their roofs now, they want to do something with them, ie. measure output, plot graphs etc. I'm an RPi enthusiast and always point them to my blog and talk about the RPi. It's always the Linux that puts them off. They feel it's complicated, messes up easily. I'm pretty sure there is quite a market out there for these boards.
I kind of wish the PRU's were Cortex-M0 or something that can be targeted with GCC. That said, they are a very nice idea.

I'm currently using the Zynq for a project and it's basically the extreme of the idea. FPGA's are kind of horrible in other ways though, such as the 30 minute build times and power inefficiency.
It is not more complicated.

Let me repeat: Anything you can do to make UDP work will make TCP work.

The problem with NATs is that if you are behind one, you are not at your supposed public IP address. This means effectively you have two options:

1. Forward all packets that come in on a specific port to a specific machine, or

2. Forward all packets that come in that are on an established connection to a specific machine.

Both work with TCP. The latter works with TCP but not UDP because as you point out UDP doesn't have the concept of an established connection.

So basically you can look at host/port, or you can look at host/port/status. The former works for both. The latter works only for TCP, or by a NAT which understands your connection syntax (e.g. an H.323 gatekeeper, though this is iirc TCP).

> So no, TCP isn't really a superset; in a real way its a much more restricted set

My point is the router has a superset of information to address things in TCP, so anything you do to make UDP work will work if you do the same for TCP. You have a superset of options on a pure networking level. I think what you are arguing is something else, because you say:

"Since port-scanning and malicious bots are not in any way an official protocol, every router manufacturer invents their own algorithm for defending against them."

In other words, it is not that TCP NATting doesn't give you a superset of options, it is that routers are typically configured to address these issues by being a lot more lenient on UDP packets than TCP packets. However, this in no way addresses the question as to how things work on a pure network level.

In other words, as I understand your complaint, it is not that TCP doesn't support a superset of natting options relative to UDP, but rather that NATs/routers are more permissive regarding UDP packets because they try to restrain TCP packets to a much larger extent.

If that is indeed your position then I think it is worth bringing up with routers as well.

If routers and nats are natting purely based on the port on the router, and not the IP address/port of the router, then there is significant room for better security there.....
What's wrong with Windows CE
You do care about the specific implementation for Model.foo if it could take 30 seconds to return a result.
There an "online pin" system called 3DSecure (also known as Verified By Visa) that uses a system of tokens passed by JavaScript to present the user with a form that's held on their bank's servers. Implementing it is optional for the merchant, but if they choose not to then they're accountable for any fraud. If they do then liability is passed to the customer.

It's all very favourable to the credit card companies.
Well, yeah, true. But all formats that are XML still fit my statement.
I would not consider the Minnowboard or Cubieboard a microcontroller. It's usually called an "application processor". Microcontrollers generally have onboard flash and ram.

32-bit microcontrollers have only recently gotten cheap enough to supplant the old 8 and 16 bit mainstays. I don't expect to see AArch64 on any of them anytime soon.
How High-Frequency Trading Computers See New York
April Fools?
"Build a smart coffee mug, build a talking bear, build a robot, or build something else entirely"

and no validation (client nor server) on the form...?

And a different domain name (rather than using a page on microsoft.com)?

My spidey sense is tingling.

EDIT: It's down. In case people were curious: http://i.imgur.com/9zUIPSf.png
Sorry, perhaps I wasn't clear enough. On an ActiveRecord model you will have attributes that are simple values in a table and you can have methods on an object that do stuff. They might both be methods, but the difference between getting a simple attribute and doing a calculation can be incredibly huge once you have models related to other models and calculations that span between them.

In my experience ActiveRecord doesn't handle that particularly well and programmers don't readily know/see the difference because they all look the same, especially in a view.
IRC Clients for Linux
A decade ago, Windows CE had better widget kits and programming environment when compared to Linux. This was especially true for touchscreen interaction.

For example, Zeiss Microscopes control panels from 2006 use Windows CE. I am not sure what the advantage is today. GCC competes well with VS and more people know Qt.

MS can give this away for free as it isn't a market that they own.
I don't think any time I'd spend with those types of people could ever be meaningful.

Honestly, they can say they're "not scared of gay people" all they want, but the actions of a person who would donate their money or time to get same-sex marriage outlawed speak much, much louder than their words.
Twitter buys UK 'social TV' firm SecondSync
This shift happened a long time ago.

Intel has been by far the best supporter of Linux of any SoC / processor vendor, with first party support of open source drivers for their wifi and GPUs. They patch the kernel to support their devices far ahead of their actual release. They have been pushing their own Linux based OSes (Meego, Tizen) for a while (without success).
The Traitorous Eight – Literally the guys that founded Silicon Valley
Secret San Francisco: The Key System
I'm actually both Asian and male; the protagonist typecast in the skit if you will. The insensitivity and frank hostility exhibited by your remark alone shows how much more work we have to do in order to make the tech sector more hospitable and diverse.
It's not that complex, actually. Here's how the basic usage works: you have a text file containing something like this for an undirected graph --

graph graphname {
a -- b -- c;
b -- d;
}

-- or like this for a directed graph (the -> arrows show you which direction the links are going):

digraph graphname {
a -> b -> c;
b -> d;
}

You can break up that first line into a -> b and b -> c and get the same graph if you want. It's not necessary here but it is when you have lots of outgoing links from the same node.

The other things you can type in are basically formatting options for the various utilities. You then feed these text files to various command line tools to do things like get a PNG of your graph:

dot -Tpng my_text_file.dot -o my_graph_image.png

That's it. The rest is just playing with it to get what you want.
Facebook acquires Snapchat
April fools
buffer built an app on that feature for social media. surely there is a market for it except some folk may want to reverse it.

Compose mail aroun 9pm and send it at 1am to show they have been working all night :)
SEEKING FREELANCER: US, Remote.

I have a fresh Linode VPS & a Themeforest Wordpress theme [0].

You have linux skills, can install Wordpress including DB configuration and can install a theme.

I hired someone on Microlancer but they insisted that I have FTP or cPanel setup. Shouldn't this be doable through the comand line? You're more skilled than I, I'm just an iOS programmer..

Willing to pay well for fast and good work.

Contact: my hn username minus the _ at gmail
IPv6!
Last I checked, you still needed plugins to handle locking though, which is unfortunate if you are dealing with nearly unmergeable files.
> The training is what provides the ability to charge for admission and airtime royalties for games. The meeting is what gives you a product or service offering.

The cost analysis of the meeting is however helpful to make people realize that there's way too many people in that meeting. It's just like a sports team where half of the players are not actively training while you're paying them all. And on top of that, the effectiveness of a meeting decreases very quickly with the number of participants.
Neither in cost nor in flexibility and performance. Windows is a lost case.
That's a very inspiring way to put it. For balance, I'll put out here that being the only janitor in a building also puts you in a position of power, and learning to interact with the stakeholders should be invaluable.

If you truely believe everything is an opportunity, being an engineer or janitor should be on a similar footing (there's actually janitors that build companies and set their prices)
Anddddddd site is down
The form doesn't actually submit, it just redirects:

$(document).ready(function () {$('.signup-button').click(function (e){location.href = '/Home/Thanks/';});});
So out of all these options for Haskell (http://www.haskell.org/haskellwiki/The_JavaScript_Problem), what's currently got the most momentum behind it?
As usual, comments on HN are more interesting than the article. Thank you.
So the plague doctor costumes that I'd heard were just for show actually served a useful purpose - to restrict the breathing of contaminated air?

http://en.wikipedia.org/wiki/Plague_doctor
I'd somehow missed this! Looks awesome. We already have started using git for some side projects that are public. Again, no central locking database, though I suppose we could use something out-of-band.
In a very meta twist, your comment reads with a slight undertone of "engineers are the only smart ones."

Engineers might end up with the keys to the servers, but many problems (and solutions to them) are not very technical. Things like the copy on landing pages, or customer support workflow, and many other problems businesses can face are only technical in that at one point an engineer will do something.

But it's not just engineers that have this problem. Designers can get them, marketers can get them , etc. Any opportunity for there to be cognitive dissonance will be exploited by Murphy's Law to make people's lives like this
RubyMine at least will complain if you put the() after a method that doesn't need it. Coming from C# that lack of differentiation kind of irks me.
Remote Developer Happiness
> A decade ago, Windows CE had better widget kits and programming environment when compared to Linux. This was especially true for touchscreen interaction.

And PocketPC could do almost everything an iPhone could do about... 5-6 years before the iPhone came out. Windows CE was clearly ahead of its time, but the support from Microsoft was terrible: they kept it low-key, too long.
> Saudi Arabia has officially identified atheists as terrorists in sweeping new laws that threaten up to 20 years in prison for almost any criticism of the government or Islam... the law also applies to any Saudi citizen or a foreigner residing in the kingdom that 'calls for atheist thought in any form or calls into question the fundamentals of the Islamic religion on which this country is based.'

iOS developers can do the following:

1. Visit https://itunesconnect.apple.com

2. Click 'Manage your apps'

3. Select your app

4. Click the blue button 'Rights and Pricing'

5. Click the link 'specific territories'

6. Deselect the checkbox marked 'Saudi Arabia'

7. Click 'Save'

I'd like to hear a good reason why we, as individuals, should not boycott the country and deny them access to the goods and services we create.
Microsoft is bringing Windows to robots and coffee mugs
Awesome. I actually filled out contact form. =)
They leaked accounts that are legit, who cares about the source when Coinbase confirmed that this instance with some random unknown list 'only' impacted 1000+ users.

Sure, but they could also not care if there are duplicates. You don't need to polish your list output for a proof of concept code, whatever he needed to prove was proven.

It's not a vulnerability, it's data leakage. Sure you put a wrong name in, most people did not.

And it's not the name that's a concern it's leakage of email addresses that would be prime target for savvy hackers who want bitcoins.

If you could run random addresses against an API offered by a vendor that sells safes for high value valuables and get a match which houses have those safes you become a target.

Sure most people won't try to break in, but those are are in business of doing so will try.
How important is graceful degradation of JavaScript?
As an aside, how could you get zeroed out of a billion dolloar company where you worked at, and also funded?
Perhaps I'm not thinking clearly - it's late here - but wouldn't 8-space suffice?
FiveThirtyEight vs. The Oddsmakers
How Much of the Web Actually Work Without JavaScript (2010)
The most feminist new app customizes dick pics
Awesome.. I have a similar situation regarding the project manager in the video :) we have a small team of 5 members and i don't think we need a "project manager" considering only 5 members working on a not-so-big project and the team members are efficient enough to self manage.

I dont think a small project with a small team even needs a project manager.
Almost every package breaks on Gentoo across arches or has different stability/compatibility. Its hard stuff, the only way to fix it is to test on all these platforms which is almost impossible.
Might be part of this?

http://www.zdnet.com/microsoft-staffs-up-its-evolving-intern...

I think more will be known tomorrow as tomorrow is Microsofts' "//Build/" conference.

This is one of the presentations titled "Windows and the Internet of Things" - http://channel9.msdn.com/Events/Build/2014/2-511

And possibly this session? http://channel9.msdn.com/Events/Build/2014/2-536

Anyway, it looks like the site has been pulled (for now), as it's showing that the site is no longer available.
Any performance issues (which you brought up before the edit) should be entirely the concern of the class whose method is causing the issues. Anything on the outside shouldn't have to rely on syntactic clues to discover when something may be slower.

If I care to call person.eye_color, I don't care (as the caller) how Person implements eye_color (it may be a simple attribute or do some ridiculously slow color calculation) - if I need the color, I need the color. Now, that's not to say that performance doesn't matter, just that any performance concerns should be addressed in Person, not in trying discourage caller from calling eye_color and trying to get at that value some other way.
I think it is unfair to single Ruby out here and call it a "flaw". What you are describing is just bad code/design that can exist in any language.

Also, as far as Ruby is concerned your class's external API is only made up of methods. There are no attributes, model.foo is always a method. Because of this your long running or resource intensive methods need to be documented or have clear names if you are exposing them as public API. In other words: Model.foo shouldn't take 30seconds, but maybe Model.download_foo will.
Matrix Sketching
Besides the immediate hassle and serious annoyance of having an uncontactable company ignore their support form, it ended up costing me a few hundred dollars to buy the domain back from a domain speculator who snatched it up.

I once let a domain expire by accident, but since it was obscure the squatter who snatched it let it lapse after the ~45 day ICANN "trial" period that used to be a boon to evil squatters (AIUI, IIRC). So I just registered it again myself.
I have been lurking on HN for five years, almost daily, and I haven't seen this before. It's still good. Reminded me to check in on http://thedanplan.com/statistics-2/
For those who missed it, Ubuntu is also moving to systemd as default : http://www.markshuttleworth.com/archives/1316
Since upgrading to 8.1 I never see the touch interface, boot straight to the desktop (which will soon be the default on no touch devices) and it just isn't an issue.
Introduction to Googie
The biggest problem with "class << self" syntax is that it is hard to read in classes that have more than a handful or so lines. At quick glance you might not be able to tell if "def xxx" is a class method or instance method. However, with "def self.xxx" it is more easily recognizable.

Btw, I think its a small nitpick. Plenty of great code bases use "class << self".
You're not using the technologies that are in demand, you're not writing detailed work histories, and you're not putting key words into your resume, please tell me you do not wonder why you're not being head hunted.

You belittle developers who are trying to advance themselves, their knowledge and make a good living with your Type A thing.

Everything starts off as a flavor of the week, Ruby on Rails was just a flavor of the week type deal and then it became huge. Same with Node now and with other stacks before that.

I've done recruiting, and am just finishing up a round for my company and lazy developers who half ass their resumes are frustrating. Trying to search for someone is a pain in the ass and not everyone is a professional developer, some of us are just developers at small companies trying to expand. If more people had well written LinkedIn profiles it would make our lives easier. If not a LinkedIn than you need to find some way to make yourself visible if you want to be headhunted.

That's not to say it's a bad thing, you can be a very well paid very comfortable developer without ever being head hunted, but having a well made portfolio will make your life easier certainly.
Islam also has death as a penalty for apostasy. If Eich supported that, would it be OK because it's a "personal view"?

I do agree with you though, that Mozilla's work is more important than civil rights. Eventually, it would seem that all people will give up poor, invalid beliefs. It's a near certainty as technology progresses and definitely disproves religions. However an open web is in quite the opposite position.
April Fools? In hindsight I'm thankful I never used Snapchat as I am sure there are many users that are remorseful of how much data Facebook now has in their reach.
I wanted to make a similar comment, thumbs up.
I thought this was a very funny video, not because of the reasons you are articulating but because it underscores a very real problem, namely that people come in with unrealistic expectations and can't understand why they are unrealistic.

This being said, I don't think this is a problem specifically related to engineers. I think it affects nearly every specialist who is tasked with a vital role outside of the general knowledge. Accountants, particularly cost accountants, would be my second thought for a profession that must be in a similar position.

Doctors and lawyers also come to mind.

In the end, I think it is funny because the problems are framed in a way we specifically can relate to, not because the problems uniquely affect engineers.
This has nothing to do with ruby. In any language you can have a method that returns an attribute or a method that calculates something.
I am most definitely not an experienced SoC developer, and I am not trying to make products.

Rather my experience is merely playing around trying to use ARM-based devices as general purpose computing devices in the same way you would use an x86 device, e.g. Allwinner A10 set top box as a low power server and the Samsung ARM chromebook. In that context, I think mainline support is important. Otherwise, as someone who is not a developer, getting even simple things to work requires so much more screwing around than anything x86.

As for "full functionality", look at an SoC like the Allwinner A10/A20 and see how much of the functionality they built into the SoC can actually be used in linux, despite the excellent efforts of the Linux sunxi team.
The actual bad smell of infected people was believed to be unhealthy, so afaik most plague masks were built to provide a "good" smell through herbs or incent, but it seems plausible that some of them helped nonetheless.
That seems to fit the definition of leaky abstraction (an implementation detail influencing whether how you use it). Leaky abstractions are all over.

That same logic would suggest that we should name our methods Model.foo_slow() and Model.bar_fast() because the execution speed is important and should be transparent to the caller.

In practice, Model.foo() ends up often being memoized so that all but the first call are practically equivalent to accessing an attribute.
Direct svg to canvas to png conversion
> The only measure of an engineer's skill is his ability to built elegant systems. This cannot be taught through a course.

This can be taught through a course if said course requires you to build an elegant system. Many courses in engineering schools are project-based.