skysight-inc/HackerNews huggingface dataset:
First there is the question of whether one should have surrogate keys at all, some oppose surrogate keys because:
They make tables more difficult to reason about.
They encourage structures that involve large amounts of joins.

Others embrace surrogate keys because:
They make joins between tables easier (usually one field rather than a compound key where one might accidentally not include all the join predicates).
They save space since an integer is almost always smaller than a compound key.

So if you are in the camp that favors surrogate keys, then consider these points:

Some quick downsides for UUIDs:
If your table has a clustered index, UUIDs are generally not created in a regular order, and so you'll be constantly inserting into a part of your index rather than the end. Some databases allow sequential UUID generation to help mitigate this.
UUIDs are usually 16 bytes, but an int is usually 1-8 bytes. Also keep in mind you pay this price multiple times since the primary key (generally) becomes the foreign key in other tables.

Some upsides for UUIDs:
If you have a process that has no master, being able to tie disparate things together with a shared UUID is very useful sometimes.

Often developers use UUIDs/GUIDs because:
Their app wants to perform a 'Create' operation and they want to generate the key in advance.

This can usually be mitigated by creating a routine that generates a range of reserved surrogate integer keys, and gives a starting value to the application layer. Then the application layer can use those values with knowledge they won't already exist. For instance, the app layer say, "I'm going to make 100 customers", and the response comes back "10232". Meaning that 10132-10232 is reserved for that process to use for customer primary keys. This allows larger (chunkier) requests which can be interrelated without constantly making requests to the Database layer. One could extent this to be a true cache for entity reserved numbers that gets dolled out as needed by the app layer.
I know what you're referring to, but then again, that's a matter of formatting, not encoding.
In case anyone wanted it from the source, here is Joey Hess's announcement from a little more than a year ago:

http://git-annex.branchable.com/devblog/day_239-240__bittorr...

And reference to git-annex's bittorrent special remote:

http://git-annex.branchable.com/special_remotes/bittorrent/
Not sure if there's any good 'official' link, but: it depends on what you need to replace (adding methods? changing methods? changing resources?).

In 90% of the cases it's much faster, maybe by cutting build+deploy time by 90%, just because you don't have to rerun the app.

In 5% of the cases it's a bit more involved but still faster.

In 5% of the cases it fails miserably and you spend 200% more time just stopping everything, doing a clean build, and deploying it again just to be sure.
I see sources backing up percentage increases that are much larger than 2%

http://www.zillow.com/san-francisco-ca/home-values/

https://www.boe.ca.gov/ma/news/AV_Bay-Area_PC.htm
I couldn't disagree more about arrow functions:

x => this.y + x

Is almost pure signal, compared with the noise of:

(function(x) {
return this.y + x;
}).bind(this)

I know which piece of code I'd rather maintain.
Why Your App Should Support Apple TV and Its Alternatives
Follow up question: how does one move his career from general "business logic" programming to state where you _have_ to read latest CS papers for work and write your own (if your company allows you to share the intellectual property)?
This strikes me as a very unhelpful comment. Why are they bad? Why are the ones in these books better?
No, in this context it means Microsoft/Cisco etc certifications. Unfortunately people with these tend to be worse than the people without them so I'm not sure why this is even brought up.
That doesn't make any sense. Why would a company spend so long in development if they were a scam? They could have launched a fake product many years ago.

Their development efforts failed, and they clearly ran their lab horribly, but I don't see any evidence (or motivation) for the company being a scam from the beginning. What would their exit strategy have been if they had never intended to produce a viable innovation?
Apply HN: Corporate E-Learning Platform for IT Service Providers
TeamFusion.io enables IT service providers such as MSPs and Systems Integrators to deliver custom e-learning and self-service support portals to each of their customers.

-The PROBLEM-

-Digital Transformation continues to accelerate in the world of IT with spending on cloud service implementation expected to reach $127 billion by 2018

-The number of cloud applications under IT control per organization is expected to rise from 8 in 2015 to 17 in 2017

-END USERS are constantly being introduced to new technologies and processes HOWEVER IT teams struggle to drive adoption of new software with only Just 10% of workers on average reporting that they are proficient with the digital tools used at work

-THE SOLUTION-

TeamFusion focuses on the organizations driving the Digital Transformation Initiatives in Enterprise IT - Consulting Organizations, Systems Integrators, and MSPs. Our cloud based platform allows these organizations to:

-easily source, create, and manage content that can be used to support end users

-Design and Deploy support/training portals that tailors content to each customer and even each end-user based on automated persona mapping to ensure that each user has easy access to relevant and tailored content

-KEY RESULTS-

Improve ROI on enterprise software through end-user adoption

Deflections costly help-desk tickets through self-service support and P2P community help

Help IT teams empower their users to adapt to and leverage new changes that are rolled out in Enterprise SaaS solutions

Enable Service Providers to generate additional MRR by offering the value-added solution as their own "IP.

-ADDITIONAL INFO-

-Former co-founder of eclipse.org is an founder of TeamFusion and active CTO.

-Launched in January and currently generating revenue with over a dozen paying customers in the Microsoft Partner Ecosystem.

ask us anything! We are extremely excited to hear your feedback/thoughts/questions!
It's not fish guts, but one of the fining agents used is made from chitin from shrimp: https://winemakermag.com/26-a-clearer-understanding-of-finin...
15 Deep Learning Libraries
You're exactly right. Arguably worse than ugly, unnecessary and difficult to parse are that many of these things are difficult to research with a search engine. For example, `const { user, post } = this.props;` there is nothing to plug in to a search engine (and the meaning is not obvious, even to somebody with plenty of experience in ES5). Same thing with `arr1.push(...arr2);`.
If they ask you to come back and make a "presentation" to a group (i.e. work on a project and come present it, non-technical role), run. Especially if they don't pay you for your time.
You say it's a bad move, but are simultaneously pointing out that you've removed their source of revenue. How is it a bad move if their goal is to pay the bills and survive? Do you have an alternative solution?
basically, it is "rack-etized" mobile park. From my understanding, due local MUDs being over capacity and pretty expensive per-pad costs to bring sewer, electric, water (i assume they are not going to deal with gas.) mobile parks are no longer "easy" investments.

I.e. from tech-standpoint it might be feasible.

From consumer standpoint - price they are offering - not sure, we need to see price of the "kasitas". Unless something drastically changed during last few year, it should be possible to find decent "traditional" apartment for +- same amount. And if you account for price of "kasita" - it might actually become on par of fancier appartments.

But most risk is in infrastructure for that project - it might get prohibitively expensive. and $1m does not sound like a lot to make that happen, unless they plan investors building "racks" AND pay for bringing up utilities AND dealing with state/MUD.
i think im pretty good at detecting it now, but i dont think there is a simple way other than to work at alot of places. i will say that if things seem toxic, they aren't going to get better (in my experience), and most likely will get worse. so quit asap.
Agreed. But it's not an either-or. Interfaces are a TypeScript thing, not an ES6 thing.

TypeScript is (or tries to be) ES6/ES2015 plus interfaces/types. If you want types use TypeScript.
If you want to return an object literal just do this,

`(text) => ({ label: text })`

In my opinion the arrow function has great syntax. Rest assured, no matter what the syntax was chosen to be, there would be an extremely vocal group of people who hate it (such as yourself).
That's part of the spec, they're really meant for doing functional style, one liner type of things, like

[1, 2, 3, 4].map(x => x + 1)

You should probably avoid using them for other applications, particularly if you're using a library that uses prototypes because it won't work.
This is exactly what I saw at my previous company 5-6 years ago. They had no remote work policy but made exceptions for a few key people.

Those few were very good at what they did for years consistently and well liked (responsible, pleasant, mature).

I consider whatever extra steps required (being nearly always available on IM, etc) for remote work is well worth it, because remote work offers so much benefits.
Yup. To riff a little bit on those bullet points: If the interviewer[s] is displaying that behavior during an interview, expect the entire company to have exhibit the same stuff, only by an order of magnitude more.

If the interviewer doesn't respect you, then management doesn't respect or listen to employees.

If you only get canned questions, then the company cares more about checking boxes than creative thinking.

If the interview process is complicated, _everything_ is complicated.

If they aren't paying attention, then nobody pays attention in any meeting, so they get repeated, or stuff constantly falls through the cracks.
The problem is that most uuids are generated in a way that, when sorted alphabetically as strings, would have a random order.

Example:
t0: 7458e3a9-716b-4352-b2e4-b5b67d0c089b
t1: 4d8d753c-1777-439d-8725-b093b1bd8430

Using this as a PK in any relational database will mean the rows are stored in the clustered index order, which causes extreme fragmentation because the db engine constantly has to find "holes" in the data pages to insert more recent records instead of adding those at the bottom of the table as would happen with any continuously increasing key.
Definitely not. If you are curious I have pictures. (at home, would need to wait till I'm off work)
Thanks to be the first to ask a question Brudgers, here are my answer to your question:

For the chicken/egg problem, i didn't figured it out yet. Right now I've created 'news/fake accounts' that provide regularly different types of content (news, photography, quotes...) and I watch how people react (upvotes, comments). This help me to see what kind of people are my very first early users and what do they like. I will hopefully narrow down a specific type of content and market the app on this specific niche. I also update the features (erasing and adding new features) according to how people use the app. Althought the app is working (public beta) I'm still in an early phase of observation and iteration. My vision of the app is quite clear though.

Concerning the painpoints and differences with other social networks:

- CORE VALUE DIFFERENCE OF FORUM
The contents you see on Facebook and Twitter depend on people you are following. Which mean that if your are liberal, you are most likely to have liberal friends on Facebook and follow liberal opinion leaders on Twitter, same goes for conservative people. And you can extends this issue on other fields of interest. Which mean that even if you get informed, you have always a biais point of view on the news. If we really want to connect people, it is just not about technology and device but it is about creating dialogue and conversation between people who don't think the same way.

My belief is that the best way to convey an information is through contradiction and perspective because this empowered the reader, and force him to find his opinion himself. And this can be done through conversation.
(That is why on Forum, you simply don't follow people, but you can follow topics)

This manifest itself through en experience around conversation. To put it simply. Forum is a public messaging app. Everybody can see the chat of everybody.

- DIFFERENCE WITH FACEBOOK: Forum aims to provide a more simpler and unified experience.
On Facebook, you have 4 types of content.
- 1 the status
- 2 the comment on a status
- 3 the Facebook note (similar to the medium story)
- 4 the message in Messenger

Which mean that you have 3 specifics product for each use case (facebook status/comment feature, facebook Note, Messenger)

I want to emphasis on one point. No matter what type of product you use, as an individual you simply want to provide an information/opinion, and to get an information/opinion.

Boiling down to this key idea, on Forum, you have only one feature: posting a thought(400 characters long) according to how you use it,
a thought can be seen as a status, a comment, a paragraph in a long story or a message in a conversation (or all these at the same time)
Has Rapportive been discontinued? It still works for me.

Or do you mean Linkedin no longer work on it?
As an OSM data consumer I hope this gets more people adding nodes, particularly house numbers for geocoding.
It's an expression... clear and consistent. You're confusing it with a statement.
Apply HN – Seedu – Equity Financing for Education
Seedu is a peer-to-peer platform permitting investors to microfund various students of their choice in return for a percentage of their future earnings potential. We anticipate creating a network of investors whom are aligned with these students in order to provide both tuition assistance and mentorship effectively seeding these students' futures.

Seedu does not provide loans in the traditional sense, but rather attracts investors (friends, family, alumni, prospective employers, retail/institutional investors, etc.) to buy up students’ debt in return for equity in their career earnings for a given period of time. Typically speculative startups opt for equity funding rather than debt funding due to lack of initial funds and the freedom to experiment in their respective space – Seedu acts upon the same premise with students early on in their careers.

Seedu’s contract provides the student with:

Competitively priced alternative/supplement to student loans

Incentivized mentorship from equityholders – If you do well, they do well.

Career flexibility – Currently can’t risk leaving your job due to high monthly student loan payments.

Unemployment insurance – If you have difficulty finding employment, there is no traditional student loan payment to worry about.

Customized payment structure – Ability to modify the contract based upon financial expectation/need.

Active involvement bonuses – You will be able to reduce the net amount paid through good grades, internship acquisition, and anything else that actively boosts your future earnings potential.

Transparency – Student loans are bureaucratic and confusing. We will be focusing on simplicity and data visualization to help understand where your money is going.

We hope, with your help, we can solve the student debt crisis together.
Building a Fair and Functioning San Francisco Together
Correct. I hoped from context that it was clear that I was responding only to the line that I quoted (which said that the US "does not have debtors' prison") and not to the main thrust of the argument.
Come off it, destructuring is hardly unique to javascript.
Uhm, Genymotion never supported ARM.
Destructuring assignments are extremely useful, especially within function signatures.
This has always been the case for any competent sysadmin. I know of zero senior sysadmins that have worked on-premise on a regular basis over the past 20 years. You leave that for the remote hands guys who rack and stack stuff, not your senior level guys who's hours are much better spent doing harder things.

We used to do this via remote serial console 20+ years ago, then we moved to IPKVM, and now ipvkm over integrated IPMI controllers.

I've managed groups of sysadmins over the years, and the truly talented will outright refuse non-remote work. Since they can demand it.
I may be totally wrong on this but I was under the impression that since Google started publishing x86 builds of Android the "emulator" is now much more like a simulator (unless you choose to run the ARM version, of course).

The thing that makes the emulator really slow is when it has to emulate ARM instructions on an x86, but if you pick an x86 arch then you're basically just running a VM, which should be comparable in perf to the iOS simulator.

Again, just guessing here, please correct me if I'm wrong.
In my extremely biased opinion... because it lets you do terrible things in free-form code which opinionated tools like Maven don't allow.

(I'm not a fan)
It's really mixed. The models on the site I posted are from a variety of places, so some are higher quality than others.
Because he/she made a pretty broad statement about video as a medium and then used their own experience to validate/support that statement. I think it's probably relevant to ask about their age to be able to discuss whether their personal experience is a useful data point in support of the statement.
WordPress Plugin Possible Cause in Mossack Fonseca Breach
What’s going on at Nest? How about ‘what’s Next?’
header is bigger than the article. Nothing wrong with that, but was expecting more insight.
Looking into these though I'm always wary of things like these. Any personal experience?
Just got hired myself. And I consider myself quite average too so here's my experience.

My first job fresh out of uni was in a corporate environment and while I appreciated the professionalism that came with it ("Keep an activity tracker" etc ... might horrify some people but I love making lists haha) but in the end I only stayed for 6 months. It got too corporate and suddenly I realised that a lot of people were actually feigning cheeriness when underneath they were under mighty pressure from politics. I decided quite firmly never to work for corps (that activity tracker should have warned me after all) and for a few months I freelanced until I got broke. I thought I'd give big organisations another chance and I'm glad I did. When I had the interview, it was typically based on a set of questions but the interviewers were relaxed and made warm-but-not-wacky jokes. I also remember the time when I had a sudden mind blank during a presentation and they were really amiable with it and said that it's probably better if I spend a day with the team and see if we're a match. That was probably the moment when I knew that this workplace could be a nice place to work in, because they seemed to recognise and appreciate humanness and that the interview is not just about testing me but also vice versa. So if it's possible, asking to meet your future team and seeing what the reaction to that is like could be a nice indicator of the type of culture there. And of course the actual team meeting.

I don't think there's a proper list of how to detect toxicity, so I guess you just need to keep an open eye and ear on everything which is why it's important to spend some time in the workplace. Keep alert but at the same time keep an open mind. Interestingly, a week after I joined my new workplace, the organisation did some ruthless restructuring, but which top management was very organised and empathical about it, for example there was an emphasis that we could talk about it, and comfort those who are leaving etc. It was unpleasant and initially I panicked thinking that I picked the wrong workplace again, but in the end it was educational - a couple of weeks later, the emotional negativity dissipated. I'm still new but 1.5 months later and I'm still chirpy ... well I'll take that as a good sign.
Its like the interview that never ends.
Star Trek into Darkness: The Spoiler FAQ
You should understand that conceptually stencil-then-cover is the point-in-poly algorithm using line segment intersections. It's just that the GPU triangle rasterizer solves the line equations (or half plane equations) and accumulates the per-pixel result in the stencil buffer.

The Doom 3 shadow volume algorithm is just the same, extended into 3d and using a little bit of depth buffer and front/back face culling to make some edge cases work (self-shadowing, shadow volume caps).

If you want to go read the original paper (please share a link!), you can circumvent the paywall with sci-hub.io if you don't mind a little piracy.
to build something, you have to demolish something first

Yes, of course. That is how all healthy big cities work.

So the alternative is high-rise housing

Well, replacing 1-2 stories with 4-8 stories is probably optimal for current SF. Not sure I'd call those high rises.
I wish more university rankings would have the results of their students held against them. An exit test of abilities, logic, and knowledge would be a great ranking system.

Additionally, when Presidents claim to be constitution law focused and fail in almost all of the concepts of following the constitution, the professors have failed and the department should be redacted down, similar to the division system in soccer.
Why do people use SQL? Performance of SQL is bad when you start hitting any reasonable amount of use in a production environment.

Any company will get to a point where they're app is just slow and they need to use something better like MongoDB or Elasticsearch.
Can anyone suggest a good reading on differences in linux and freebsd network stacks?
I think other resources need to be able to be offered besides work. Hosting, domain names, marketing. Marketing specially. Look at Uber over the life of a customer they probably make hundreds of dollars or more. They offer you $5.
I'm using ubuntu LTS, 32 bit is working good for me, only google chrome and newest Android SDK is missing.
I will switch to 64 bit when the next LTS is released.
Apache Spark Workshop
Now, what about putting this living container on wheels with an engine or on a boat? Truly flexible living is now achieved! (Right?)
Excellent article.

The solution is that we need more housing.

The problem is that politicians do not allow that - and that is not going to change. Why? Because existing rich people do not want that.

Not sure what we can do here...
Why Erlang Matters
There is nothing inherent about finance that makes New York and London any different than a lot of other cities, other than inertia.

It could be otherwise than it is, that's sort of the truth of network effects, but it's difficult.
Its more of a friction reducer than anything.

I find the appeal similar to the containerization technologies for computer software that have taken off recently. While having the binaries as part of the container is nice, the important part is that I can put my containers pretty much anywhere with minimal effort on my part and quickly/easily move if the current host tries charging too much. This basically is trying to do the same for housing.

Also you are not locked into the whims of the developers of the racks as much as you are with an apartment. Like making lots of noise at 3AM? Buy a pod with lots of sound insulation, same goes for someone who works night-shift and wants to sleep at 6PM on Saturday when everyone else is having a party.
Always.

And it's funny - the startups that try to start with "we're revolutionizing the world" end up over-promising. The ones like you mentioned actually do. Not only just in starting in one market, but focusing on one customer segment, or one feature, or one vertical.