skysight-inc/HackerNews huggingface dataset:
New software optimizations is unlikely to stay a niche area where we only manage to eke out a bit of performance. Look at our popular languages today: pretty much none of them even do something as simple as combine a GC with true composition of data types (Go is the only one I can think of, and it makes up the difference elsewhere). This isn't about high level abstractions being bad, it's about our current arbitrary limits on high level abstractions being bad. The JIT languages are of course severely limited in the complexity of their optimizations due to time constraints. But most compiled languages experience the same because they either don't provide a good set of semantics for a compiler to reason about the code (e.g. C/C++), or use one that is so limited that you simply can't get the compiler to generate sufficiently efficient code in some instances (e.g. Haskell).

On top of this, a programmer's input to the optimization process rarely extends past "inline/don't inline this function". Compilers have to make optimizations that are either strictly better or base it on a wild guess of the time, instead of using profiling to either automatically or manually (i.e. overridden by humans after they test the code) invoke optimizations. Many compilers offer profile-guided optimization but few projects use it, and the JVM just uses it to smooth over some of the performance loss from lacking things like value types or refined generics. In languages that provide sufficiently low level operations you can sometimes get what you want by altering the code, but that doesn't always work.

I'm excited for us to stop using Moore's law as a crutch (which has stopped on desktop CPUs for a while now as far as performance if not price) and to look at things like improved tooling, improved languages, and hopefully even improved architectures. I find it hard to believe that "5nm transistors arranged into x86 processors running hand-optimized C code" is the epitome of feasible computing in our universe, and that's forgetting that most of our code isn't optimized anywhere near that much.
I don't even think it's what's easiest to create. It's what's easiest to share.

Pretty much every user-generated content site lets users upload or embed images. Few of them support video, or if they do, it's in a cumbersome player, or by embedding YouTube or something.

Hopefully the widespread adoption of the HTML5 <video> element, with h.264 support (thanks Cisco!) - and with iOS 10 it can finally play inline and even autoplay on iPhones - will spur these kinds of sites to allow direct embedding of videos.
as if condos are any cheaper, and who wants to rent their whole life?
640K ought to be enough for anyone.
Show HN: Try `ssh hackinto.sysengquiz3.host`, a Linux/Systems/Docker challenge
we've launched this quiz to search for a Site Reliability Engineer. So far about 60 people are in the hall of fame: http://endscreen.sysengquiz3.host/halloffame.html

In order to secure yourself you should:

- set `UseRoaming no` in your ssh conf
- connect with the `-o PubkeyAuthentication=no` option of ssh
Which could also be a name Google objects but just hasn't found out about yet.

Street View itself has been around since 2007.
There's a device for that: http://resetplug.com
I'm selling my single-family house (in a large urban area) and moving to a small condo building (not an apartment conversion) for just this same reason. My house, small as it is, takes up such a minuscule amount of the actual dirt that I own. Just not having to maintain the yard--tiny amount that I do just to keep the weeds trimmed down--is motivation enough.

And here's the thing: I still have an outdoor area, deeded to me as part of my condo unit, for doing things like having a small garden or woodworking (if I was interested in either of those, but they're the most common "but I couldn't possibly" rebuttals I've heard). I get a deeded parking space, can paint the walls whatever color I want, and even have approval from the (tiny) condo board to run all of the network wiring inside the walls I can stand.

Obviously I'm unmarried sans kids and pets, yeah? Nope, I have a spouse, a kid, and a dog. And you know what? We're all going to fit perfectly. The new place even adjoins a public park, is across the street from a 24-hour grocery, has frequent all-day (and 24-hour) transit, and is within walking distance of two of the best schools in the city. And all for about $200k less than a free-standing house in the same area.

I'm thrilled to not need as much space. And yes, parents, it is entirely possible do to so comfortably, even with your kid having his or her own bedroom.
Copenhagen has plenty of narrow roads in the city centre.

Many don't have a bike lane. If there's no room to overtake safely, most drivers simply wait.
> C code doesn't have to be terrible.

True, but I hardly have seen any codebase at enterprise level that isn't so.

C doesn't scale when you have projects where modules are written all the time by different people that got hired to work just on piece A and then leave.

They hardly can keep on their head all the nuances of memory management and UB of the company's codebase they have been asked to develop the feature A for in a month.

Languages with more strict type safety help keep people on the right path, even though they still stumble every now and then.
Make Bruce guess opposite of what he sees on Ava and Ava guess same color as what she sees on Bruce. This covers atleast one correct guess for all for Cases BB, RR, BR, RB.
The resistance is all but disappeared. No doubt we'll see APNG is Chrome, and WebP in Firefox within a year or so.
The other half of how it works is that when demand is high, supply should increase to meet it. The reason supply remains constricted and hence prices high has nothing to do with economics, and everything to do with NIMBYists hostile to newcomers.
I agree that mindset is safer, but defensive riding and defensive infrastructure are not mutually exclusive concepts. Both save lives.
Yep--new title is far superior. Actually made me read the article, whereas the old one put me off
It is a CEF Client https://developer.valvesoftware.com/wiki/Chromium_Embedded_F...
Apartment for Sale in Singanallur
we are the top Apartment for Sale in Singanallur.Property Description Real Value Villa in Singanallur Real Value Land Promoters and Builders.visit @ http://goo.gl/mfp8nd.
Honeywell may be stodgy, but I'll take my ugly Honeywell programmable thermostat over the slick Nest that can get bricked remotely.
How can you have an illusion that something is subjectively good?
How to Get Started with Viralwoot Affiliate Marketing? – ViralWoot
This is OT, but I can't wrap my head around the reverence of global economic growth. Surely it is unsustainable in the long run. It would seem far better if people weren't required to buy a new, slightly shinier, device every few years just to keep society from collapsing.

As for the stalling of technological progress & sales, I would venture it's partly because the technology has caught up with other industries; eg. I can now watch HD movies on demand on my smartphone, at practically no cost. While it may be impractical to design smaller CPUs, there is also no incentive to do that, as people don't really have a need for it (also, see the rise in high end GPUs for VR gear, since that's what people want). However, I'd say there are other avenues of progress available than mere clock speeds, eg. energy consumption. I doubt marketing departments around the world will shrug and say 'Well, we had a good run, now it's time to call it a day'. Although that's what I'd hope for.
I'll be danged. Good share. I had wondered why the resurgence.
I do not know if this applies to all stoves with tactile buttons, but the one I have turns itself off if anything hot is put on the buttons. This happens both if you overcook something and boiling water/food pours all over the stove, or if you happen to put a frying pan on the buttons.

But yes, overall I do agree with you. My one major annoyance is that changing temperatures is slower than with a rotating knob.
I used to think the same way regarding Wayland. But then I realized the abysmal state of X11 remoting: most applications I would like to use remotely are basically sending images over the network, instead of just API calls. Try using Firefox over X11 forwarding. I think some battles have been lost in this regard.

The creators of Wayland decided that it is not their task to handle remoting. You could argue that this demphasizes the issue, leaving it to insufficient VNC, dead projects like NX, or not yet production ready projects like X2Go (once they support Wayland that is).
Fuchsia: Micro kernel written in C by Google
The author is wrong about gifs encoding full frames. Properly encoded gifs only store the pixels that change in each frame. His own example with the dog shows this http://i.imgur.com/wISu3An.png
Thanks! Anyone out there know if there is a way to read this in traditional (as opposed to simplified) Chinese?
Agreed, but the funny thing about London is that cyclists tend to be more of a menace than cars. There is a noticeable minority who just don't want to stop for pedestrians.
Interesting that's likely a location thing. Also I'd question < 10mph over isn't speeding, assuming even a 60mph speed limit you're allowing drivers to travel at over 10% faster than posted.

Depending again on location, there's almost definitely laws on indicating turns which I'd say is probably the one I see ignored the most (to cut off the 'I see bicycles not indicating' line, most places have a 'when safe to do so' clause for bicycles).
> What leads you to believe...

Marketing.
Less technical article: https://www.fastcompany.com/3063006/why-on-earth-is-google-b... (Why On Earth Is Google Building A New Operating System From Scratch?).
"it could be argued to be less efficient for certain types of data"
This is true of all lossless compression.
This is capitalism at its finest. Everyone just redoes the same things, occasionally with a slight spin on it followed by heavy marketing.

Noone cares about interoperability, noone cares whether all the data and content we're generating today will be accessible in a few decades or centuries.

Standards bodies are being taken over by company interests and we're still piling stuff on top of a technology stack designed with a ~50 year old technology landscape in mind.

Noone wants to think further than next quarter's profits.

Our industry has gone to shit.
Blame process, not people
What do your personal OKR look like?
Our company has adopted the practice. Anyone willing to share theirs for inspirational purposes
I made a Chrome extension that opens a player on specifically selected gifs but not wholesale (would need too much memory)

https://github.com/0ui/gif-scrubber
Right, don't you think that's a little strict? I've seen way more egregious offenses slide by here (I'm not the OP).
I wouldn't say that entropy coding is "separate" from dictionary / window compression. DEFLATE surely isn't the first algorithm to combine LZ77 and some form of entropy coding, and surely won't be the last.

I highly recommend that everybody go out and build an INFLATE implementation; it's a lot of fun.

Mine can be found at https://github.com/magcius/libt2/blob/master/t2_inflate.h
Just took another crack at it, this time not bothering to cobble together the binaries and the nighly but just dl'd the stock package. Worked.

Tempted to see if I can get the joysticks working in Destruct mode. No destruct joystick is a bit disappointing.
So cyclists can't have safe infrastructure because of history, and also can't expect drivers to obey the road laws because of impatience. That's just great.
This post shows two huge flaws in the way car traffic works:

- You don't have a right to drive at 70 km/h! It's the upper bound!

- Cyclists are seen as obstacles and not as road users.

I don't own a car but sometimes have a ride with other people and it's scary to notice how aggressive some people are towards the other road users.
And I'm even more frightened by those people who drive too fast (for their skills) just because they don't want to get in the way of the aggressive ones.

But luckily, there are also very cool drivers!
MultiCloud OpenWhisk: Build a Distributed OpenWhisk Deployment on OpenStack
For the July one:

Always go first.

Assuming the table is symmetrical around only one point, the centre of the table, place the first coin on that point.

Every move after that place your coin in the location directly opposite the last coin played, the mirrored location around the point of symmetry.

Since you are always playing a symmetrical position, you know that there will always be a space available for you after the previous coin was played.

[edit] looks like the answer on the site is almost the exact wording as mine :)
It makes it much more difficult. In fact safe rust provides similar guarantees to garbage collected languages as the heap-allocated classes will clean themselves up.
“Proper” function manners and etiquette
You don't have to use setjmp/longjmp in libpng, it's just the default behavior. You can instead set an error callback to do whatever you want.
Interesting, although I'm not sure the CEO of the company selling the wine is going to be especially objective.

It does raise a question - for wines that a vintner wants to age for a really long time, why would they use UV-transparent glass bottles and cork stoppers? Surely a glass bottle that's opaque to UV light would be better, as would a non-porous stopper. Even in the mid-19th century they had access to those things. Dipping the entire bottle in wax would do the job. I've never seen it done though (not that I'm any sort of wine expert).
Design for code maintainability
The article is completely wrong about technical aspects of animated GIFs:

> Unlike GIFs, video files don't actually contain every frame of animation you see

> As a GIF, it takes up more than 60 MB because every single frame needs to be stored as a complete image.

This is ridiculous. See http://www.drdobbs.com/optimizing-gif-animations/184412988
Um, that may be true on paper, but instead of using bandwidth heavy VNC or braindead systems that require you to log off locally before you can login remotely, X11 offers you a responsive and flexible solution.
Your examples are poor.

Twitter is a massive pile of JavaScript garbage - it's just as difficult to download a still image off it (I have a bookmarklet for the task).

On imgur I can just right-click on an animation and select "Download Video..." and I get the mp4. Just as simple as images.
It's a good system. Though the full DEFLATE spec has quirks like storing literal blocks prefixed by their length and then the ones complement of their length.

The next step in improving a simple compression algorithm is to replace Huffman encoding with arithmetic/range encoding. Huffman encoding proceeds one bit at a time, treating everything as having a probability that's a power of 1/2. Arithmetic/range encoding uses more accurate probabilities and then packs them together, letting you save a fraction of a bit with every symbol. As an analogy, consider how to encode 3 decimal digits. You could spend 4 bits on each digit, and it would take 12 bits total. Or you could combine them into a single 10 bit number.
> will trigger a series of git fetches

If there's been no updates there will be no `git fetch` run. We use a newish GitHub API to check for updates as its quicker.

> Why was it enabled automatically in the first place?

A significant numbers of our created issues are due to people having failures when they don't run `brew update`. This solves that.

> Why must I always dive into homebrew on github to identify (1) why it's not behaving the way I would expect a package manager to and (2) how to get back sane package manager behavior?

We're an open-source project run by volunteers for free in our spare time. We're underfunded and understaffed so our communication is lacking. The best current place to find out about such things is to follow our issue tracker. We aim to improve this in future.
Yeah... yet another post to promote Amazon Echo dressed up as something else..
And we could fund our open-source project to maintain these things. Sadly neither of us have these pennies ;)
Zenbot 3 – Bitcoin/crypto coin trading bot
No it's not. I've had kind-of-that "smart switches" in the office. To turn on the light the appropriate button is to be pressed (among 20, it's kind-of a control panel). Once the light is turned on, the red LED is turned on at the edge of the button. So it fits the proposed "turn the LED on when the light is on."

The problem: in the evening it gets dark, you want to turn on the light and come to the dark corner with the panel where the 20 buttons are, and you have no idea which of 20 will turn on the damn light (to add the insult to the injury, it's some in the middle of course, these in the corners are something whatever). And as the punishment, if you hit the wrong buttons you will raise or lower the blinds or change the heating or turn on the fans in the ceiling.

I ask these who installed the system: can you make it having the LED by the button on when the light is off (invert the logic).

"Can't do, the whole module (20 buttons and the LCD display) is made in the factory and can't be tweaked."

A "smart" control panel from hell.

My other favorite comparable bad button is one actual button on the remote controller for one TV-on-computer device. It was probably some generic remote customized by the company for that device. The problem: one button, easy to hit, just blocks the whole device and leaves the software running in the background. Of course, it can't be reprogrammed.
Are condos really that much cheaper than houses in the US?
C lacks "zero-cost" exceptions, where the code should be just as fast as it would be if no exceptions were involved as long as one isn't thrown. Although they are much more expensive when thrown than checking a return value and using indirection for any logical return values, they are a bit cheaper when you don't expect the exception to happen very often, or don't care about performance if it does (e.g. a corrupt png or jpeg file).

My dream is something like the UX of Swift's exceptions (basically normal C error handling except for it does all the tedious pointer work for you) with the ability to tell the compiler to either implement the exceptions as return values or stack unwinds for a particular code path with the flick of a switch.
That's more a problem with Twitterfied absurd message length restrictions. Rather than 200 bytes of text, you get 200 kb of pixel data. Progress!
Hehe... nick chosen for a variety of reasons :)
I'm going to point out that storing user IDs and such in the payload is perfectly acceptable, and one possible means of transporting a user id around rather than as part of a url path, query string, etc. Because the payload is typically meant to be readable, there should never be any sensitive data like password info added to it. Note that while JWTs are used for authentication typically, thru are also used as a means of secure message passing.
Anyway, proper use of a technology comes down to developer awareness, but I would hope that the developer implementing any means of security would do some research into doing it properly. We can't blame the tool for being used incorrectly :) Perhaps the problem in this case is a lack of sufficient proper documentation? Can't say I've found lack of docs to be a problem, but I guess people's mileage differs.

As for my points 3 and 4, I did mention that they included a DB lookup. I don't believe I've ever read anything that claims that it prevents a DB hit. In fact, this[1] page states that they help to prevent more than 1 DB hit for user info.
However, what I was trying to allude to in my previous comment was that you can store the bare minimum info of your users in a cache. This cache can be used during the validation of the token (and even with token generation) , which prevents a db lookup. Since the data in the cache should contain data that rarely changes (should only typically be updated on password change, or when any of the details used in the payload of the token changes) , management and maintenance of your user cache is simpler.
Specifically on point 4, what I was suggesting is that if you are planning on using something like HMAC as the algorithm for signing, then the signing and validation steps of the token can include the password hash or similar unique value for the user in addition to whatever key is provided.
In addition, if your tech team has access to your production DB, you have a concern when anyone leaves anyway, regardless of what authentication method you are using. So not really something specific to JWT. In the case of JWT and using HMAC for example, I would have my production key stored in the prod environment only.

I will say that changing a key is a real concern, if your key does become compromised... but it is possible with a bit of thinking upfront about it. I've successfully implemented something like this previously.

Again, it's not the right tool for every circumstance, but when used in the right circumstance and in the correct way, I don't find most of your post to be relevant (meant with good intentions and I'm not trying to be provocative).

Perhaps a quick read through the Wikipedia page [0] on the topic, but more importantly, the JWT IO page [1] on the matter provides usage and implementation guidelines, as well as confirms some of what I've mentioned previously.

[0]: https://en.m.wikipedia.org/wiki/JSON_Web_Token
[1]: https://jwt.io/introduction/
There are four possible scenarios:

1. Ava's card is red, and Bruce's is black.

2. Ava's card is red, and Bruce's is red.

3. Ava's card is black, and Bruce's is red.

4. Ava's card is black, and Bruce's is black.

To win, Ava should pick the same color as the card she sees on Bruce's forehead, and Bruce should pick the color that is different from the card he sees on Ava's forehead. (Which player chooses which strategy doesn't actually matter.)

Here is how the strategy plays out for each of the four scenarios above:

1. Ava chooses black, and Bruce chooses black. Bruce guessed correctly.

2. Ava chooses red, and Bruce chooses black. Ava guessed correctly.

3. Ava chooses red, and Bruce chooses red. Bruce guessed correctly.

4. Ava chooses black, and Bruce chooses red. Ava guessed correctly.
hi, thanks for your comment.

> Getting into a mess by yourself is easy, getting out is really hard.

This is well-said.

> I think we need the notion of "mental injury" instead of mental illness. It's more like a broken leg than a tumor

yes... uhm, let me think here. "mental illness" is used to imply that a person is defective... The term is basically contaminated. 'Mental injury' is moving in the right direction.
> foreign contagions brought into the country can spread like, well, rabbits.

> is caused by a mosquito-borne virus

I think it is just question of time, until some countries decide to eradicate mosquitoes on their territory. Seems like cheaper solution than vaccinate entire population against dozens (if not hundreds) diseases.
This seems like a good use case for a bit mask query function. I see Rust has a bitflags crate:

https://doc.rust-lang.org/bitflags/bitflags/index.html
Indian government imposes 3-year jail term for those caught in online piracy
> But BIND isn't just failing because "it's written in C", it's failing because it's written in terrible C. That said, "terrible C" is probably most every C routine written by someone with less than 10 years of solid low level experience, so "writing good C code" is not very scalable.

Please do remember that many of these codebases are ancient.

If you rewrote many of these in C today, they would be much better--especially if you also added a test suite around them.

I'm happy to see this in Rust as I'd like Rust to get some real, hostile-environment usage to see what breaks.
Watch Beep Webisodes: History of Game Sound Online