skysight-inc/HackerNews huggingface dataset:
> Certain systems can best be understood as black boxes. You put some commands in and magic happens. Git was not designed to be such a system and early users of git know this.

This is true. A less favorable reading of the same story is "Certain systems are designed so well that they can be understood as black boxes. You put some commands in and magic happens. Git was not designed as well and instead requires that user to fully understand its internal workings or risk running into trouble".

My theory is that people are so proud that they finally mastered git that they like to forget that it simply has a horrible UI (and by that i mean the CLI and the design of the core set of commands).

I know of only one other popular productivity tool that has a similar sense of "you need to learn how it thinks, deep inside, or stuff will mess up" and that's Microsoft Word¹. I haven't seen shares of MS Word geeks loudly heralding its awesomeness here on HN yet. Maybe hackers just don't write documents? I can't come up with any other reason.

¹) Word works great once you learn how to use its styles (a bit like CSS classes), its fields, and its cross-reference system. MS Word's font and paragraph buttons are there in the toolbar to lure you to the dark side, or something. Don't use them! Friends don't let friends touch Word's font settings from anywhere but the styles editor. Like Git's, MS Word's UI is awful (awful) but its internals is like CSS-done-right for paper documents.
I see. Are book-stores far and in-between (why is it inconvenient ?).
Meet the Smartest Dog in Hollywood
How is caching handled for those tiles in IPFS? At OSM.org they get rerendered when the underlying data changes.
I'm not trying to start a flamewar here but could you go into why your preference is with Lisp2 instead of Lisp1?

A lot of commenters here have a strong preference to Lisp1's so I'd be happy to hear a different point of view.

(Disclaimer: I'm mostly a CL user and appreciate it being a Lisp2.

Also, nice to see you here! I always really liked your posts in comp.lang.lisp.)
> Imagine your dental hygienist telling you they're disappointed in how infrequently and badly you're brushing your teeth. The right response to that isn't blaming the hygienist for making toothbrushes annoying to use, right?

I'm very happy with my electric toothbrush, a purely UI/UX improvement to the problem of toothbrushing.

There's no reason to take it away from me, just to make me realize the pure awesomeness of the procedure of toothbrushing.
Can you be a bit more specific about what you are wanting to look at. Is it a broad overview or are you wanting to look into (or become an expert in) a focused area?
Red Hat: OpenStack moving beyond the proof-of-concept phase
For those on CyanogenMod: patch for Dirty COW is about to hit the nightly releases - https://review.cyanogenmod.org/#/q/19be0eaffa3ac7d8eb6784ad9...
Maximize human flourishing [ comic ]
In term of linux design ioctl are natural candidates as an underlying mechanism for multi-process communication.

Quoting Steven Doyle

ioctl can be guaranteed by the kernel to be atomic. If a driver grabs a spinlock during the ioctl processing then the driver will enter atomic context and will remain in atomic context until it releases the spinlock.
http://lwn.net/Articles/274695/

cooperative multitasking in critical functioning requires thread safety and atomicity.

What, bothers me is what the fuck is an iovec! That is the most important part of the norm and yet it is not defined. My fear is that to accommodate «industry grade level of developers» they will use dynamically allocated structures vs fixed size structure. And we all know that malloc in user space is already the door to hell, but in kernel space, it is a direct nightmare.

What cringes me too is it is a distributed system (and I played quite a lot with them) and they say they have tackled the problem of global ordering of the messages. Well, be it on the network, be it on silicium, I never saw anyone achieve this feature.

I fear they are over promising and they will under-deliver
that flew under the radar of Hacker News

It was on the hn front page for at least 24 hours

https://news.ycombinator.com/item?id=12773035
Difference Between Product Search Algorithms and Product Recommendation Algorithms
Making the Web More Reliable – 20 Years and Counting
Have you tried talking to your senior colleague about it? If your colleague can't be without music, then it seems a better solution that he starts wearing headphones instead of you.
> Remember all that quality code that was in place before Cranor's UVM?

So much before my time I was not even aware of it. For the uninitiated: https://www.usenix.org/legacy/events/usenix99/full_papers/cr...

> Edit: BTW, I really like your blog. You should write more often :-).

Thank you. :) Just this week I started thinking of getting back into it.
Mailytics
Thanks for this. Will show indeed both versions.
MoneyBot System Review
Nitpick: I would strongly expect that the number of snaps sent/received per day is exponentially distributed over the space of users, not normally.
Amazon expands its AmazonFresh grocery delivery service to Chicago and Dallas
Try web link + incognito / private mode?
OpenStack demonstrates ability to work across multiple clouds
When it was full of Toyota equipment and staff.
Coca-Cola Working to Make War on Sugar a Profitable Venture
Wow, thanks for this! That looks really helpful, and they do list Australia in the signup process, so that's a good sign. That's the best lead I've had yet about banking!
Also, moving the oven from one end of the kitchen to the other doesn't require replacing the support beams in the garage.
Monitor & Analyze competitor Email campaigns

Hey there,

My name is Ivan and I’m a part of Mailytics.

Our story begins several years ago when we had an idea for a service that would help companies track their competitors email campaigns along with their own. Now this thought has become a reality and I am very happy to see that our project is now live.

We provide our users with a platform for tracking, analyzing and storing competitor email newsletter campaigns. You can easily see industry trends and find inspiration for your own email campaigns or just monitor your competition to assist you when making important decisions.

We pride ourselves on being very user-friendly and we honestly believe that Mailytics will be a valuable tool in your marketing arsenal.

Please let us know what you think, I’d be more than happy to answer any of your questions, comments or concerns. Thanks!

Ivan
Learn Kubernetes the Hard Way the Cheap and Easy Way
Cal Newport recently is discussing about the open office. I am sure it is related to his new book, Deep Work. These following posts are explained it:

- Is Facebook’s Massive Open Office Scaring Away Developers? [1]

- The Opposite of the Open Office [2]

The previous discussion of one of that post also appears on HN. You may check it out here https://news.ycombinator.com/item?id=12677866.

[1]: http://calnewport.com/blog/2016/10/09/is-facebooks-massive-o...

[2]: http://calnewport.com/blog/2016/10/19/the-opposite-of-the-op...
An electric toothbrush doesn't paper over the abstraction of brushing teeth. The thing the electric toothbrush is doing for you is a clear, 1:1 automation of the thing you do yourself with a manual toothbrush.

This isn't true of git's high-level commands. If Git was a tooth-cleaning tool, it wouldn't be one that helps you to brush your own teeth. Instead, Git['s high-level command set] would be a fancy machine that asks you to take your teeth out (and hopefully they're dentures), put them into a black box, and then they'll come out cleaned. But sometimes they come out with the teeth rearranged and it's hard to understand why. Sometimes they come out tasting of fluoride and merge-commits. Sometimes you have to take your tongue-ring out before Git will accept your teeth. It's all very mysterious.

Which is silly. Inside the box, Git is brushing your teeth. Inside the box, a very simple thing is going on. It's the abstraction layer that's complicated and unintuitive. The "mystery" is all in how they map their black-box interface to the tooth-brushing internals.

If Git actually was an electric toothbrush—a way to accelerate and ease brushing teeth, but keeping 1:1 clarity on what's going on, and complete control of the result—then nobody would ever be confused about Git. It'd be slightly harder to use than a black box that you put whole dentures into—in about the same way that sed(1) is harder to use than the "Find and Replace" in a text editor—but those familiar with it wouldn't find the workflow any more strenuous.
Surely that's not possible?? And there is no way to find the old archive, even under an alias?
Explaining version control might be a bit challenging. Distributed version control is a bit more challenging. So teaching git can be a lot to take for a newcomer.

I went from subversion to git. In retrospective, subversion was much simpler conceptually (but problems like syncing branches were harder).

I found myself once explaining a git concept based on the plot of Back to the Future II. I think it was a perfect example to how to resolve some merge problem.

There are some "git cheatsheets" that provide a very straightforward graphical explanation of what some commands do. That helped me to consolidate some concepts.
RMS always cared about software freedom, not human's.
Original git repo that this implements locally:

https://github.com/kelseyhightower/kubernetes-the-hard-way

Original HN discussion

https://news.ycombinator.com/item?id=12323187
Don't forget Wave, which fell flat
I think it should be obvious that "designer" means nothing, from a web guy doing basic 2D stuff to a CAD engineer in need of GPGPU passing by a video editor on CUDA, there are at least 3 entirely different needs/use-cases. Probably more as you try to cookie-cut cost/function.
The Skype sex scam – a fortune built on shame
There's also the concept of divers (specialist skills) vs scanners (interested in everything). Comes down to personality, but both have their strengths obviously.

https://www.psychologies.co.uk/self/what-do-you-do-when-you-...
> But let's put that out to Hacker News: what are your sources?

As a German reader, I was surprised about how good "Foreign Policy" is to get a coherent understanding of certain viewpoints in geostrategy. Such publications would be the exception here, because they are not very "journalistic". I think it doesn't necessarily satisfy parents question about "what really is going on", because what's going on is dependent on exactly those viewpoints. That's the nature of political discourse, and I find it more helpful to read about coherent versions rather than a holistic "truth".
How can I know? The same way as I know the vendor based their firmware on
Linux, so I am entitled to receive a copy of source code. Meaning, I can't,
technically.
Some example code there: http://cdserv.wbut.ac.in/81-203-1773-4/workshop/imedia/chrom...

<OBJECT ID="Chromeffects" WIDTH=512 HEIGHT=512 CLASSID="CLSID:8A2A7F99-09DA-11D1-B33A-00A0C90A8FB6">
<!--
<?XML VERSION="1.0"?>
<!DOCTYPE SCENE SYSTEM "cr.dtd">
<SCENE3D BRIGHTNESS="1" COLOR="#000000">
<BOX ID="box1" HEIGHT="2" WIDTH="2" DEPTH="2" POSITION="0 0 0">
<SURFACE SRC="http://www.microsoft.com" />
<ROTATE3D BY="0 1 0 360" DURATION="3" REPEAT="forever"/>
</BOX>
</SCENE3D>
-->
</OBJECT>
Writing a parser for a badly-specified format which is widely used is a terrifying prospect in any language.

Okay so it's more terrifying in C than most other things, but still, it's terrifying. Runaway memory consumption, weird Unicode behaviour etc. etc. etc. It's easy to think you don't have to worry about Unicode because your language's string types will handle it for you - but what do they do if the input contains invalid codepoints? You're writing a parser, you need to know - and possibly override it if that behaviour conflicts with the spec.

Horrible business. Definitely not my favourite job.
AR: Augmented Reality
SLAM: Simultaneous Localisation and Mapping
VRD: Virtual Retinal Display
A lesson with a good driving instructor will pay great dividends. Book one that will do you a lesson on finding the biting point and clutch control. Maybe it'll take 2 or 3 lessons. Very worth it in skill and future clutch and gearbox health.

Here's what you need to learn:

Find quiet flat road. Maybe a carpark. Some space ahead of you in case of error.

Handbrake on.

Find biting point of clutch. You'll need a little accelerator for this too, but not too much. Trial and error for both. Fun times. Keep handbrake on to start with.

The biting point is this: left foot up until you feel some bite, the car gently trying to pull forwards.

In fact, the biting point is where the clutch is half-engaged so precisely that if you released handbrake you'd stay still, but could make tiny movements forward by letting in (foot up) the clutch a tiny bit more. Then stopping by letting it out again a tiny bit back to biting point.

The more clutch (left foot) you have in, the more accelerator (right foot) you need. But not too much. It's subtle, but very learnable. You'll stall a lot. That's why the handbrake is important. You'll use too much right foot to start with, but that's ok. You'll improve with practice.

So, when you have an idea that you've got the biting point, let out the handbrake carefully. You'll likely go forwards. Feel free to pull handbrake back on gently. And then try to get less bite. You're looking for an equilibrium.

Then iterate. Right foot nuance as well as left foot is good. Be able to creep forwards at will. Then get back to biting point, which will stop the car (from a slow creep).

After a while you'll be able to control the car with your left foot, start stop (with appropriate right foot). That's how to control the car to park too!

Brakes will be needed when you overdo it. Keep a hand on the handbrake while learning.

It's also the way hill starts work. With a hill start you just need proportionately more right foot. But learning it on the flat gives you space to learn your car's clutch characteristics and feel it.

As you get used to all this you will likely find you can make these alterations easily. But you might well stall in places. That's ok. Just don't panic. You'll be fine! I still stall sometimes, especially with unfamiliar cars. Everyone does. Better to be being near the right place than gunning things and ruining your clutch with a leaden right foot.

Basically, gentle in for clutches. They are more replaceable than gearboxes, and you'll not do harm to them learning this.
But what about runtimes? Can I have a single .NET runtime that will work with all of those Linux versions? With mono I have a single runtime that actually works across almost every Linux distro. Can I do this with .NET, have a generic runtime build that just works on everything?
The first goo.gl link is dead for me... Care to give the real link instead of a shortened URL?
Edit as noted elsewhere, should be
https://github.com/timwr/CVE-2016-5195
It's not wiped (they don't delete anything) but if robots.txt forbids indexing then access to old archives is blocked. It can be quite aggravating, but at least the information is not lost---if robots.txt or archive.org's policy changes, it can be retrieved again.
Can I ask you which model you did buy? I am in the process of doing precisely the same and wondering if their acrylic models are isolating enough. Silicon apparently isolates better but requires more maintenance, makes them more difficult to insert and remove, and I'm not fully convinced I should go for a Music Two sound-wise. Thanks a bunch!
Impl classes are Evil
Nope. Pro Git is an excellent book and resource on Git. It's completely worth reading it for its Git Objects chapter alone.
"The Grand Chessboard" by Zbigniew Brzezinski opened up my eyes to how countries think. It's a bit dry, but offers the kind of perspective that is normally missing from most people's everyday lives.
Being right about half of failures isn't worth anything. You can't short SnapChat Spectacles.

You need to be right about half of successes, which is much harder for a raging pessimist like OP.
Dart summit 2016 live stream – flutter
https://gist.github.com/Arinerron/0e99d69d70a778ca13a0087fa6...
As much as I'm reluctant to blame people who try to get cool products out there, I must say that I actually uninstalled mattermost from my server (well, deactivated from gitlab) after reading its source code, both go and react. I would not recommend to use it to learn react.
It is! It's part of a tutorial
It's not that clear cut because finding developers with experience and getting tooling for the non mainstream languages is harder.
When I was a photographer, I was a B&H customer. But now? Never.

- B&H sued for systematic discrimination 2016 [1]
- Unsafe workplace, injuries, employing illegals, discrimination. 2015 [2]
- Tractor trailer fire at their yard 2014 [3]
- Sued and settled for discrimination 2007 [4]

I'll stop there, just search it and see if you're curious.

[1] https://amp.cnn.com/cnn/2016/02/29/us/bh-photo-lawsuit/index...

[2] http://america.aljazeera.com/multimedia/2015/10/bh-workers-c...

[3] http://bklyner.com/fire-in-progress-at-the-brooklyn-navy-yar...

[4] http://www.eeoc.gov/eeoc/newsroom/release/archive/10-16-07.h...
Spot on! But if the JSON parser couldn't crash on malformed input, that kind of whopping mistake would be a lot harder to exploit.
A different person, but hopefully my answer is also helpful: I used to wear etymotic research headphones with really good isolation for the same reasons. A few hours a day would cause redness/itching/wounds/bleeding on the skin of my ear canals.
Send the AWS alarms to opsgenie or pager duty and they will nag you based on a single event, including escalations.
Yes - and my point is that people running iMac truly don't care about the specs.

I've said this in this tread before - you don't dump 4k$ on a desktop for mobile performance - when you spend that kind of cash you probably really need a high end workstation - think of the mac pro use case - and this device doesn't cut it as that.
Docker, YouTube and lots of badgers
Be good at what you do and know a little from everything = Good CEO
Be good at what you do = Great Employee
Know a little from everything = World wide Loser.
The Next 700 Programming Languages (1965) [pdf]
> If the template system doesn't understand the semantics of the configuration file, templates just work because you are lucky.

Or because I put appropriate constraints on data filling the template. Integer
fields are the easiest format to handle.

Generating configs with template systems is surprisingly strudy in real world
scenarios, where at least half-competent programmer provides templates for at
least half-competent sysadmin to fill.

> If the system does understand the configuration file, then you can get the full value out of having a "fact database" that describes the system.

The problem is that this "full value" is not that much bigger, but the effort
in understanding config file formats is quite large.
Git's GUI is full of horrible features, whcih are almost impossible to learn.

Why does 'git checkout' do double-duty, of checking out a clean copy of a file/directory in the current branch, and checking out a different branch? How does that fit into "learning the mental model of git"

If I have a directory called "master", and a branch called "master", what does "git checkout master" do? How do I force git to do the other one? (I know this, but I shouldn't have to)
The hardest part for me in starting a hard tech company in the Boston area was just getting reasonably priced access to facilities.

They're working on the absolute lack of space, but I think the "reasonably priced" part is unlikely to get fixed short of backing like this from someone who can provide facilities and funding for at least the first few years without expecting returns.
No, as I am yet to play with it.

So far I only seen the presentations.

But looking at Java 8 on this PC I would say:

jvm.dll (8 MB) + main.exe (200 KB) + trimmed down JRE

Also notice that from the presentations they have some experimental support for jlink plugins, which can further shrink down the size.
>Or you can have a product that takes a full-time professional sales force

This is Just-Eat's model - they have an army of sales people in every country they operate, pitching to the local food places in their area.
Given how the above posters all seem to have a different opinion about the internals of git, the point of the article seems to be somewhat negated.
> Ideas are the only thing of fundamental value to us as an intelligent species.

I'm not arguing that execution has no value. Obviously ideas, particularly business/startup ideas, must be acted on effectively in order to become real. But: ideas are logically prior to execution; the ability to conceive of abstract ideas is a far larger developmental step than is the subsequent ability to act on those ideas; and being able to have abstract ideas is the thing that most definitively separates homo sapiens from all other species on Earth.
Noam Chomsky: The Alien perspective on humanity [video]
Show HN: The Beginnings
How the Big Bang Changed the City of London for Ever
Was anyone else half expecting this to be a dwarf fortress story?
ElStartup – A hand-picked directory of the best resources to build a Startup
> When USA and Soviet Union were building more impressive fighters and bombers

I'll just leave it here: https://en.wikipedia.org/wiki/Tupolev_Tu-144
I'm not disagreeing with you. I'm more saying that in a world where people "met Git where it lives"—learned the internal model Git is based on—the Git GUI with its misfeatures wouldn't exist.

Picture factoring Git out into 1. a library that manipulates content-addressible manifest-tree pool directories; and 2. a GUI that consumes that library. Now, throw away the second thing. The fact that even #1 hasn't happened already—and that there's no demand for it to happen—is a testament to just how obscure Git makes what it does.

Git's internals could be the next LevelDB; they're that much of a swiss-army knife. But instead, we just have git(1), in all its ugliness.
> "A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects."

-- Robert Heinlein

I've certainly always found being a generalist more satisfying, even if it isn't always what gets rewarded.

I wouldn't necessarily restrict this to "the digital world."
Computer glitch may have caused Mars probe crash
descended*, woops

And with "did it even have any security capabilities" I was referring to Linux (just to be clear).
Internet of Shit things claims another scalp: DNS DDoS smashes StarHub
> Yes, it's easy. It gets eaten if the owner is not valid. Took one glance.

Nit-pick, but it seems that the card only gets eaten if the card is valid AND the owner is not valid. If the card isn't valid, the owner is never checked and the card isn't eaten.
You're missing my point - he asks why he sees so many people with iMac - it's because the iMac is in a completely different price segment - iMac is just a pretty desktop, with a slightly higher price tag.

This is in the price range of Mac Pro, you need to justify spending 3 or 4k $ on this machine - and it doesn't cover the Mac Pro use case at all. For the price of this machine you can buy a high end laptop that beats this on specs and utility (because it's portable) and a high end screen.

I mean I like the device and the screen - but no way in hell am I paying 4k$ for something that's outdated out of the factory - maybe on the next update.