skysight-inc/HackerNews huggingface dataset:
In agreement.

I started using a rule of "use the language's primitives first" to guide my use of DRY. There are many ways in which you can "reduce repetition" by introducing a generalization abstraction, something that in turn couples lots of code to a master definition: Generics, high arity functions, and inheritance are three such temptations. Doing that, in turn, accidentally models the whole problem before the spec is mature.

But if your discipline is "I'll use more built-in types and simple data structures, I'll keep more of the code inline, I'll let this class get bigger and I'll make some duplicated simple, fixed-function code paths," you don't get trapped by that. Sometimes I end up with the same simple math function duplicated across two different modules because I needed it for completely unrelated algorithms: That isn't pretty, but it's not a gross failure.

The opportunities to make a really useful abstraction for a novel problem often take time to ripen, and until that point you might as well assume that the code necessarily involves a "spaghetti" mindset. You don't want to pay the cost of reworking the abstractions unless you have to - it presents a huge hazard to maintenance and it means the attempt to generify failed.

But I think coders do get caught in a "clean code" mindset now where it needs to look both pretty and succinct, 100% of the time, and that leads to pushing the functionality out of the function body and into "ravioli" code.

I think Go is a good language, of the hot ones today, for learning this kind of engineering-centric focus because it actively discourages trying to whittle down the code to the succinct one-liner. Unfortunately by the time I encountered it I already had this figured out(perhaps years later than I should have).
Keep going!
Scotland to build the world's largest floating windfarm
They still believe that they are tools. The goal is working software, they're just overusing design patterns.
Also applies to immunity.
I would say that using your shoe to emulate the hammer pattern is a good sign of flexibility and understanding the heart of the pattern.

The point of the hammer pattern isn't the hammer, but the movements and the forces applied. In Europe hammers are an axiomatic part of their nails already so they don't even have a name for the hammer pattern!

On the other hand, if you're with your screw and trying to spin it with the hammer because someone said use the hammer pattern...
Whatabout identical twins, chimaera, ...

Also, in practice you'd be doing partial string matches presumably.
> Going dark: online privacy and anonymity for normal people

Caveat: normal people don't care about such things.
When I look at the architectures being pushed into developers via mobile OS (iOS, Android and Windows Phone), as well as, their development environments, I kind of see glimpses of those ideas.

On the FOSS front I don't expect much innovation on that area, as the alternatives seem to just be yet another POSIX clone with the exception of unikernels research.
That's the catch - you don't improve as a sole developer. You can learn a lot, but actual improvement requires feedback.

I advise you to start collaborating to Open Source projects, don't be shy. Everyone is welcome and I've personally found OSS devs to be a friendly bunch(exceptions always apply though). That will be very valuable feedback from people of different levels of experience and people in different positions. Leverage this feedback to improve yourself, but be ready to flush your pride down the drain.
So you're suggesting Google crippled the feature so it doesn't get used? This seems unlikely.
This is most annoying. I have used this for the past twenty years and have not lost form data using it. In any event, chrome seems to remember form contents upon navigating back to a form page.

Leave my muscle memory alone please.
No, it's the same here. I have a chase debit card that's been compromised 3 or 4 times and every time I've gotten the money back in 2 or 3 days. Even when it was used to take $1000 USD out in Turkey after getting skimmed in Berlin.
Don't you rinse your clothes before wearing them? Detergents can do nasty things to your skin.
>Everyone knows what Ford is and for the most part doesn't think they have much of a shot to make enough significant changes to, say, 100x their revenue within 5 years

You'd have to be insane to believe that Tesla is going to be making $400BB within 5 years.

Yes, there's some fudge factor when trying to estimate what a company like Tesla might look like in the future, but it still should be based on potential financials.
I'm inclined to agree that for objects that are going to be created and destroyed very often, especially in tight loops, PIMPL is not an ideal idiom. I wouldn't use it to generate fleeting effects in graphics, for example.

For objects that are used in setting up parts of a system and that will persist for long periods of time, maybe even the lifetime of the app, PIMPL is particularly well-suited for such classes. Classes that might manage networking, or encompass an entire part of app's running architecture, etc.
Take the First Steps Toward Becoming a DAO Ninja
Say more! I'd like to know what you mean.
Netflix and Amazon face EU quota threat
Right-sizing the development process for startups
Patterns are from software archaeology, they were naming things that were commonly seen and what they were for -- they were helping build a vocabulary to talk about larger constructs.

They are useful if you have a problem and one fits it perfectly, it can help you start thinking about it -- but it might not be a good fit.

In general we should be keeping software as simple as possible, with the understanding that it can be changed and adapted as needed. Often large "pattern" based projects devolve into a morass of unneeded complexity to support a level of flexibility that was never required.
Sounds more like the problem is a lack of definition of terms.
A few years back I worked on a project (by myself!) where I inherited an epic codebase that was basically the Enterprise Fizzbuzz application scaled up to ~30 person years of effort - it had tens of thousands of classes and a seeming desire to use every known feature of Enterprise Java and every Design Pattern - actually finding where stuff actually happened in the haystack of abstractions was quite entertaining.

https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpris...

NB I have a strange definition of "entertaining" in a work context - I was contracting at the time.
Of course we always need to balance open source 'FREE as in beer' with no-maintenance commercial solutions. Opensource is extremely important but it can also be 'FREE as in puppies' adding an extra maintenance burden (self hosting, security updates etc.).

Horizon.io ticks both boxes by offering a cloud SaaS :) one could say that is the ideal product!
Sure - Illinois Institute of Technology, Chicago. Dr. Edward Chlebus.
PowerPoint costs more to the economy than World War II
DNA Tests Fail to Detect Plant Materials Listed on Majority of Products Tested
Software design patterns as a goal are perfectly appropriate for APIs - the point is that if you use a well known pattern then programmers working against the API will be familiar with what's going on - if they're familiar with the pattern. If they're not familiar it gives them an opportunity to learn about it, rather than some messed up emergent rats-nest of functions just pulled out of the air.

Even if the functions you provide only loosely fit an established pattern it's still worth "adapting" with verbose notes about how it doesn't conform to said pattern.

Actually I would go so far as to say there is value in developing within a pattern even if you're not building an API, if you expect that a number of third parties may have to maintain or develop your code for years to come.

However, if you're working against problem domain that is well understood in your organisation (technically specialised, low level) it doesn't make sense to force a pattern upon it. It is reasonable to expect that third parties should know what's going on already.
Trump just vaulted past Hillary Clinton in a major national poll
And later in the lifecycle there are more vertical integrations that companies monetize, incentivizing collaboration to get as many users as possible.

It's all a part of the race to the bottom, from cloud data services to internet browsers.
Weird coincidence, I was just reading about this story earlier in the week.

I'm interested in the scuttlebutt but at the end of the day I think this is a story of an entrepreneur who was fundamentally unprepared for massive success and then made a series of very expensive mistakes (including poor choices w/r/t executives and advisors) that proved deadly to his business.
From the list I think he wants to become a great computer scientist instead of a great programmer.

Most computer science degrees will go way beyond this in the theoretical aspects.

I would add bloom filters, and some math like Fourier transforms and bezier curves.
Financial Markets, Machine Learning and the Intelligent Robotic Future
The TSA is just an expensive, time consuming infringement on civil liberties.
How to Create Vim Dotfile
Yes, I know, that was what I meant and tried to express in a semi-funny way.

I fully realize that the ellipsis is a code point/glyph/character/whatever in its own right, and that the rendering of it using three periods is not correct.

The existance of that rendering is what makes the proper one seem "fancy", from some points of view.

Also, one should never explain jokes I guess.
Dear Google Now, stop ruining my Survivor experience
Like most of you, I'm a huge Survivor fan, waiting the release of every episode and thinking who is the one that gets the boot each time. I cannot see the episode right when it's aired so I see it 12h later.
On the other hand, Google Now knows I'm a Survivor fan, and right after each episode it suggests me stories about the player that was kicked out - thus spoiling the surprise.
So, dear Google Now, no spoilers from now on, please!
In 4 years Google will drop support for it leaving you with a pretty paperweight. Not interested, not from Google.
Do you think this expenditure simply ends one day? Car manufacturing is incredibly capital intensive.
Umm... he believed it, hence why he wrote about the insight he gained regarding this belief. And if he believed it, then there will no doubt be others like himself that believed it as well, and will benefit from this insight he has shared. Any insight like this that is shared with an intent to help others is valuable. It doesn't matter how simplistic or obvious we may think it is as there will be others out there that will learn from it. When we make statements like this, we discourage others from sharing things they have learn't in fear of being judged as not knowing something that should 'supposedly' be obvious.
In places with net metering, the electric company often seems more interested in the profitability of the grid, which tends to delay approvals.
The link seems to be broken. Got a broken thumb
Library Internals Do Not Exist
Great read.

>no one challenged the status of the stored program as the defining feature of the modern digital electronic computer”, but “we struggle when required to articulate its significance in simple terms"

Are we? Then it's probably because we're being dishonest about using it to keep score of which machine was 'first'. Like the article says : 'first computer', 'first electronic computer', 'first electronic stored program computer'. Throw a handful of 'general purpose' in there and you've got a spectrum of candidates from the old astronomy tools through the difference engine through the Z3 to the Mark I. Honestly, the only time I ever hear or read anyone say 'first stored program...' is as a presage to claiming that the MkI was first so ra ra, we beat the yanks.
It's a shame they want $30 for shipping to Europe, I've seen a few articles from these guys and would pay for a physical copy, but not $70/6 issues.
Same.

Also, my iPhone 5s seems to read my toeprint better than my fingerprint.
This is just becoming ridiculous..
As with any other advice, one should use common sense to see how and which parts of it apply.

> A front end (client side) web developer won't benefit from having deep knowledge of data structures

but basic knowledge is still a must

I consider the basic knowledge of the "must" sections really a must for everyone. The depth might vary.
I have downloaded the app.

Is this buzzee your firm ?
What is the turn around time for releasing a new build ?
If women's problems are ignored, then who's making the noise? And who is broadcasting it across the news networks? Why is "Not enough women in tech jobs" a national story for months on end, and even the presidential candidates make it an issue, if our culture doesn't consider it everyone's problem.

Why isn't that level of intensity of noise given to issues like men not going to university as much as women? Where are the men-only scholarships? Where are the university quotas for men?

Why are only men drafted? Why are they almost always sent to the front lines to fight and die and women, if they decide to join the military, are given much safer support roles?

Why are there more male suicides then women?

Why are men almost exclusively put in jail for failing to pay child support even though there is a greater percentage of deadbeat moms than deadbeat dads.

Who is supposedly "fixing men's problems"? The candidates don't care. The news doesn't care. The only one who can seem to do it is the man himself.

I stand by my statement.
I have found that normal people are those that care most about it, once they experience that the social contract that governs private space has being violated.

How many people become victims to identity theft per year? How many people end up in a bad breakup where their ex uses private information in some action of revenge? How many people get falsely accused each year by the police?

Ask them if they care about privacy and anonymity, or as it is more commonly phrased, personal security.
> But if you just started a new project and you are still in a constant state of change ...

I don't understand what the rush is all the time. Sit down with a pad/pen or whiteboard and think about the design. the last mobile project i started, I sat down and wireframed on paper. Tests came naturally and didn't fight the design.
I have downloaded the app.
Is this buzzee your firm?
What is the turnaround time for releasing a newly build?
Generally, the rules and regulations that apply to the relationship between the Research and Investment Banking departments of a firm include:

- FINRA1 Conduct Rule 2711;

- NYSE Rule 472;

- SEC Regulation AC (Analyst Certification);

- SEC Rules 137, 138, and 139 under the Securities Act of 1933.

The Global Settlement of 2002

The Global Research Analyst Settlement (“Global Settlement”) is an enforcement agreement first announced in December 2002 and finalized on April 28, 2003, among the SEC, NASD (now FINRA), the NYSE, the New York State Attorney General and ten of the then-largest investment banking firms in the United States (the “Settling Firms”, the big 8 US banks plus UBS and Credit Suisse). The Global Settlement addressed issues related to conflicts of interest between the Research and Investment Banking departments these firms that became apparent during the “dot com” boom and then bust of the late 1990s and early 2000s.

As part of the Global Settlement, the Settling Firms agreed to several rules designed to prevent abuse stemming from pressure by investment bankers research analysts to provide favorable coverage specific issuers or securities. The Settling Firms were required to separate their Investment Banking and Research departments from each other both physically and with information "firewalls". Additionally, the budget allocation for Research was to be independent of Investment Banking. Research analysts were also prohibited from attending pitches and road shows with investment bankers during the advertising and promotion of initial public offerings (IPOs). Finally, research analysts’ previously issued ratings about issuers had to be disclosed and made available.

In addition to these regulatory actions, each Settling Firm was enjoined from violating the statutes and rules that it was alleged to have violated. The Settling Firms were also required to pay fines to their investors, fund investor education and pay for independent third-party market research. The total fine paid by the Settling Firms was approximately $1.435 billion, of which $387.5 million was restitution to harmed investors. The Global Settlement was amended in March 2010.

Sarbanes-Oxley

The Sarbanes-Oxley Act of 2002 required the SEC to address conflicts of interest involving research analysts and investment bankers. In response to Sarbanes-Oxley, the NASD and the NYSE established rules and safeguards to separate research analysts from the review, pressure and oversight of investment banking personnel. These rules are intended to ensure the integrity of research, and to protect investors from being misled as a result of a failure to disclose potential conflicts of interest.
Yes, there would be rare edge cases. But they should be rare and well characterized. Unlike the current situation.

Practically how the comparison is done depends on the informatics (yes it's unlikely to be implemented as a X~million symbol string match, more likely as comparing lists of called SNPs against a reference).
Sad that we don't have a 12V power socket standard that is better than the lighter socket.
Yes please do this.
The idea really is to glue the pedestrian you just hit to your hood. http://i.imgur.com/qlrbeCa.png

I'm curious in what situations this would end up being worse. I suppose Google seems confident it's usually better, but it just sounds bizarre.
Brit gets awesome bionic arm
Top Reasons Behind Rejection of iOS Mobile App by Apple
Dalvik Virtual Execution with SmaliVM
I got the online subscription a year ago, and even though I forget to download the issues from time to time, I love it. Great writing, interesting topics, great design. I'd love to have the print editions at a decent price, too, though. But digital is good enough (and is stupidly cheap I think, for the quality)
Name Android N
same! read it as in Music
Your interpretation of "codify common existing practice" would imply that no new compiler optimizations could be implemented since 1990 (when the first version of the standard was published), as any optimization could potentially change the observable execution behavior of an erroneous program that contains UB.

> More from the standard (defining UB):

Your quote is not from the normative text of the standard, but from the non-normative rationale. Note however that it explicitly says that programs that contain undefined behaviors are erroneous, and that the implementation is not required to emit diagnostics for the UB. Pretty clearly this allows implementations to optimize erroneous programs into whatever they think is funny this week.

The normative text of the standard is pretty unambiguous:

undefined behavior
behavior, upon use of a nonportable or erroneous program construct or of erroneous data,
for which this International Standard imposes no requirements

http://www.iso-9899.info/n1570.html#3.4.3
> Serve the time and irrespective of the results they give you a degree

I don't know what you are basing that on and maybe you've had a bad experience with this but it isn't true in my experience (which is of having a PhD from a UK university and now being an academic supervising doctoral students). Yes, there is a difference in the expectations of PhD students at a top UK university and somewhere like Reading or, for that matter, the university I work at but we still have standards I consider to be high and by no means a joke. PhDs are examined externally and the external examiner must be someone who has no ties with the supervisor, so it isn't possible for the university to give you a degree "irrespective of the results". My students publish at international events, in competition with US graduate students and whoever else, so a lot of people must be in on the "joke".

Given that, this does seem like a very weak project and I agree that a part-time PhD is, or should be, pretty much impossible really.

[EDIT] Also, bear in mind he hasn't been examined yet! It could well be knocked back at that stage, the possible outcomes usually being Accept, Minor Corrections (no need for another viva), Major Corrections and resubmit, Reject.
Downvoted by people who don't watch SV clearly...
The Macbook Air has a 45W charger. Assuming you're using DC (no conversion inefficiencies), you should be able to charge it.
Signal Desktop does not use GCM. You can use the extension with Chromium or any Chromium-based browser.
just drive the car to hospital..
Joel Spoelsky : "commoditize your complements." Steve Ballmer : "developers! developers! developers!"

Developers are a complement to hardware, software, and data based businesses. Google probably spends more on employees than on hardware or data. They really want to commoditize developers that can work on their stuff.

Google's business is based on having more and better data than their competitors. In many cases they have been happy to commoditize hardware, making open their datacenter designs for instance. That helps to cheapen their costs for building datcenters.

In other cases they open source software, like tensorflow and go language. These choices are made to commoditize developers. Google wants there to be a big pool of people who know how to use the technologies that Google uses. More developers means less costs for Google to hire and train employees. Which is their biggest expense: win!

With the TPU, as long as no one else is doing that kind of hardware for machine learning, it is a proprietary advantage to keep it secret. But at some point the logic flips: when others start to do similar things Google would rather commoditize their version of the tech. Because the lesson of the last 40 years is any widely used hardware WILL become commoditized. The inertia is with software codebases and developer knowledge.

Developers developers developers developer developers!
Robin Cook’s “Chromosone 6” is a book about using monkey/human hybrids as organ-matched sources. Crossing “the line” with this type of research is not something I wish to be a part of.
That's probably why fingerprint scanning doesn't work after 48 hours of not unlocking.
Depends on where in Europe you are heading. My comments pertain only to UK academic research postings.

Your question implies that you are being interviewed on the basis of your established credentials. On that basis, you should have a good idea of how you compare with your peers in your area of specialisation. The pay scales are pretty much set in stone. That is, for any given grade there is a pay range (usually based on years of incumbency). That is not negotiable. Your best chance would be to be assigned to a higher grade and thus be on an elevated pay scale. Generally grades are grouped and it is very unlikely that you would be able to jump groups. The HR approval for the role, most likely, specifies the range of grades for the position. Going outside of that range would, typically, require a lot of additional paperwork. People responsible for hiring have already gone through enough bureaucracy that they wouldn't be happy to be faced with more.

Unless you are already very well paid and happy where you are, you might want to seriously consider (as other HNers have suggested) accepting the best offer and then working hard to prove yourself and thus be recognised for your contributions and being promoted.
It's only separated from Ireland by one "c" - that's what he said...