skysight-inc/HackerNews huggingface dataset:
>When a person or company makes use of a legal process to restrict someone's freedom, I think it's fair to blame both the law and the person using it

They are not. You are still pretending things are backwards. They are not doing anything to you, they are simply not giving you privileges.

>You don't get a free pass on unethical actions

You have not made an argument to support the notion that "selling software" is an unethical action.

>If I purchase a computer, I own it and can do whatever I want with it. If I buy a MacBook Pro, I can legitimately open it up, modify it, replace components, modify the installed operating system or software, etc., etc. I can also share photographs, schematics, disassemblies, and anything else I want to document this process. It's my computer.

None of that is even remotely relevant. You are free to do those things. They have nothing to do with BSD licensed software. It is hard to see your red herrings get further and further from any sense of relevancy and still believe you are not being deliberately dishonest.

>I do think it would be preferable to simply repeal "intellectual property" laws rather than have to try to use things like the GPL to work around them

The GPL does not work around them. The GPL requires copyright law to achieve its impositions. Without copyright law, people would simply not give you the source and there would be nothing you could do about it.
Just impose rules that are trivial for humans to solve reliably and not for computers.
Anyone calling foo3 will try to index beyond the end of the array, and all hell will break loose. What do you do then? Well, you grep for the word "unsafe" and you start auditing unsafe blocks, looking at all the inputs that you send into them.

That's not a very good solution. "Kill problems, don't just wound then" - Kelly Johnson, Lockheed Skunk Works, designer of the U-2 and SR-71.

I used to work on this problem, about a decade ago. I was trying to figure out how to make C++ safe. I finally gave up, since memory safety wasn't a priority with the C++ committee. I'd proposed scope-based "borrowing" (I used the term "keeping", as the inverse of borrowing) and reference counts.

Complex data structures remained a problem. The best idea I could come up with was to use weak pointers heavily. When you have something like a GUI widget library, with pointers going upwards, downwards, and sideways, who owns what is a big issue. One solution is that all the graphics widgets are owned by some top level object, like the "window" object, all the inter-widget links are weak, and all the weak pointers are in objects that can't outlive the top level object. This creates a sort of allocation pool. Objects pointed to by weak pointers can't fully go away until the parent object of all the weak pointers goes away. They only get marked as invalid for weak pointer referencing.

This is memory-safe, but you don't get the space used by widgets back until the top-level page object is deleted. That can be a problem for long-lived graph structures with a lot of churn, like the scene graph in a game or the active collision structures of a collision detection system. For most applications, though, it's not a big deal; browsers build a DOM, use a DOM, and discard a DOM when the page closes. Might be a problem if you left Facebook open for a month.

Go for safety. We do not need yet another unsafe language. We have plenty of those. The day there's a CERT advisory for a buffer overflow in a Rust program, Rust has failed.
> I'm surprised Huffington Post isn't blocked from HN.

It used to be, but somebody pleaded the case that they occasionally have solid articles, so we moved it from banned outright to lightweight, which means the articles get penalized by default but various conditions can override the penalty. A lot of big media sites are in this category. It's not a perfect solution, but it works better than the alternative.

In the case of specialized technical papers that aren't in the local sweet spots such as computing, HN tends to prefer the best popular article on the subject, with the paper linked to in comments. It's not a fixed rule but it works well. For that reason, we wouldn't replace the Huffpo url with [1]. However, [2] is clearly a more original source, so we'll swap Huffpo out. Thanks!

(Submitted url was http://www.huffingtonpost.com/2014/11/18/marijuana-brain-can...)
No, if you're adding stars to our theory of the universe you're only making the paradox worse (although not much worse if such life would probably be unable to expand). If, instead, you're changing the theory be suggesting that the number of life-originating stars is the same and moving half of them into voids, then you're only reducing the problem by at most a factor of 2. Because of the many unpinned down orders of magnitude involved, this doesn't do much at all.
2560x1440.

My eyes are positioned horizontally in my head, giving a "wide" field of view. So a widescreen monitor always feels more comfortable. Unless anyone has a single, perfectly round eye in the middle of their face, I don't know why you'd want a square monitor. :) That's my opinion, anyway!
Very cool! This is like the beer version of WineGlass (http://wineglassapp.com/)! They managed to get ratings from CellarTracker via private access to their API (like Beer Advocate they don't offer anything publicly), so from the start that had access to the largest? library of user generated wine ratings on the web.

Are you blending user ratings with the ratebeer ratings in screenshots, or keeping them separate?

Wineglass has a feature I thought was pretty neat -- letting you know whether or not the price was 'fair for a restaurant' given typical industry markups. Perhaps not as applicable to beer, but could be a cool feature. And then you could surface 'bars with the best deals on beers you'll love.'

I'm in online wine media, so not as familiar with the beer space but it seems like lots of areas for collaboration (eg Nextglass, Untapped, BeerMenus.com as a fallback for OCR fails)

P.S. I understand the need to monetize, but having used heavily/played with dozens of apps in the wine/beer/liquor space, both free and paid, its rare to see random iAds (so far Target.com, some casino game install ad, and another casino game install ad. Perhaps the revenue is worth it but feels like there are much more interesting ways to monetize (native ads in terms of featured beers/all sorts of brewery/bar partnerships) than that sort of junky ad...
Why would you post this? Go has supported IPv6 since day one.
Cross-site scripting in millions of web sites via #jQuery Validation Plugin
> It doesn't actually mater what language you learn first

OK, start with Prolog. Now move to Ruby. Then Haskell, and include some SQL in that as well, somehow.

Now write me a program in APL.

Languages within the same paradigm are mostly similar. But there are a lot of paradigms, and some concepts don't transfer well at all. (Quick, what's the equivalent of an anonymous inner class in Prolog?)
I think part of the problem is that we've gotten stingy with forgiveness and second chances. Consequently lots of people who might otherwise have good intentions have, rationally, designed systems to avoid making anyone responsible for any decision, because even a good choice (given the information at hand) that happens to turn out poorly can end careers, see people demonized in the media, generate lawsuits, and ruin lives.

That's why people were reluctant to try to fix the problems the rules (algorithms, in this case) caused, I think.

Sure, it could just be that a banal everyday sort of cowardice is on a multi-decade upswing, but I suspect instead that mistakes hit people harder and stay with them longer than they used to.

Or, maybe harsh punishment isn't more common but it's more visible and it's perceived as more common. The result is the same, though the solution—whatever that might be—could be different in that case.

More intense career specialization probably doesn't help. Can't cut it in (your educational focus here)? Have fun spending another half a decade in school and going $XX,000 into debt again, and going back to the bottom of the pay scale, or else delivering pizza for the rest of your working life. Either way, hope you didn't expect to retire, ever, or pay for your kids' college, or....

An article that I see as closely related to this, regarding changes in US military leadership between WWII and the present:

http://www.theatlantic.com/magazine/archive/2012/11/general-...

TL;DR (of the relevant points): Removing an US military officer from a post is now rare and typically career-ending, while before it was common and often simply resulted in doing a different (not necessarily lesser) job somewhere else. Perhaps as a consequence, no-one wants to fire an officer from a job they're not very good at since doing so punishes them more severely than may be warranted. Officers don't want to take appropriate risks because they fear being fired more than they should have to and acting timid is (these days) far less risky than making a bold call that goes poorly.

Certain classes of people seem immune to being punished for any mistakes, however egregious, of course, but for a huge percentage of the workforce and the bulk of the political class I think this holds.

I'd guess our poor social safety net in the US serves to aggravate the problem. Losing a job here can be a hell of a lot worse than losing a job in most other states with advanced economies.

I don't think that CYA is a new thing, of course, but I do think that in the recent past this degree of ass-covering wasn't rule #1 of public life for so many people. It's become a part of the background—a law of nature. I see it as a major, if not the dominant, factor enabling or encouraging bad police behavior, bad domestic and foreign policy, bad school administration, bad customer service, and bad employer-employee relationships.

Apologies for any disorder in this post, it's not something I've written about before.

[edit] grammar
As far as I know, queues are used for decoupling two systems so that you can scale individual components easier. In the example used in the article, adding more pipes out the wall.

A queue has a perk of smoothing out the peaks which may give the illusion of fixing overload, but really you haven't added any capacity, only latency. Also latency is sometimes a reasonable thing to add if it allows higher server utilisation rates.
Depending on which features of Sharepoint you value most, the answer is "it depends". You can crib together a suitable replacement from various parts and pieces, but I don't know of a specific "Sharepoint Killer" per-se. But using a DMS like Alfresco, a wiki like XWiki or Mediawiki, an enterprise social network product like Quoddy[1], a workflow engine like Activiti, you can accomplish most or all of the same things.

All of that said, we are planning a comprehensive "Sharepoint Killer" at Fogbeam, but it's not available yet. But that's actually our goal, is to combine and package all of the open source "bits" needed to built a comprehensive Sharepoint replacement.

If you'd like to discuss this in more detail, feel free to shoot me an email. prhodes@fogbeam.com

[1]: disclaimer: Quoddy is our ESN product at Fogbeam Labs. https://github.com/fogbeam/Quoddy
George R.R. Martin's first book, The Dying of the Light (published 1977), is set on a lone "travelling" planet whose interstellar course passes it through a multi-star system. The final stages of this traversal is the premise of the book's title.
An un-implemented algorithm is just an abstraction.

Every algorithm has edge cases. You can try to find and handle these with special cases, but they will continue to crop up especially when you use them on real humans.

Humans come in an amazing variety of configurations. For some reason youtube wants me to watch alcohol ads in russian and spanish, even though I don't drink or speak russian (and poor spanish)
I am going to be slightly rude, but only because I have done exactly the same thing.

Stop trying to cram n years of experience into a blog post seeking some form of social validation. You are guaranteed to contradict yourself more than half the time. That's because you can't include all the important bits that helped you learn. Every stupid mistake is really your future best friend.
SendHub grabs $5M to put your office phone system on your cellphone
Smartwatches: Moto 360 takes top place – Samsung leads brands
Market researcher Canalys reports another spike in wearables, Gartner predicts health and fitness wearables will disappoint in 2015.

Last quarter, the Moto 360 topped the list of smartwatches, taking 15% of all shipments, according to Canalys. While Samsung’s offerings netted 52% of shipments, the overall category of wearable bands grew by 37% last quarter. Canalys credited the Moto 360’s success to its "appealing design," which gave it an edge over other Android Wear products.

Compelling physical design is never a disadvantage, but in this case Motorola having sidestepped having to force consumers to embrace both an entirely new concept of wrist-worn hardware and a behavioral change driven by wearable software
A match between two smart search engines!
It may be the same in the sense that hypervisors don't explicitly limit it, but on a multicore host you're sharing memory bandwidth with the other guests, in the common(?) case when the host has more cores than a guest. You can also experience increased latency when there is access contention.
I have been saying this since the late 90s.

https://news.ycombinator.com/item?id=8557596

Small code & data fit in cache, and run full speed. Fortunately, I can get at the GB that used to be (mainly) on my hard drive faster, now.
Here are my thoughts:

You should probably do some more cross-browser testing (sandwich menu is a little malformed in FF) if you're not already

Instead of using colored circles, use the icons for the technologies you know

Text below your name is cut off in FF

There is probably no need to have a white stripe with black text with your name in it. Since you have a relatively dark thing as the background, why not just put white text with your name and the sub title?

Knowledge, Professional, and all those sections should stick to the top just like your name, so the person can jump to those sections whenever they want

Colors are a bit drab, maybe consider using flatuicolors.com ?

Break up the text a little more, or word-wrap in denser columns. it's a little laborious to start from left and read all the way to the right side of the screen and come back

Larger font, less/more succint text

Create better hierarchy between the sections... If the hierarchy was more visible/prominent, you wouldn't need to name sections <section> * <subsection> (i.e. "Knowledge * Server"). You could have the sections be below the stick topnav bar, that way user knows where they are by color and you don't need to be repetitive

Background is a little distracting, either commit to white text on dark background or commit to background at the top and fading to solid gray or something

Use company logos (and give attribution or whatever) instead of drab colored blocks with text
> +1 I strongly believe that we're a profession and should have professional standards.

As long as we don't kill the goose which laid a lot of us golden eggs.

If we destroy the ability of newbie programmers to come up outside the university-professional path, we've just irreparably damaged the whole field.

This is also why I don't like the idea of unionizing programmers: Even if we come up with a union which isn't based on the wage-and-hour, put-in-your-time model, unions are still based on seniority and coming up the "right" way as opposed to being able to strike out on your own in your own little company, without needing to pay dues, literal or metaphorical.
I think you're combining "algorithm" and "process" which is something programmers often do (because for a programmer, they are the same thing). Businesses tend to think of "algorithms" as black boxes where you feed a data set in one side and get a modified data set out the other. That data is then incorporated as part of a business process.

If you're designing a process where you take the output of a program and delete all records flagged by the program, you can add a human validation step in pretty easily. Companies often have process engineers whose job it is to do exactly this: and when you're talking about data management, process and governance are very important.
I think sheer brute force would be far less organized. How do you suppose designing and constructing a building according to designs and building codes is a more advanced, less brute-forced activity than building software according to requirements and industry standards?

But avionics-style software engineering need not be an all-or-nothing approach. Elements of it could be introduced into other programming applications for increased robustness. Greenspun wrote up an excellent article on adding external design review to web application development:

http://philip.greenspun.com/software/design-review

Such would not be a heavy burden on a project, and would likely help catch at least the most glaring errors that went unnoticed by the developers.

In any event, I agree that better tools and techniques offer the tantalizing possibility to help all software be more robust, even if it is never more "engineered". Modern languages have, for example, done away with whole categories of bugs that used to plague C programmers (and still do, unfortunately).
it's interesting to see a spring surge in headlines & a fall surge in headlines - perhaps a result of the summer slowdown at VC firms.
Project:EGO
Trade in Your Manual To-Do List for an Integrated Productivity System
Not so much of a stretch. We use Dells with a rotatable screen at our work place and about half of the people keep one vertical and one horizontal monitor.

Reading logs or browsing code is quite nice with the vertical screen, as is reading some vertical oriented pdf materials.
Cat videos are usually watched on the horizontal screen. :)
In what way does the work of Alan Turing etc. long ago not constitute a firm fundamental understanding of the field?
Lucera Low Latency Cloud Destroys Database Benchmark
Former HFT traders build a cloud - and record breaking performance ensues. http://eepurl.com/8Lgfz
i was expecting something like robocop not an roboegg.
Apptive Enables Retailers to Boost Mobile Presence
Yes, long ago it was observed that the
first step in proving software correct was
a clear specification of what the software
was supposed to do and that for a lot of
realistic software writing that spec
was unreasonably difficult.
Thanks for the explanation. I've highly critical of HP but you're right, occasionally they have original content that deserves a link.
> I saw on Twitter that Miguel de Icaza approves of your library. :)

That's awesome! Thanks for sharing. I wouldn't even know how to get something onto NuGet. I guess my weekend project might have to become a bit more serious ;) Time to do some research.

EDIT: research done...
https://www.nuget.org/packages/LanguageExt/0.0.1-beta
That's fine. I don't know the exact details of all those disciplines, I like history, but my knowledge of it is limited. I was within reasonable orders of magnitude of the real dates, or lower, which helps my argument that software engineering is incredibly young, which is the whole point :)
Please forgive me if I'm misinterpreting you, but the lament you make about open source software seems to me to be more about distributed systems. It is an interesting observation, and now that you've pointed it out I can observe the pattern at past and present employers. But I have seen that pattern on internal software, written by the company for the company. This makes me think the problem is an architectural one.

I hesitate to comment about the relative velocities of open source vs proprietary software because I do not have enough experience with commercial, third party software. My sample size is too small, but I'm inclined to agree with you.

I don't disagree with your Machiavellian conspiracy, either, but I've worked in marketing and advertising so I know that some of the villains are on the payroll. Maybe there needs to be a third category? There's open source software, written by someone who has no particular relationship to you. There's commercial software, written by someone who has a positive economic relationship with you. And then there is ... corporate?... software, written by someone who might think they have a zero sum relationship with you.
> (Also, since we're on the topic - what do you think of having some level of Professional Association ala the Bar or the Professional Engineering association)

I'll be interested in comparing defect rates between Professional Association members and non-members, and in how long such comparisons remain legal and not covered by NDAs and professional codes of silence.

If every programmer has to join, we've just killed the field.
I hope this does not come across to negative, definitely a nice project, but is this really useful in practice? If you want F# or Haskell syntax, why not just use F# or Haskell? Why bent C# until it looks like something that already exists? If you work together with (pure) C# developers, you will just confuse them. If you work together with Haskell or F# developers, you can just use that languages.

If this is just a fun project, scratch what I said, I love building useless stuff myself, but if it is intended to be used seriously I don't get the point.
Arki – Analyzes Your Unique Walking Patterns to Walk Right
Nice! This even sorts by bitterness and rating. It can even filter based on personal bitterness preferences.
It's not a problem to have systemd installed; on Debian it doesn't actually run as init unless you install the systemd-sysv package.
Not really. Dark matter makes up so much more of the Universe (~25% dark matter vs. 5% baryons -- stars themselves are closer to .2%) in that even doubling the number of stars would not appreciably change the amount of missing mass. Moreover, dark matter has a different signature on the CMB than ordinary matter does, so you cannot solve the dark matter problem by adding ordinary matter---dark matter has to be something fundamentally different.

There is, however, a problem called the "missing baryons problem." Measurements of the CMB predicts a certain amount of ordinary matter in the universe, but the amount of matter observed is too small by a factor of about 2. It is possible that these stars could contribute to the missing matter in this problems. (It probably would not be the stars directly, but a tenuous gas from which the stars formed.)
It would be good if you could flag which ones are vegan, or only show vegan results.
I've been taking notes inspired by this for two months now and like it a lot. I make calendar month pages with a one-line note of what I did each day, and seeing these build up is quite satisfying.
Sorry but an article by the same author two years later says it is man made http://www.scientificamerican.com/article/three-quarters-of-...