skysight-inc/HackerNews huggingface dataset:
Is it safe to have that apiKey parameter in your 'book' links? That just jumped out at me. It looks like a cool project; good luck!
Wow nice Phone
"Tangible examples? I remember well the insistence of one boss that we use TFS because some developers would find it hard to use git. I remember the steadfast committal to ASP.NET web forms because the "new concepts" in ASP.NET MVC were going to take too long for the team to become productive in."

I've gotten this on EVERY stack. Not just .net.

I thinks it's more do with age of the project your working on. There is tons critical business applications in .net and java and they don't want to break anything and prefer stability.

If your developing something new, the technology is up for grabs.
>we could conceivably beat the brain in other metrics.

Sure, the very first calculators beat brain in some metrics. But we are not talking about those metrics here.
My understanding is the same. Though I had also come to believe that the primary way to achieve this is via loose constraints, i.e. required fields should be used VERY sparingly.

This compatibility pattern also leads me to conclude that protocol buffers aren't a suitable model for generating a client-side type system. You'll just end up with structures where everything is a Maybe type, so you end up needing tons of bespoke client-side code to handle the possible permutations.

You need a layer on top of of them to express the true type system suitable for clients, and I believe GraphQL does a great job of this (but I hasten to add that even GraphQL's type system is relatively limited and isn't a magic bullet).
There is also Google's own implementation of this that has been in the works for some time. See https://github.com/grpc/grpc/issues/8682
> Looking at the kind of directions that people leave .NET for, it traditionally have been to the green green hills of Rails, then it was Node.JS, not I think it is Elixir, although I’m not really paying attention. That means that in the time a .NET developer (assuming that they investing in themselves and continuously learning) invested in their platform, learned a lot on how to make it work properly, the person who left for greener pastures has had to learn multiple new frameworks and platforms. If you think that this doesn’t have an impact on productivity, you are kidding yourself.

Vigorously asserted, but I'm guessing with zero evidence? I would certainly expect a productivity difference between someone who stayed in .NET and someone who left and learned something different, but my assumption (and it's nothing more than that) is that it would go in the opposite direction to what the author seems to assume.
From the original post:

> This is why you can't be a good .NET developer, sooner or later the frustration sets in and you go and do something better. The average ability and desire for something better just keeps on plummetting whilst Microsoft try to chase the brain drain by casting little nuggets of mediocrity at the people left behind scrabbling in the mud.

This was exactly my progression when working .NET in 'Derpy Enterprise Shops'. I don't think it necessarily kept me from becoming a good .NET developer.. But eventually I grew cynical and tired and just gave up on the entire stack. That delta between what we were doing vs could be doing felt like it was too big.

In the end though, its absolutely about culture and Enterprise IT will suffocate you no matter what language.
Also the lack of coordination across different parts of Google is blatantly obvious in plenty of ways: you have parts pushing hard against any type of browser-specific code while others make things that are Chrome-only; you have different parts making competing messaging apps; etc. To pretend Google is acting in a coordinated way against Linux seems highly dubious given the lack of any coordination in general.
Whether any compiler "cleans this up" depends in the system's ABI; parameter calling conventions are not up to the compiler to decide (unless it can prove that a given function cannot be called from code it does not control).

That said, yes, modern ABIs for modern machines usually pass single-element structures of primitive types in registers of the appropriate type. x86 (32-bit) is not modern in this sense: depending on the exact ABI used, these structures might well be passed on the stack or in an integer register.
I find these kinds of stories infuriating (and just a bit frustrating). Charlatans repackage, rebrand, and repurpose FOSS, then sell them at an unrealistic markup to unsuspecting dupes. Anything from PABX or VoIP systems based on Asterisk, through overly complex CMS's based on Wordpress. I'm not sure what riles me more: consumers being ripped off by these products, or the fact that my strengths lie in tech rather than sales.
Also, I get this feeling that the original poster (Rob) is the kind of guy who has zero experience outside a few web frameworks. The kind of guy that barely even knows that desktop, server and embedded exist.

I think these kinds of disparaging remarks about people don't belong in a civil discussion. If you feel that the opinion isn't worth being discussed, you can just not comment.
It wasn't considered to be worth the cost, that's not entirely the same as not being affordable. The US wanted to focus on the Shuttle, satellite reconnaissance and Star Wars.
One vote to bring them all, and in the darkness bind them
I'm not discounting the efforts the US made back then. And there are many ongoing efforts - obviously I am not discounting those. I am questioning the rationale to not take advantage of the significant lead, especially when we (as humans) have better technology than before
I got into trouble when working with radosgw admin APIs, especially that docs are a bit confusing and inconsistent with the code base. What I can do are these two things: 1. Correct the section that ran me into problems 2. Code a client library and hope that people can done their jobs more smoothly with it.

Any ideas?
GHC Haskell lets you implement that as a normal library: https://nikita-volkov.github.io/refined/

Hopefully Rust will get type-level numbers and stuff someday :)
That's a 'short' API key, it's not the full one. It's their public variant. Thank you though!
Seems like you're running Jekyll. If that's the case I'm not surprised. Static sites handle load amazingly well.
O novo smartphone LG G6 chegou ontem ao Brasil por 4 mil reais
Absolutely not. That's a false positive caused by the SetHandler.exe that's included in the zip.

SetHandler is used if you want to register GopherBrowser as the handler for gopher:// links - it adds some values and keys to the Classes_Root registry hive, which is probably why it's being flagged as a false positive by only 1 out of 61 AntiVirus products.

Rescan just GopherBrowser.exe and it will be clean.

If SetHandler.exe worries you, just delete it.

Instead of just posting 'hmm' and trying to discredit my work, how about you actually ask why it flagged, or better yet do proper analysis on the files and comment accordingly.

I run a clean ship, there is no way I'd release virus-laden software with or without my name on it.
I like when Gove, the guy who in 2015's Flagship Policy was to increase the "times table". After he was laughed out of office, he was moved into "Law and Justice". So now he is peddling similar completely irrelevant bullshit over on that side of the fence.

Meanwhile, Hunt, the culture secretary for the Olympics did such a great job that he is now the Health Secretary.

I would rather get a 1% tax increase, and pay for real people, a real NHS manager with 50 years, and pay him for his insight than pay these fucking plebs to poke around in their careers.
Digital transformation:An analysis of the potential challenges
Controversial British doctor again disputes data on saturated fats
Ask HN: What synthetic monitoring solutions do you use?
I'm curious to how startups and companies actively check their services and sites. Do you use simple ping services like apex.sh/ping or the more in-depth scripted monitors of services like New Relic Synthetics, Dynatrace and Uptrends?
There's a pretty good show on life during the era, one of the jobs they feature is people scowering the shit in the streets to find dog shit because it has different useful properties than horse shit.

https://www.youtube.com/watch?v=YIjBywdLcgI&list=PL72jhKwank...
Predictive Analytics – Predicting and Influencing Behavior
Well timed - heres an article which has a list of various crap these firms have pulled

http://www.theverge.com/2017/4/26/15439622/fcc-net-neutralit...
> but the thing is, no one could figure out how to actually make it work reasonably cheaply without seeming like a lavish and pointless boondoggle to Congress.

I'd sooner they spent the money on a lavish boondoggle that would inspire a generation (moonbase) than a lavish boondoggle designed to blow stuff up (F35).

Note: I'm not a disliker of the F35, I think when they work the bugs out it'll be a pretty fantastic plane - though whether it'll be value for money is arguable (and there isn't enough evidence one way or the other).
I assumed that .NET shops sucked, as did a lot of my peers at university. Then I started working at one, and found that C# is a nice language, Visual Studio + Resharper is a joy, and that if you follow sensible architectural patterns you can write clean and elegant code.

Everything sucks if you do it badly.
A category abstracts the concept of function composition. You need two things: an identity element, and a composition operation. For functions the identity element is the identity function id(x)=x and the composition operation is function composition compose(f,g) = (x -> f(g(x))). The twist is that you can't compose any two functions; their input and output types have to match up. If g is A -> B and f is B -> C you can compose them to a function A -> C, but the output type of g has to match up with the input type of f. Categories generalise this concept from composing functions to composing any thing with a notion of input and output type. In practice that often ends up being function composition anyway, but with restrictions on the function. For instance if you compose two linear functions you get a linear function, so this forms a category. Or continuous functions, or functions that can be differentiated, etcetera. However, quadratic functions do not form a category, because if you compose a quadratic function with another quadratic function you may get a function with higher degree. For instance if f(x) = x^2 then compose(f,f) is x^4. Polynomials on the other hand do form a category. In general this need not be composition of functions, as long as there's an identity element and a compose operation with a notion of input and output type. Binary relations is the easiest example that I can think of.
Interesting! When I first looked at gRPC I missed the option(google.api.http). Are you aware of the reason why REST mapped gRPC is not possible in GAE (http 1 only on the server end of our code)?
> Blogger 1 makes overreaching claim when talking about a general trend. Blogger 2 focuses on the overreaching claim and mostly ignores the overall point. Commenter uses the opportunity to express his superiority above both sides.

FTFY
gRPC is based on protobuf3, which doesn't support "required" or "optional" in the first place.
I got excited reading your second link (https://www.loggly.com/blog/why-journald/
), but from it:

> Sadly, journald does not come with a usable remote logging solution. The program systemd-journal-remote is more of a proof-of-concept than an actually useful tool, lacking good authentication among other things. Third-party packages such as journald-forwarder send journal logs to Loggly directly but are very new and experimental. As such, remote logging still has to go through existing syslog implementations and the syslog protocol and therefore cannot make use of many of the additional features of journald, in particular the structured data.

Anyone on HN cracked structured remote centralised logging with journald? Unstructuring everything for syslog, dealing with pretend stuff like uucp, fax and user3, and restructuring again seems like a kludge.

Also: weird loggly don't sieze the opportunity and make something that works with their service without the limitations they're writing about.
I've always had a massive soft spot for Ada but I've never been able to find a use for it in actual work (not much call for it on the web).

I think the reason I like the language is the type system which is like the pascal one on steroids and I love Pascal, it was the language that taught me you could reason about a program by building up from primitives.
Ask HN: What is the best hardware/GPU for deep learning?
What is the best GPU for deep learning currently available, and additionally - what might be considered a good machine for data-intensive computing, in terms of processor parameters, RAM etc. ?
Likewise. I'm not forcing anyone to download it. :)

I'm also not a fake persona. Or if I am - I've been playing the long game since before the year 2000...
> Channels can be made with no buffering at all. In this case trying to send without a receiver is blocking, so the channel is not really acting as a queue anymore.

It depends on how you define a queue. That is in this case whether there is blocking or not. In Java this distinction is made clear with BlockingQueues and plain Queues.

A non buffering blocking queue in Java is a SynchronousQueue or casually known as a hand off queue or rendezvous queue. Unfortunately unlike Go these queues are painfully expensive in Java because Java doesn't have green threads as well I believe the queues use expensive locks (then again locks can be at times more efficient than spinning/sleeping the cpu aka ConcurrentLinkedQueue but in general they are expensive).

Going back to the ambiguity of what is a queue it gets even more complicated when talking about distributed queues/streams where you have acknowledgements, prefetching, round robin distribution etc (ie AMQP).
Aw snap. Yeah, of course I meant a sphere.

(And technically, it's the other way around. A circle is the 2-dimensional special case of a (hyper)sphere.)
I really can't tell whether this is an outright scam, or an earnest attempt by someone completely unqualified (and completely unaware that they're unqualified, per Dunning and Kruger).
On pull request and code reviews: making a case for the author and reviewer
.NET technologically isn't bad.

What is sort of inconvenient is the dependency management, and that has as a consequence many .NET shops reinventing the wheel.

Another bad thing is the presence of closed source proprietary libraries, meaning they can't be forked and adapted/improved upon. This has somehow changed lately with Microsoft open sourcing some stuff.
Rob Ashton on .NET: "you're working on a platform that is primarily used by derpy enterprise shops, you will continually be held back because those derpy enteprise shops are continually be held back by the derpy enterprise developers that work in the derpy enterprise shops."

Can we just ignore this guy now?
The commit mesasaging dropping it: "Reverting serviceURI since it is not supported anymore."

That at least implies it was already unsupported, and the code diff doesn't seem to change anything notable. Looking through history I can't find any evidence of serviceURI ever being hooked up to anything? Are you sure setting serviceURI ever actually did anything?
yes, very nice story
It really sounds like the creators of the app didn't know that anyone could read the Gists...
With secret Airship Sergey Brin also wants to fly
Very good analogy!
I really can't echo this sentiment enough. You listen to Hanselminutes or .Net Rocks, and you hear about all these great things people are doing. Did someone build a cross-platform game using Xamarin Forms and Azure Service Fabric? That sounds cool, sign me up! Then you walk into your day job, and it's building yet another "textbox over database site" with ASP.NET 4.5.2 and Bootstrap.

Where can one find these .NET shops that strive to make use of the latest developments?
> (not much call for it on the web)

Server-side stuff is a big focus of the upcoming year, so maybe then? :)

(I've been doing more of it lately and found it surprisingly pleasant)
just fully remove the background video. I have a powerfull desktop and a good internet connection, it feels really sluggish.

I just disabled autoplay (disable autoplay extension for chrome, media.autoplay in about:config for firefox). What a pain.
If i understand this correctly, the device is (apart from being the least secure thing ever) basically useless at it's function, since it doesn't support SPF/DKIM/DMARC and you can't get it to use HTTPS and as such will bounce off every single correctly configured email server in the world?

If i remember correctly, when i tried to setup my own email server with my domain on a VPS box, i had to go through the whole nine yards of getting a letsencrypt cert and setting up lots of voodoo stuff before i could send mails to anyone but myself.

Also, how are you supposed to use this at home at all, if most residential ISPs (at least here in germany) block any Port 25 traffic?
Read the statement carefully. Symantec still does not offer a verifiable audit trail like Google's Certificate Transparency requires. They just offer to have 3rd parties review the certificates sold to customers. Without a COMPLETE audit trail Symantec can still continue to secretly issue additional certificates not part of any audit trail. The whole announcement rather decreases my trust in Symantec even more.
Okay, thanks.

I still think that Chromium needs better error reporting; it's difficult to figure out what is wrong when a video is not displaying (often, I think it is just not loading); and which codec is missing.
The problem is the generalization over the stack instead of the type of company.
Yeah, C and Rust work the same way here (as far as I can tell). Rust can also define type aliases (with the 'type' keyword) but they're not new types much like C typedefs.

The only advantage of Rust in this case is that its tuple syntax can be a bit nicer than C structs and the language supports overloading so that you can reimplement the comparison operators for instance (or do more complicated things, for instance if you have a "decibel" type that must have a special addition implementation)
If you have multiple columns of text, which column are you matching the scroll position up to? I'm pretty sure even something that inefficient isn't going to work. :)
South Wales Police to scan every fan's face at Champions League final next month
>about culture and Enterprise IT will suffocate you no matter what language

Bingo, no matter which language is , bad culture will still suffocate you.
Nothing to do with specific programming language / environment.
The last version of DOS also works really well for the things it was designed for. You still wouldn't start new projects targeting DOS if you could help it, even if it would satisfy your current requirements.
It doesn't even fold into itself? Just goes flat?

I'm tempted to say a good carpenter could eyball this quite quickly.
How Drugs and Paranoia Doomed Silk Road
Real artists ship (http://wiki.c2.com/?RealArtistsShip), and the frowned-upon enterprise .NET developers ship shit. Yes, the code may be disgusting, none of HTML5, CSS3 or Babel were used in a corporate portal, but. They. Ship. Shit. And this alon makes them good programmers.
See https://github.com/rust-lang/rfcs/pull/1931 and https://internals.rust-lang.org/t/lang-team-minutes-const-ge...

> We believe that we can have an RFC accepted and const generics available on nightly by the end of 2017. :tada:
Juniper: GraphQL server library for Rust
Intel Puma 6 Chipset (used in cable broadband routers) Trivial to DOS attacks
Carlos Kaiser, football's greatest conman
> After working GTD style I feel happier and more productive, but usually not closer to my goals.

Were you doing the different reviews to make sure the direction you are headed is bringing you closer to your goals? Working towards your goals is a pretty key part of the system.

For me, the biggest thing I took away from that book was the 2-minute rule. If I see something that needs to be taken care of and it will only take a few minutes to do, just do it. That made a big difference to me because I'm the kind of person that will see a burned out light bulb and then make a mental note to replace the bulb when really I should just do it.
Narrowing your focus to the particular issue at stake in this thread, there's an obvious and clear difference between how the Democrat-controlled FCC behaved and how the Republican-controlled FCC is behaving. Both parties are not the same.
Yeah, good times back then. :D

I ran a Win, IRIX, Linux network in my cube. Had, like 5 machines all doing various things.

Here's another similar thing:

Someone handed me a 33mhz SGI Indigo. "What can we do with it?"

I compiled a little program called "amp" to play Mp3 files, just wondering...

That thing could actually play 256kbps files, shared over NFS, while also offering a desktop. Someone else made a little app that could select tunes, start, stop. I could tell the bitrate based on the CPU load.

Put that and the SGI mixer on the screen, and it was the department tunes. I took it home at one point, where it continued to do that task well into the 00s

CPU utilization was 95 percent, but ran all day long for weeks, not a stutter.

The general point being, a UNIX, Linux could do magic on trash, old, odd, slow, gear and not miss a beat.

An old Pentium 90, running RH 5.2 served up the web pages while also acting as firewall and doing mail.

That thing was literally a dumpster dive. It had NT on it, and just would not run no matter what. Linux did, with a stream of kernel chatter in syslog. A console window (tail -f) showed this stream of scary looking text the whole time. crazy!

That was a stunt. Worked. Should not have. Did a few months duty, the real machine queued up, just in case.
JSON-formatted log files can be pretty-printed by tools like the Logfile Navigator:

http://lnav.org

That should make the decision a lot easier.
> "We've advised them that they should not use the nomx admin while surfing any other sites which contain malware or were otherwise compromised"

That's so hilariously misguided I don't even know where to start!
Stack overflow.

At least it is tail recursion, though.
I don't really understand the "Rust is obsessed with memory safety" meme.

When pitching Rust to others of course memory safety and thread safety get hyped a lot; because it's talking about something that most languages just can't do -- safety without compromise.

But actually ... memory safety is a small part of the reasons why I like Rust, and there are plenty of other cool bits in the language. It stands out a bit because it's different, but that doesn't make it the end-all goal.
What I'm seeing here is a simple and easy way for presenting step by step instructions. Imagine, here's Product X (e.g., class) and he's how to use it (or at least get to know it in a very bite size way). Sweet.
We have worked with both, but I would vote for the former - there are less points of failure and you don't need an IT person to make sure every node is running smoothly. We built the latter using multiple 4-channel MPEG-2 streaming cards + MIDI racks and used it for all sorts of events (the biggest was 360-degree back in 2006: http://www.motionlab.at/projects/content-production/urban-ar...) but there were always problems and I often had to rip hardware/software apart to figure out what was wrong. That's why I ended up writing a minimalistic tool for controlling the cards, the vendor's included software wasn't meant for our type of work - thankfully there was a decent C++ API available. Workflow-wise it's also much easier/faster to render one big video than a bunch of smaller videos, not to mention you can check final output on one screen. We wired up 8 mini-screens in the rack to preview the streams, but they were quite small, making it difficult to determine if the footage was ok.