skysight-inc/HackerNews huggingface dataset:
Yeah, from my experiences with my current company, standard language/framework == good, one-off apps that now need to be maintained in production == bad.
Seconding this. Could someone clarify?

I thought Django and "microservices" are orthogonal. Can't Django be used to create any service, even a micro service? I certainly used Django in the past just as a REST server, without any "web site" to speak of. It just reduces some boiler plate.
Uber Cuts Fares in 48 Cities, Raising Some Concern Among Drivers
My Audi can have the cruise set over 100 mph, at least via adjustment through the speed increase/decrease control. The car does not have to be at the set speed to verify this.
I'd be interested to know what other software professionals think of this.

I believe policies like Halifax's and Barclays' nudge us towards a world of software jaildom - and I don't think this is the direction we should aim for.

Paul
What’s new for designers, January 2015
You are asking about setting up the company, but you will want to consider other factors as well:

- Where can you open a bank account for the company?

- What are the annual and periodic filing requirements (and fees) in regards to ongoing company registration (e.g. the Company Annual Return in the UK)?

- What are the tax filing requirements and tax rates for your situation?

- Do you annual company accounts need to be filed? Do these accounts need to be audited by a professional accountancy firm? Are there any exemptions from this requirement?

- What are your own country's laws re: determining the domicile of a corporate entity, for the purposes of calculating tax?
Java 8: No more loops
How GameStop Eludes Blockbuster's Fate in the Digital Age
2 days leeway is not uncalled for. Bad form Google.
If a statement didn't throw before and might start throwing now, that would be a problem for existing code wouldn't it?
Jeep Grand Cherokees have a similar feature for hill decent or otherwise rough terrain. Once you set the control you can put the car into certain "speeds" that will only go around 1-5mph depending on the setting.
In Praise of Curation
THE QUEEN (OFFICIAL VIDEO HD) JOHN LARS ZWERENZ (C) 2014 – Rock Music Video
PayPal Credit Expansion Now Lets Merchants Set Terms
Sure, but the title says "ditching Django" ... presumably if they have a Django monolith, at least some of the devs might choose Django for some of the microservices?

Maybe they are still using Django in some capacity and the title is just slightly overstated ... not sure, but would appreciate an author comment in this regard.
I think the biggest reason people are switching to microservices is that it enforces protocols and documentation between components that would otherwise never be created.

Microservices create a boundary and that forces you to create a request/response protocol to enforce that boundary. You also have to create documentation for it to be useful.

There is nothing stopping you from creating your app as a bunch of small services without the added complexity of microservices/SOA. Each slice of your system could be an isolated library with a stronger enforced protocol and documentation and you'd get largely the same benefits without having to deal with the deployment headache.

The reason people don't do that is if they build isolated components in the same monolitic system, nobody takes the time to create a proper protocol and documentation.

The only way people seem to be willing to give separate services the appropriate design respect is to physically separate them and solve them as an isolated problem. The physical separation forces better behavior for microservices to even be useful.

It doesn't help that most languages have really weak capabilities to enforce strong protocols/boundaries beyond a simple type checker via complier. A language like JS, Python, PHP, Ruby, etc. don't even have a compiler so the ability/desire to create strong protocols in most code is almost nonexistent to most developers.
Well, if you give a canonical tag out, you're really taking on the responsibility of resolving different url's, so you should make sure you do it right.
Ya I checked out your root project, will give it a whirl when you open it up. I'm moderately interested in adding voice commands to an app I'm working on and haven't found a service that fits the bill yet.
They are in the same lexical scope.

Inside a lexical scope, all matching variable names refer to the same variable. Because they are in the same lexical scope, all instances of the variable name "x" refer to the same variable.

Separate (but related) to this is the concept of where it is valid to dereference variables (this is where my knowledge breaks down - is there an accepted term for this?). Javascript says that for variables declared with "var", it is always valid to dereference them, but it might dereference to "undefined". For variables declared with "let", it is only valid to dereference variables in the lexical scope. In addition to this, it defines a "temporal dead zone", which covers the span between the start of the lexical scope and the "let" declaration. This isn't a novel thing - other languages do it, though they may use different terminology.

It's this "temporal dead zone" that you seem to be referring to when you say it's creating a new implicit scope.

It's still impossible for a let declaration to affect anything outside of its lexical scope. If it's shadowing a variable name in a parent scope, what it can do is stop variable names earlier in the scope from referring to the parent scope and make it refer to the variable in inner scope. This may seem like a problem, but most other languages will do the same thing (C++, Java, C#, Python, Ruby etc.) and I've never seen it be much of an issue.
It's interesting to see that the HTML5 client never went anywhere evidently -- I interviewed there for an internship in 2013 and remember that they were showing it off a lot.
Very impressive. Slow as hell on my computer though (3 GHz Core2Duo, Chrome 39, OS X 10.9), to the point where it doesn't seem realistically usable…
Didn't they give MS 90 days to patch? (That's two or three patch Tuesdays).
The problem is for anyone who sees prototype OO as a better solution. They kind of give their blessings to the other OO, which is a bit sad.
(edit: spelling)
I've found in practice that using "stash" is a very effective way to ensure you'll spend lots of time in the future looking for a lost branch. I don't like stash anymore.

I like the idea of aliasing the command unstage, but once "reset HEAD" is in the muscle memory its kinda stuck.

Is git-flow still cool? Or is it so popular its just assumed to be in use as a standard, thus well beneath the level of an "intermediate" users guide? If you don't use "the" git flow repo, at least as a branch naming strategy and overall usage strategy it's worked pretty well for me.
For the couple updates my Audi got so far I had to bring it to the dealer.

Some updates even required - if you want to believe the statement I got from my local Audi shop - a dial-up connection to Audi itself.

Most updates _could_ be installed via CD/DVD/SD card as well though, as far as I'm aware. If you can acquire the files and are comfortable 'flashing' your car's systems.
About the only thing that might be interesting to see is how constructor parameters are handled. With the prototyping system, I consider it to be a bug to initialize members in the constructor - if you always just call an 'init' method straight after construction (typically chained, much like in Objective C - var thing = new Thing().init(param); ) then protyping is very simple and does nothing surprising. It's only if you really really really want to have RAII that things become complicated...
typeof isn't raising the exception, the runtime is raising it before typeof is even evaluated.
Ashes – a code generation package a la `rails g` for phoenix
Without backing a horse exactly:

* FP as I understand it doesn't much oppose imperative or even most of OO. It opposes non-composability using discipline from pure/total languages.

* Even if you want to encapsulate data and logic together like you suggest, you only need to buy 10% of OO to get that (ADTs, existential types, modules, what-have-you do it fine if not far better). The remaining 90% may be a waste or actively harmful.

* FP, as I practice it, means using the simplest possible thing in a world where simple things compose nicely. This may end up being some kind of full-scale OO, I'm eager to try to find places where it does, but so far it hasn't ever.

As a meta note, "my kind of FP" is the Haskell type of purity and other such nonsense.
The general attitude is that things get in the spec once there is rough consensus they should be implemented, but can be dropped if they turn out to be unworkable with implementation experience.
No, it's a bog-standard on-premise "Enterprise" product, like Oracle, SAP, etc. This is how that business model works. The customer pays _both_ for the software _and_ for the on-site engineers, usually through the nose.
> The problem is slippery though, people always reuse words to express different ideas :
> "We can't buy any bread because we haven't got any bread."

As long as we are talking about syntactic parsing, this is not a problem as long as the attachment is the same. In both cases 'bread' is the direct object of the main verb.

Of course, there are cases where a particular word can be used both as a direct object and a subject of a particular verb. E.g.:

The man ate the pig.

The pig ate the apple.

Of course, what such systems are learning are not rules, but probability distributions that combine information about the distributions of word orders, association strengths between heads and dependent with a particular dependency relation, configurations of dependent pairs, etc.
Everyone's personal city guide
Well let me know what sorts of things you have in mind, and what you can't find in other services! I'll see if there's something LE can do for you, or could do in the near future. I'm always in the irc channel (#languagengine on freenode), so feel free to drop by. :)
"60% of all profits from this fun project go directly to fund GnuPG! You can also directly donate to a very important cause."

I severely doubt the guy who develops GnuPG (Werner Koch) would approve of this.

[edit] This is the worse thing I've ever seen on Hacker News.
All of these comments couldn't be more correct.

The only question I have is how could investors be this dumb?

I have heard that some investors in the prior round (all of what, 12-18 months ago?) are trying to get some/all their money out after seeing the curtain pulled back. It has to be somewhat of a stampede for the door gaining momentum.

Still, while it is a cushy place to work (smart people, nice perks, okay money and stock that is supposedly valuable on paper until everyone rushes for the door), I also don't understand why smart people work there - unless they don't.

Maybe the smart employees are the ones who left 2-3 years ago.
Of course Django can be used for microservices

I don't recommend it, but you can use it

I would prefer to use Django mainly for CMS kind of things
The referenced papers are about syntactic parsing, not semantics.
These are awesome. Reminds me of the set Nicholas Gallagher created a few years ago. http://nicolasgallagher.com/pure-css-gui-icons/demo/
Where are the headers for out-of-order execution, cache levels, execution pipelines, ...?

Additionally not all C compilers provide such headers.
Have you made sure your current employer won't come after you ? I am curious myself. I imagine if there's no overlap between your night and day job, you are okay.
This makes no sense from a business perspective. Letting developers work using any languages and technologies sounds like a good idea to individual developers maybe but how do you intend to maintain it? If you stick to a few core languages and technologies and hire / train for those tech then you reduce your risk if one or more developers leave and reduce the total complexity of your stack. You should have a good reason for introducing a new language or technology to your stack and think carefully before diving in. Just create separate Django apps and only switch to a different tech if Django is particularly ill suited for the task.
Can I be the first to say that this is a terrible idea?

>We have a multitude of parts that each could easily be self contained as their own service. For example: Messaging, Search, Authentication, etc. These all have different requirements and focuses and therefore lend themselves better to different languages.

Yeah, not really. Python is not inherently less suitable for authentication than, say, Java. Both languages are designed for general purpose programming. The only real drawback to python is that it is relatively slow and this isn't even likely to be an issue at all if you are using django (you'll most likely bottleneck on I/O).

>Also, looking at our roadmap, we have lots of sprints and projects coming up that could be implemented in their own silos. By splitting these into services this allows us to quickly test and iterate without worrying about the rest of our product.

And splitting them into separate libraries is not sufficient because?

>Whereas in a monolithic system these services are bundled together and can create a spaghetti mess of workarounds and packages.

Newsflash: you're MORE likely to make a spaghetti mess of workarounds if you use a microservices architecture because of the impedance mismatch between API layers. You'll have to create a representation of, say, a user object on both sides of the microservice divide and write code to serialize it and deserialize it. Hello massive code repetition and obscure bugs.

>Having been a dev team of 1 for a long time I'd never experienced the headache of installing all the dependencies required by our Django system. It never really occurred to me that as I installed more packages, it was becoming incrementally larger and more complicated for new team members.

If you think your headache is bad with django (which has consistent opinions - e.g. on how templates should work - that makes it possible for modules to work together), get ready for a nightmare when you start using a hodgepodge of different systems written in different languages.

>We don't worry too much about code quality

This has officially moved this blog post from bad idea to outright parody.

>However, most of the cons are part and parcel with programming.

Here's a small laundry list of the exciting issues you'll now get to deal with:

* Writing serializers and deserializers for your objects so they can be passed from one service to another. And debugging them!

* Babysitting all the new services you will need. You'll need to keep them up and running, monitor them, have a backup plan for all of them going down and lots of lovely extra error conditions.

* The headache of trying to figure out how to scale your network of microservices - probably meaning lots of time configuring load balancers.

And much, much more.
second this, impressive but feels a bit sluggish.
You can easily have a Django app which calls a micro service.
"Most companies won't have a problem with that, but some might"

Always read your contracts and look for clauses regarding this. Most companies require you to disclose the fact that you work for another company / are doing contract work outside of your normal work time. Some companies forbid this (unless you ask them to change the contract, and if you explain the situation, many companies will oblige).
This is crazy. By now the world really knows about Microsoft's second-tuesday-of-the-month policy for patches. If Google isn't willing to wait the two additional days such that the patch can be deployed within the regular update window, this means that Google effectively gives MS only 60 days to react and fix issues (because once they missed the second patch day, the vulnerability will be disclosed before the third).

MS is a huge company with an immense installed base and they have to be understandably careful with pushing updates. Working with them to disclose vulnerability on their regular patch day really wouldn't be such a bad thing for either Google nor the end users, even more so as we're talking about two days here and there even was a holiday week in the timespan.

This is about being an ass and I see no advantages for end users.

Even if Microsoft had not responded to Google at all, they could have waited for full three patch days (again, MS' patch deployment timeline is very much public knowledge by now) before publicly disclosing the issue.
Yes, but as I answered they are compiler specific and cover only part of the CPU.
An incredible achievement. How long did this take to make?
No because the let keyword didn't exist before. So existing code won't suddenly start to throw. The article's author is making a terrible, bogus argument.
Apparently Microsoft needed some time for testing.
In all current (F-series) BMW cars, firmware updates are performed by the dealer using TCP/IP over 100 megabit Ethernet wired through its OBD-II port.

Curiously, it assumes RFC3927 -- the car assigns itself an IP within 169.254.0.0/16 and the diagnostic computer (a Windows PC running some native but mostly Java-based software) does the same once DHCP fails.
If Google insists on exactly 90 days without any consideration for patch Tuesdays, this means that, if unlucky, MS will only get 60 days (if they got the announcement right after a patch Tuesday)
And they asked for 92 days and Google decided to publish anyway? While I'm not surprised, it doesn't strike me as the most responsible action.
> Functional programming doesn't even directly oppose OOP, it opposes imperative.

Just to be pedantic, OOP is (a kind of) imperative programming: goals are achieved by performing a sequence of actions in the world. In functional programming, goals are achieved by defining values; the evaluation order is an implementation detail.

It could be argued that OOP is "more imperative" than, for example, procedural programming, since in an OOP approach, "the outside world" includes everything other than the current object (due to dynamic dispatch).
Jobless recoveries and the decline of startups
The do’s and don’ts of app monetization
> housing is more expensive in Copenhagen than anywhere in Sweden

In some ways yes, in some no. Short-term or unofficial sublets are more expensive than the prices you mention elsewhere in the thread. Especially sub-lets of a single room have shot up in price, because there's a shortage of dorms in Copenhagen, so many university students are trying to do temporary room rentals on the private market.

But "proper" rentals of a regular apartment are much easier to get in Copenhagen than in Stockholm, without needing to sit on a multi-year waitlist. A typical 1-bd legal/official rental on a 1+ year contract might be around 5-7k DKK, i.e. about 6-9k SEK. A 2-bd maybe 6-10k DKK (8-13k SEK). You can certainly pay more too, but there are a lot in that range.
Regarding the spam sites, in your RSS feed, you are publishing your full articles. More than likely, the scraper sites are pulling directly from these feeds, publishing quickly and getting Googlebot to see the content before it hits your site (thus receiving attribution). I would suggest:

1) Summaries only in RSS feeds.
2) Throttle the RSS feed back by several hours so that your latest article is not listed immediately.
3) Upon publishing, immediately link to the article via all of your social media outlets.
4) When internally linking within articles, use full URL paths and not relative. (If the spam sites are directly pulling your content and not cleaning up, you may be able to get a link back to your site from the scraped content.)

When publishing, timing is everything. Just my $0.02 based on my own experiences dealing with spam sites.

On a side note, even though we are in the age of HTML5, I would still suggest sticking with one H1 tag per page, if possible.
>You would think if you are able to land that job you would have risen above that job.

What an awful thing to say. Some people like doing that type of work. There is nothing wrong with that. I don't think our society is destined for greatness when we devalue important work.

As an aside, my aunt did a lot of jobs and always went back to being a cleaner because thats what she likes to do.
It's Getting Easier for Hackers to Spy on Your Computer When It's Offline
Google is just a bunch of hypocrites. Do you remember what happened when they're new ReCaptcha was reverse engineered?

Let me remind you: https://news.ycombinator.com/item?id=8728336

Disclaimer: I work for TAGA (The Arrogant Google Assholes)
unlikely we will know the true internal discussion, but it seems unlikely it realistically took MSFT 92 days to put together a patch.

It seems far more likely they sat on the disclosure and did not prioritize it appropriately, after google continued to push for an estimated release date (which they never got). Then when the clock was running out, MSFT asked for extension, and Google being tired of getting put off, said no and stuck to their 90-day policy.

all of the above is speculation, and I don't necessarily agree it was the right thing to do. However, I could see folks @ googles sec group being a bit pissed MSFT wasnt taking it seriously, and then decided to stand on their policy just to make an example (surely, MSFT wont drag feet on future disclosures after this, right?).
Recover the Prestashop back office password
My thoughts as well. It seems like the problem here wasn't "monolithic Django codebase". The author mentions that he had a lot of trouble getting new developers up to speed because of package requirements.

That should be the simplest problem ever to solve. Use a requirements.txt, use vagrant, and maybe even Salt or Chef if you require more specific tools.

Microservices are great in theory, but every app ends up requiring a lot more interconnectedness as you grow. I'm all for splitting services off, but it's usually something to consider once you're a few iterations in.
A Samsung GTI9300 is a better choice as you can install Replicant on it, and the Intel baseband at least gives you access to radio logs so you can determine GSM encryption and silent SMS attacks https://github.com/darshakframework/darshak

Replicant isn't going to be ported to Motorola E/G or new Nexus devices, too many proprietary binaries.

It would be nice to have a totally free software tablet, and use a USB OTG baseband to priv seg it from the device. When you want to change radio identifier just buy a new internet usb stick.
Judging by the following statements: "we don't worry much about code quality", and "lots of moving parts isn't without its complexity", I'm just going to very politely wish him luck in his endeavors, and maybe make some popcorn.
Designing Icons for the Apple Watch: Icon Size
New York's Newest Skyscraper Is 32 Floors of Prefab Apartments
There have been some inflated claims, e.g. people calling their part-of-speech tagger a shallow parser or their shallow parser (e.g. chunking plus some rules) a parser :).

But I think in general computational linguists would say that dependency trees are definitely syntax.
Celebratory gunfire – Falling-bullet injuries
Pretty much the only reason I use Chrome over Firefox is because there is only one bar to type things into in Chrome, and it 'knows what I mean', where as Firefox has two and it never knows what I mean.
>> "And of course they imply that a culture critic at a serious publication like The New Yorker would never countenance the use of casual profanity. Only a young start-up whippersnapper."

I don't think it's a reference to startups in general but to this particular startup.
Do you know if Microsoft actually talked to Google about waiting a couple more days, or are MS just saying that in their press release?
And the wheel turns: http://www.catb.org/jargon/html/W/wheel-of-reincarnation.htm...

It's been going on for a long time.
We still call Genius a "startup"? Founded 2009.
Spotify Now Has 15M Paying Users, 60M Overall