skysight-inc/HackerNews huggingface dataset:
Mixed feelings about the talk. Encapsulation and breaking encapsulation can be key. I started in networking and had the clean OSI/ISO stack pictures in my mind. Then looking at the management plane of a network stack TCP protocol, the transport layer details and a few other telco network stacks I started understanding the really interesting bits happen at the edges where the layers meet. Some applications cut across the layers.

He got some good points in his analysis with respect to fine granular OO design. The reasoning around the need to break encapsulation was illustrative. If objects are too small they will have a lot of surface area and their interconnection is hard to reason about. In OO programs control flow is not easily graspable from reading code. If the object graph is a tangled mess then the team will have an exciting time.

Pulling out the program flow into a large procedural piece of code can look attractive. In my experience such pieces of code incidentally are found in ..Service ..Manager classes the speaker is not so fond of. At times this may be a clearer and more effective approach than managing the object graph and distributing logic to messages. But going to procedures of several hundred lines is imho going to far.

When I think about it then software needs to be testable. If the objects are too trivial and a lot of logic is in their interconnection graph then the risk increases that the important bits are not tested - after all we got close to 100% coverage. But it is still possible to build the graph and test it in a meaningful way. Being OO I can instrument it too with test frameworks. That seems less the case with a longer piece of linear code.
The very similar prices of GOOG vs GOOGL kind of contradicts your assertion that the voting rights of shares are particularly valuable.
In the 3 years I've had my blog I have gotten about 52K visitors. I didn't get any traction on sites like HN or Reddit but I did have a bunch of referrals from Stackoverflow and Microsoft forums. Unfortunately my site went down about 6 months ago and I haven't been bothered to put it back up. That means no new content in over a year
So you get my point, then? Or maybe not. (To be more clear, my personal experience with emacs is irrelevant. I was referring to the author's experience in my original comment.)
Military recruiter service schools are dominated by sales training. Wouldn't you expect that its omission would be a waste of taxpayer funding?

The key difference between the standard sales techniques when they're used by ITT or by any other organization is that ITT was making promises it couldn't keep. When I get the hard sell about a new car, at least I get a functional car even if I overpaid. If I take out loans to attend ITT, it's likely the training won't help me get a job.
I agree with your comment, except for the part about PEI being one of the biggest equalization beneficiaries: Yukon, the Northwest Territories & Nunavut received $24K, $29K & $41K per capita[1], respectively, in equalization payments last year, almost 10x PEI's per capita payment.

[1] https://www.fin.gc.ca/fedprov/mtp-eng.asp
For example, it was a lengthy debate the role of state vs federal law, the legal justifications for government interference, and the quality of the data supporting each side.

If that kind of thing appeals to you, you may have a future in civil procedure and litigation!
What empty promises are you referring to?
Portland to raise taxes on companies where CEO earns 100X what workers do
Reading about Plato's Theory of Forms, I was struck about how similar the concept seemed to Object Oriented Programming (to my limited understanding of it). A quick Google search revealed someone else had also seen the similarities and wrote a blog post about it.
Safari Web Technology preview not the one that is in macOS Sierra currently.
> The Vim/Emacs debate is often heated, but from what I can tell, Emacs users are more passionate. There are a number of Emacs meetups around the country where users share their setup and demonstrate useful tricks.

That's just because Vim users are actually getting work done rather than going to help sessions for their configuration.
Most of the time you could set reasonable bounds on what you expect the length to be. How often does your custom protocol require multi-gigabyte messages?

If you can't, sanity check against negative numbers, make sure you check the return value of malloc(), and set a timeout on actually reading that much data. If the malloc fails, close the connection. If the timeout fails, close the connection and free the resources. On the public Internet, you probably don't want to send an error message, since it's just exposing internal system information an attacker could exploit. (In debug mode, running internally, you probably do want to expose this.)
Formlabs | Boston, MA | Onsite | Full-time | Mechanical Engineer

As mechanical engineers at a 3D printing company we create tools we use ourselves. We’re excited to build devices that not only create beautiful parts but also reflect careful user experience design. Our team prototypes, builds and manufactures the mechanisms and systems that make our printers function with precision and reliability.

If you want to help design and create the tools you would love to use yourself, we want you to join our team as a Mechanical Engineer.

Sharing a portfolio/website that reflects your mechanical engineering work or projects is required.

The job:

Push the capabilities of 3D printing
Engineer the most amazing desktop 3D printer on the market
Prototype new mechanisms, test materials, and research 3D printing challenges
Create detailed designs in CAD and well-specified, accurate drawings

You:

* Can share a strong portfolio of previous work
* Want to build a precision tool that is beautiful inside and out
* Enjoy the gritty details of part design, material selection and manufacturing techniques
* Craft elegant designs that function with efficiency and simplicity
* Use Solidworks to design components, produce drawings, and build assemblies
* Can communicate seamlessly with vendors and suppliers across the globe
* Are familiar with a variety of manufacturing techniques including injection molding and sheet metal fabrication
* Can prototype your own designs
* Have experience with the full product development cycle
* Communicate seamlessly with vendors and suppliers across the globe
* Are hands-on and willing to cross discipline boundaries to solve a problem

Sound interesting? Get in contact with us here: http://grnh.se/0xodvm1
Investigating Environmental Racism
It's also a rather convoluted set of examples.

If you're doing something in Node that takes nontrivial processing time (that doesn't just involve waiting for I/O), you're Doing It Wrong (tm).

Since the premise of "callback hell" is outdated, the only remaining point is that if you perform complex/time consuming calculations in NodeJS, it slows down.

If you want the most speed, or if you're going to be doing something like a Fibonacci calculation, you should write that (microservice) in Go instead. It's faster from the start (by 2x at least, probably a lot more if you're CPU bound), and GoRoutines can be spread across multiple threads, so a multi-CPU host can take advantage of all of its CPUs.

Oh, and the per-GoRoutine overhead is only about 4K on a Linux host, last I checked. True that Haskell has a smaller overhead per thread, but considering the speed advantage, I think the Go server would still win big on latency for the number of threads that did actually fit in memory.
Alternatively, make everything a remote keyboard/mouse/display for your home computer. Even another desktop computer.
Internet Privacy for Kids [pdf]
i have immediately thought of that. Also Microsoft has Office Apps for Smartphones. I downloaded them once, but never used them. For a quick view a browser based solution would be sufficient, i really don't need full editing capabilities on my smartphone.

Speaking of tablets is entirely different, but microsoft already has the surface computer/tablet mix.
Though that still is a good thing.
As a developer, I think I'm damn close to being able to work on a phone's processing power. The biggest problem is driving large enough monitors at this point, but most of my work can be handled via SSH when speed is an issue.
I've noticed this but left if out of my comment. The reason being that young children generally aren't in control of their diet and exercise so it's probably a result of the parents and where they fit in on the two extremes I've mentioned.
OT: Have you ever read Engineering a Safer World [0] by Nancy Leveson [1]? Seems like something that'd be of interest to you. Started on it this week, my sister is in her class this semester at MIT. I'll be tackling it over the next few weeks, and then her previous text (Safeware) after the new year.

[0] https://mitpress.mit.edu/books/engineering-safer-world

[1] http://sunnyday.mit.edu/
That said, Signal is not perfect. It lacks some features of other messaging apps, like the ability to send stickers.

That this is a deficiency worthy of mention reveals just how different the average person's values about what a messaging app should do are from mine.
> After a while someone realised that a group of engineers
were consistently booking shitty travel around the same time,
and then travelling first class the rest of the year.

How's that different than having an annual travel budget? Sounds like they sacrificed to feast later instead of holding accommodations constant at "above average."

I think you did a good job telling the story, but maybe I'm missing how gaming travel expenses is unique to Google.
These are all indo-european languages. It's not like Sanskrit was imported into these languages, but Sanskrit along with most European languages share a common ancestor, from which they all started to diverge thousands of years ago.

https://en.wikipedia.org/wiki/Proto-Indo-Europeans

Here's a visualization of IE languages, perhaps not accurate in every single detail, but easy to remember:

http://mentalfloss.com/sites/default/files/196.jpg
SF devs needed to volunteer teaching code with ScriptEd
Hi! Scripted.org is looking for San Francisco-based devs to volunteer to teach front-end web development to students in under-served schools in San Francisco. We're particularly need folks who could volunteer in our school in the Portola District on Tuesdays and Thursdays from 3:45-5:15. Sign up to volunteer here: bit.ly/ScriptEdSFBAYvolunteer , watch a video about our work at bit.ly/scriptedvideo or e-mail emily@scripted.org !
(tbt) How much does an app cost (to build)? About as much as a car (to buy)
It's been mentioned in the post, but it's a big deal, so for emphasis: serde is much nicer to use on nightly than stable, even though it will work on stable. This has been one of the biggest reasons people aren't on stable Rust. The tooling needed to get it working on stable with the same ergonomics as nightly is slated for Rust 1.15. It's not 100% for sure, but 99.99%.

This will also help crates like Diesel.
Expect can be a lifesaver when you cannot use your usual go-to tools like Ansible etc. especially with legacy setups where you cannot tweak stuff much. I have successfully used it combined with tmux for automated multi-term like functionality, deployment verification and other chores to save a lot of $ for my company. I do try to keep my Expect scripts as simple as possible though, just so I do not have to remember too much since I do not work with TCL anywhere else.
Show HN: Using the Kanban Board (Visual Studio Toolbox)
Yeah. I find it really interesting that people of their status would not take more precautions to ensure the privacy of their conversations.
OK, so then I guess my question for amzn-throw is, how does removing it from the 'intern loops' help when this wasn't an intern interview?
Just curious, did you support the Ubuntu Edge effort a couple years back? Why or why not?

https://www.indiegogo.com/projects/ubuntu-edge#/

I ask because my perspective is that the convergence effort started a long time ago...perhaps as early as Canonical's original controversial release of the Unity desktop...and these efforts by larger players are more or less followers (albeit higher powered followers with larger market reach).

This being the case, I actually support the "convergence" paradigm...particularly Ubuntu's efforts but even from players like Microsoft...since I see convergence as a way of cracking open (to some extent) the walled gardens mobile devices have become.

But I wonder if there is some part of the Ubuntu Edge that was "closed" and I didn't notice.
> Google, as a company, doesn't really seem to have any idea of what most individual engineers are doing week to week.

Correct... but also correct if you replace Google by any company.

I've worked from zero management company (ala. Valve) to large fixed hierarchical structure (government).

The company never knows what people are actually doing. If it tries to find it, people will either game the system or waste time to justify they're doing instead of doing it.
I don't think he was saying that Emacs is hard to install on Ubuntu. (It's not.) OP said earlier in the post that he switched to Arch because Ubuntu doesn't package a version of Emacs new enough to satisfy the requirements on the latest version of Spacemacs, which wants Emacs 24.4, which in turn is only available from the repo if you're running Ubuntu 16.x. Building Emacs 24.4 from source seems to me like it would be easier than switching distros, but apparently OP feels differently, and more power to him.

The comparison between Arch and Ubuntu appeared rather to be on the basis of FSF blessedness:

> (the FSF probably wouldn’t like that I’m using Arch Linux, but it’s certainly better than Ubuntu)

which would make sense, considering that Ubuntu gets quite a lot more stick than Arch on the relevant FSF page: https://www.gnu.org/distros/common-distros.en.html
Function scopes and block scopes in JavaScript
Figure out what ports they work on and block them at the router? Sounds like a good idea...
Agreed, and studying companies that have come through the transition to the other side is very useful. Particularly telling is how people describe what they "like" about work.
Formlabs | Boston, MA | Onsite | Full-time | Software Engineer

If you’re passionate about systems, can seamlessly move from one platform to another, and want to have a big impact on the backend side of a complex product – we want you on the Form Team as a Software Engineer.

The job:

Design bigger software systems to support our 3D printing desktop software
Seamlessly integrate all or our backend system architecture
Get your hands dirty in all kinds of code
You:

* A talented generalist who is passionate about backend functionality
* Are a full stack software developer, from systems level software to user interfaces
* Love to work in diverse environments (Windows, OSX, Linux)
* Code extensively in C++ (Qt) and Python
* Know Git inside and out
* Can architect and implement complex software products
* Can lead projects and work closely with a high-caliber team
* Are excited to dive into a huge variety of challenges

Sound interesting? Get in contact with us here: http://grnh.se/uj0s1o1
R0oT: a network for self-coordination to face global issues like climate change [pdf]
Time has arrived for civil society to start real global changes. Governments, banks, global media, big corporations... are just trying to maintain their current and unsustainable status quo in which a ridiculous minority benefits from having the rest of the natural and human world under inadmissible conditions. We cannot trust
them anymore. We need to override them, to take over. The ominous prospect of the climate crisis urges us to start acting now. This is no utopia. It is an imperative and urgent need. The whole ecosystem in general and humanity in particular need
a wise plan, a smooth renaissance to peacefully build a sustainable, fair and life-friendly future. This manifest introduces r0oT, a nonprofit global network conceived to allow people to be strongly coordinated. A coordinated society, properly informed, will start acting, for once, in its own favor, for its own survival. This necessarily implies acting as
well in favor of our natural environment, to which we belong and on which we all depend. If you really care about the world you live in, about yourself and your family in the long term, about human civilization, about our fellow
creatures living on Earth... just read this, study it and join. You are indispensable. Give it a chance. It could be the last.

Download the manifest here:

https://www.dropbox.com/s/j76qs29x3z14ngk/r0oTv2.2.pdf?dl=0

r0oT is a serious project created by serious scientists. Right now, the manifest is a somewhat technical introduction but this is what we have now. We need people to join and create a more user-friendly approach. Feel free to email us if you have any question or comment.
I really like the 5-word review described here:

https://www.fastcompany.com/3019036/dialed/simple-direct-hon...

Having been on both sides of the review process, this form of review is not as time-sucking for the manager and can elicit good conversation.
Things Michigan does have: an ungodly amount of mosquitos. I'll take my chances with the earthquakes and volcanoes. :-)

(Disclaimer: granted, when I think MI and mosquitos, I think U. P. Lower MI I don't recall being worse than anywhere else. But the U. P.'s where the fun's at.)
I could never wrap my head around how strategically MS could just let mobile go and not take the fight.

Senseless Corporate Priority inversions are most often some combination of internal politics and/or money grabs.

I have trouble coming up with use-cases...but then you have a sub-par laptop and a phone.

People who prioritize for ultra light weight already have a "sub-par laptop." So what if you could get rid of the laptop? A large company that standardized around docks would make that possible. All large companies standardizing around, say USB-C connectors and a Windows ubiquitous wireless "dock" standard would make that possible for US corporations in general.

I wish Microsoft would get their shit together and start executing across the board. It's just sad seeing the mix mash of wasted potential.

Despite their huge success, such a statement could apply to Microsoft throughout most of its long history. I suspect that internal politics is behind much of that.
For a few things, I've spun off another process, and use a pool in order to constrain the number of processes actually running at once... did this to adapt a JS based scrypt module when I was running node in windows, and non of the "native" versions of scrypt in npm would even build correctly in windows (early 0.8 timeframe iirc).
5 Reasons Meetings Never Improve
Hi-Res image: http://www.cell.com/cms/attachment/2075122016/2069586830/gr1...

"The tail ... is visible to the naked eye as an elongate and gently curved structure (length = 36.73 mm). A dense covering of feathers protrudes from the tail, obscuring underlying details, so Synchrotron Radiation (SR) X-ray phase-contrast μCT scanning was employed to examine concealed osteological and soft tissue features (Figure 1). Soft tissues—presumably muscles, ligaments, and skin—are visible sporadically through the plumage, clinging to the bones in a manner suggestive of the desiccation common to other vertebrate remains in amber"

"The close contact between the skin and surrounding amber, paired with the mummified external appearance of the skin where it has shriveled across the surface of the vertebrae, suggest one of two scenarios. Either the tail bearer was dead and partially desiccated before encapsulation, or else it rapidly dried due to resin interactions"
And Apple argument is wrong
sounds like they've created their own special hell. guess I won't be interviewing with them any time soon.
>Many companies are able to get the perks, culture, and autonomy right without being a multi-billion dollar company.

You're right but I understood what Periodic intended to explain. Unfortunately, he phrased it as "billions in ad revenue" instead of a less common metric of "profit-per-employee".

If the company generates enough profit-per-employee, it can afford to pay for lavish perks.

Consider 2 different companies' revenue,income,#employees:

Walmart: $482b, $24b, #2300000 -- ~$10k per employee

Google: $74b, $19b, # 69952 -- ~$276k per employee

Take one example of a perk such as free catered food which is estimated to cost $20-per-employee-per-day.[1] For Walmart to offer this perk multiplied by 2.3 million employees, it would cost ~$11 billion which is almost half the $24b profit. Google's calculation for 69k employees is ~$349 million which is less than 2% of the profit. And the free food is just one perk... there are also massages, haircuts, laundry, daycare, etc.

Yes you don't have to have a billion in revenue to offer perks like that. SAS Institute of North Carolina in the 1990s didn't yet reach $1 billion in revenue but they offered lavish Silicon Valley style perks.[2] They could afford it because they sold statistics software with high margins (profits). Although they are a private company, we can safely assume they are generating much more profit per employee than Walmart.

So, if we have a hypothetical medium-sized company that has a revenue of $400 million with income of $100m ... to afford lavish perks, we need to generate that $100m with ~360 employees or fewer (Google benchmark). If it requires hiring 9500 employees to generate $100m (Walmart benchmark), it means we will have to pinch pennies and charge the employees for each pen taken from the supply room.

Direction of cause-effect: create a great high-margin business so you pay for free gourmet food.

Attempting the reverse of subsidizing $20 for each employee doesn't mean you'll end up with a high-margin business.

We can generalize the free food case study to other "Google perks/methodologies/culture" to see if we really have the direction of cause & effect correct.

[1] http://www.businessinsider.com/2008/4/googles-ginormous-food...

[2] 60 Minutes story (2002): https://www.youtube.com/watch?v=lvsIcwHavOs
Cool idea, BUT nobody uses SCTP (packet based). UDP is not reliable (most applications dislike this), and TCP does not have "messages" actually requiring you to send length in some form...sort of like these guys did...
> Oh, come on. It's been a decade since the patent holder was in a strong position.

the sharp rise of patent trolls in the last decade would like a word with you
Python Gevent Websockets with support for Python 3.5+