skysight-inc/HackerNews huggingface dataset:
If you choose to create immutable snapshots of your objects, I imagine the same could be done in Rust?
Why is NULL a bad thing? Sometimes I absolutely want to know if a field is NULL, so i can coalesce to the desired value. I know this is SQL Server specific, since Oracle treats empty strings and NULLs the same, but that approach has always felt wrong to me. Thoughts?
Edit: I see maybe that I should have scrolled down further before posting this. Lots of discussion further down about NULL values.
Nothing beats the smell of the Sonoran desert during the rain, thanks to a special plant called the Creosote bush. Rain is also rare enough so everyone from the region grows to appreciate it a lot.
Meh, I could see it both ways. There’s a difference between “I saw it sinking and figured I’d ride it out collecting a paycheck” and “I tried my butt off to do whatever I could to save it, along with everyone else, but the effort just didn’t work.”

It’s all about how you say it. :)
A ton of upsides.

* The hand does not leave the hone row.

* It never by mistake registers your hands as a click or a movement.

* Your skin can be extremely wet or dry without consequence.

* You can continue a motion without being limited by the size of the trackpad, because you don't modulate the position directly, but its first derivative. This removes tension between being precise and having the range.

* It separates motion and clicks by having dedicated hardware buttons, often three of them. (Middle button click on most trackpads is tricky, and middle button drag, impossible.)

* Wheel emulation is generally fine, again without moving your hand off the keyboard.

There are downsides, too, of course.

* No multiple-finger gestures, like the pinch.

* Harder to make extremely flat.

* Does not mimic the mobile phone. I think this is the kicker: a trackpad is more intuitive for newcomers and casual users. Trackpoint is preferred by pros who are much less numerous.
It's proprietary for the time being; but in short, it is more straightforward than I thought it would be.

We are working with LibreOffice Calc ODS sheets, which are pretty terrible as a format (since the references are not normalized in the formulas, they can't repeat them even when they behave identically, and they duplicate most of the XML namespaces in the attributes).

We parse and normalize the references from A1 to R1C1 form, and then deduplicate the formulas (by text) and extract all of the immediates (and mark some of them as input, so that they can be varied at runtime).

Then we pass the deduplicated formulas through instaparse (which is spectacular) with a relatively simple grammar, and propagate some of the constants.

I then extract the references from the AST, while at the same time replacing SUMIF/MINIFS/MAXIFS/AVERAGEIF and similar with simple addition/min/max of known cells, where the tests are known at compile time. Then those ASTs are complied to functions (ignoring our cross-function optimizations).

Then it's just down to generating a complete DAG of dependencies, and using that to sort the assignments (cells) topologically.
The sheet can be evaluated naiively at that point by injecting the references into each subsequent assignment/cell and storing the result in a map (ranges injected as a seq over a range).

There's a lot more to it, and it's getting better all the time, but that's the gist of it. Many real spreadsheets are not well-behaved, and they have dependency patterns which are more difficult to handle (i.e. ranges that refer to the current cell, or future cells, dynamically). The compiled output is getting more and more static, and will probably be reduced to some form of ssa, possibly even well-formed enough to be popped casually into LLVM.

It would be some help if the ODS format were improved, it takes several seconds just to parse the hundreds of megabytes of XML in our amazing spreadsheet, and a lot of it is redundant.
Based on snooping around the javascript, it looks like probably https://en.wikipedia.org/wiki/Gallery_Project
I absolutely agree with you. At the end of the day, the only way I'll ever come to a definitive conclusion is through experimentation. That, after all, is the essence of The Lean Startup.

I'm glad you've found success working with remote teams, and I'd love to hear more about it. What do you say about connecting on LinkedIn? You can fine me at https://www.linkedin.com/in/pyang6641/. Best of luck!
If they had done just that and only that - taken IPv4 and added more bits - we might all be using IPv6 now. Instead they used the opportunity to cram every feature but the kitchen sink in there, so none of the hardware vendors were interested in implementing it and the backbones were slow to adopt it. So we got mass adoption of NAT instead of mass adoption of IPv6.
Unfortunately, most phashes are trivial to circumvent. Imperceptibly rotating saturation or leveling brightness will result in a new phash.

(If you've found a robust, patent-unencumbered phash, please share, I'd love to use it for PhotoStructure!)
This is all amazing but it makes me wonder if something is a bit crazy with these games. Why explore a universe created by some game company when you could be exploring the real universe by studying astronomy? Why try to earn money and gold in these games which although it can be turned into real money is part of a zero-sum game. Your win is their loss, why because there is no real value created in the game after all. In real life you can make money by creating a corporation which is not a zero-sum game because it brings value to both the owners and workers of the company and its customers.

I understand it can be much more fun in the game than the real life and that's why people do it, but I just wonder if it's just escapism, avoiding the challenges of the real world?
VGA is incredible to have, yes, even in 2019. As a sibling comment says, it's "for the people who actually have to solve problems". Nearly all projectors, even new and expensive ones I've used, do not have HDMI. So there's an adapter. But maybe the damned fragile thing is broken, or it's missing, or it doesn't adapt to what you have (mini display port? USB-C? Who even knows!) or it requires power, or God knows what.

There are a number of times I've had to present something, and the "non-VGA" laptop crowd was unable to, for various reasons, but a VGA port will cut the crap and get you an image on screen no matter what. It's wet? Stepped on it? Bent pins? It'll still work, dammit. Maybe your slides will have a blue tint, but you'll get em up there.

I'll give a personal example. I was at a party and the movie dude didn't show. Only thing available was a banged up projector from the 90s with analog only inputs. Everyone had new fancy laptops with no VGA. Someone had a totally destroyed old laptop with water damage, screen falling off, but you know what it had? Most of a VGA port. I bent off a few pieces of a paperclip, shoved em in there, pointed that old projector at the side of a house, and filled the night sky with sixty feet of glorious analog pixels.

I'd expect more support for VGA in a place like this. It doesn't just guarantee your slides will get up on screen, it's a real hacker's port, dammit!
Yes, not in that comment. I was at a loss on how to reply to a comment that just trashed the article as "very bad" and left it at that; I'm thinking maybe I shouldn't have replied at all. But I tried to do things a little better in the next one. I failed regardless, though, so that's why I'm hoping someone can offer a new approach.
This reminds me of the Web Framework From Scratch [0] series from Destroy All Software. A great series of videos worth the subscription!

[0] https://www.destroyallsoftware.com/screencasts/catalog/routi...
I haven't, but being an Apache project that isn't heavily commercialized by one of the big players, it's very likely if you shot a message to user@ (https://beam.apache.org/community/contact-us/) you'd get a decent answer from real users.

They seem to have an admirable level of community outreach - this coming from someone who used to work a lot with Big-Data Apache projects :) Having a YouTube channel and that many meetups in different locations is really cool.
It's also a problem for everyone who can't afford to move to these cities and get a better job.
This is basically what I tried in the comment of mine that I linked to, but it only works if they make a specific claim that the article refutes. It doesn't really work in response to "this article is very bad"...
If it's holding back the country, it's a national problem.
They have way, way more than test cases. The logic synthesis, simulation, verification, and validation capabilities of top tier EDA tools are incredible.

The problem is as it always is with these kinds of things. They help assure that you can measure your model and your implementation of that model. They're much less capable of determining you've got the right model to begin with. That part is still up to the humans.

The state of commonplace capabilities for testing and verification of software is extremely far behind that of hardware. For a variety of economic, cultural, and use case incentives reasons.
There's another video (The Only Way to Survive a Fall Without a Parachute - Bright Side): https://www.youtube.com/watch?v=p5SGdWWu0sI

Some facts about falling:

- You don't have oxygen until 6 miles / 10 km left to fall.

- You have 3 minutes.

- Some people have survived falling from planes. Most don't. 100% of people who don't fly never encounter this issue.
Strong disagree.

The nonsense needed for "variadic" templates in C++03 isn't "just do without lambdas". You basically have to walk on eggshells to get the equivalent of unique_ptr. Not having to type std::vector<SomeTypeName, WhateverBuffer>::const_iterator changes the way you write code, too.

The stronger guarantees on copy elision lets you skip return by reference nonsense more aggressively.
What an act of mental illness! It's hard to imagine the depth of misery that this poor creature's mania drove him to. It must have been torture for his loved ones.
Last I checked I could only control nvidia GPU LEDs on Windows.
"I hit the wilds of Prince George’s County, forgotten fishing trails with jungle undergrowth and hand-liner litter where catfish-seeking Central Americans seem to have constructed altars of beer-can empties to the Lords of Modelo."

When I was living in Piscataway, NJ, I used to roam along Raritan River during the bad period of my life. I used to see lots of central Americans who fish there. I hardly saw any one who is fully employed (40 years a week, with benefits). Just undocumented workers, and those who are out of luck.
Say lightening hits the sensors at the next mountaintop instead!
I was going to say... having grown up in western Oregon, I think rain smells good when it's not an everyday occurrence for months on end!
Why Can't Web-Browsers Justify Text?
Really? I feel like I haven’t seen a projector with only VGA in years. Could be a biased sample though.
I always have loved ThinkPads because of the pointer thing. I got used to it and it’s comparable to a MacBook trackpad for me in comfort and productivity.
This will break code that uses (e.g.) 0.0.0.1 as a "fail address":

$ telnet 0.0.0.1 22
Trying 0.0.0.1...
telnet: Unable to connect to remote host: Invalid argument

It's nice because the connect() syscall fails immediately, instead of sending packets and waiting for a timeout. 0.0.0.0 is not a suitable replacement, because it's interpreted as 127.0.0.1:

$ telnet 0.0.0.0 22
Trying 0.0.0.0...
Connected to 0.0.0.0.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.9p1 Debian-10

Doesn't the kernel have a policy of not breaking userspace, even if the behavior is undocumented?
When I first started my career a senior dev told me a funny story about 2 competing standards for some obscure technology. There was no clear winner and the community couldn't decide what did so what did they do? They created a new standard no one used.
Sometimes you want a hobby free of conflict or challenge. A place to relax, not a place to learn and grow or make money.

Maybe even an excuse to sit there and not really think about much of anything in particular for a while. Let your brain have some big slow thoughts while you watch imaginary space flow past your imaginary spaceship’s cockpit.
It's not an elephant in the room, it's just so obvious that it's not something that needs explained.
Hasn’t there been a strong academic with enough confidence in their work to not publish with these “top tier” journals? Surely if the work is groundbreaking enough it would be able to stand on its own and thus erode the prestige of these journals? I mean, the rest of the world has already moved on to the internet age where prestige is earned through likes/shares/forks/follows/stars/retweets/upvotes, from developers to rock stars, reporters to POTUSes.

There can be only one reasonable explanation how such a strong disequilibrium has been kept in status quo. Money is flowing to the right hands. Which, like it or not, is the definition of corruption.
> Why...

The severity of failure modes. In games you can just start a new character; in real life you are broke, or worse.
What is the point in memorising a dictionary and then repeating what was in it to an audience?

You could say this about every form of recreation, let alone competitive activity. You don't find it interesting, that's okay, different people enjoy different things.

The best spelling bee champs (the ones winning the big scholarships) are not just memorization machines, they have deep understanding of the etymology and structure of English words (which I happen to find very interesting).

If you set aside a few minutes to watch the Scripps spelling bee, you'll notice that the competitors ask about the etymology and usage of the word in a sentence. This information gives subtle clues (such as Greek or Latin roots) that a good speller can use to spell a word they've never seen before. That is an impressive feat, if you ask me!
Had some interaction with Corby back in the late 70’s. What a gentle, generous thoughtful man!

Requiescat in pace.
Spelling bees don't test English comprehension.
eLife doesn't do that anymore: https://submit.elifesciences.org/html/elife_author_instructi...
They removed, not added features. The hardware problems had more to do with other things.
Integration Test Hell
Why is it that even after all these years web-browsers still can't justify text properly, even though good old news-papers can?

I think this is a hugely important issue because most of the world's reading probably happens via a browser currently. If we can make it more readable it will help the humankind, even a small improvement has huge rewards since so many people are using the web.

Do we need to invent some kind of AI to do this? I think this would be a great test for wannabe AI.
No, someone else. I've been having problems with stalking and break-ins, physical assaults, and more.
What is real?

I can create a business that does things only in computers and use the funds to buy other things only in computers, how is that different than a game?

Games are life with an easy mode, and many things which are "not real" are just as fulfilling as things that are "real".

Accumulating wealth is mostly just a game anyway once you have the basics covered, and when you start thinking about it too hard everything is equally unreal in that nothing has any worth outside your own arbitrary values.
> Your win is their loss, why because there is no real value created in the game after all.

Value is subjective, and not everything revolves around money. All it takes is for someone to like the game and they’re good.
If someone uses `utf8` in MySQL 8.0, they will get a warning suggesting they should use `utf8mb4`, because `utf8` will be deprecated.

Redefining `utf8` to mean 4-byte would break the upgrade since existing tables would not be able to join against newly created tables.

This is discussed here:
https://mysqlserverteam.com/sushi-beer-an-introduction-of-ut...
Balanced Brackets Interview Problem Explained in Python
This is my goal in life. I hope one day I can contribute as much as possible to the ultimate goal transcending our bodies.
Nice! However, your last sentence contains "x" which was supposed to be removed from the alphabet in Year 1.
Do you think there is no conceivable way that this was valuable enough to spend someone's time on?
Just to expand on this... It sounds like the URL contains a shareable secret for read authorization for a particular resource, with no authentication. Which might be appropriate.

The authorization check might be incorporated into resource lookup. Imagine a table that maps many-to-one (very long) secret keys to non-secret object identifiers. Each sharing would create a new such secret key. If someone provides the secret key, and that key is (still) in the table, then you knowing that key constitutes you having authorization to whatever object that key maps to. (If, for example, you add a `valid_through` timestamp column to that table, then the authorization check might include more than just the table lookup.)

(I've had to design a similar thing in the past, as part of a big authentication and authorization framework, for working with browser plugins.)
Videogame activities are universally more appealing than the real life versions. They are designed this way usually.
From the article:

“People say, ya know, ‘Get a life,’ and ‘This is a waste of time,’” Sae continues. “They have to understand that I only did this for an hour and a half each day just to unwind after work. I wasn’t killing myself doing this.”
I find it tries to map out genres too specifically. Usually my recommendations feel like hey you like this artist, here are artists that do the exact same thing but worse.

I find I get excellent recommendations from Youtube. Go on without logging into an account. Pick an album you like and look at the related videos. They usually aren't specifically in the same genre but I've come across a lot of albums that have since become favorites this way.
Good ol’ XKCD 927 in action.
I love the title of this article. Is it just me?
It is actually almost physically painful how much I want this thing. "Software dev" for me takes on quite a few roles from debugging hardware/IoT devices in the field, to programming lighting shows or interactive art installations. This thing might seem like overkill, but for me and lots of people who do a job like mine, I actually don't think it really is.
How NLP Is Advancing Asset Management
There's some excellent choices in this design, but using Kafka in the middle makes no sense. The Cassandra change-data segments are written in batches, and BigQuery loads in batches. So the author is splitting up change-data segments into individual rows, feeding those rows into Kafka, and then re-batching them on the BQ side for ingestion.

The use of a streaming system adds a tremendous amount of complexity for no benefit, because the original data source is batch. A simpler solution would be to process the data in 5-minute batches and use a BigQuery MERGE statement to apply that "patch" to the existing table.

You really shouldn't use Kafka unless you have a true streaming data source and a hard latency requirement of < 5 minutes. It's much easier to work with data in small batches, using local disk and blob stores like S3 as your queue.
That falls apart in year 2, where it fails to recognize that in many dialects, "w" and "wh" are distinctly different. And that's the problem in general with real proposals for English spelling reform: exactly whose English should we be spelling in? Consider, for example, the word laboratory. Labritori, leboratri, or maybe something else? You don't even need to cross the Atlantic to run into difficulty.
10 years seems a bit much.
"Bai Iear 15 or sou, it wud fainali bi posibl tu meik ius ov thi ridandant letez "c", "y" and "x" -- bai now jast a memori in the maindz ov ould doderez -- tu riplais "ch", "sh", and "th" rispektivli."

"By year 15 or so, it would finally be possible to make use of the redundant leters "c", "y", and "x" -- by now just a memory in the minds of old dodderers -- to replace "ch", "sh", and "th" respectively."

So "x" is removed as redundant, and then reintroduced for "th".
Answered quite literally in the article:

>“People say, ya know, ‘Get a life,’ and ‘This is a waste of time,’” Sae continues. “They have to understand that I only did this for an hour and a half each day just to unwind after work. I wasn’t killing myself doing this.”
> If you go to shows or conferences, showing or talking about something is the best way to have something, and the deadline focuses you like nothing else.

The same applies for a personal project that's delivered as a gift to a family or friend. I guess I should write sometime about the Raspberry Pi-based Christmas present I gave my father in 2014, even though he stopped using it scarcely a year later. For this thread, the point is that the deadline made this the only personal coding side project that I've completed in several years.
I love seeing these datastructures show up in more languages. They completely change the set programs you could feasibly find time to write. Thanks for sharing your C# one, I'll remember that if I ever need to use Unity again.
The claims about CHAMP are very impressive, in my experience, Clojure's datastructures perform great for what they do, and they claim CHAMP tends to be many times faster. :- )

> Compressed Hash Array Map Trie

Q: “What datastructure would you like?”

A: “Yes.”
FTA

“People say, ya know, ‘Get a life,’ and ‘This is a waste of time,’” Sae continues. “They have to understand that I only did this for an hour and a half each day just to unwind after work. I wasn’t killing myself doing this.”
Show HN: Code search using Deep Learning (code with paper)
Thank you for this. I finally found a name for the condition where my son remembers life events so vividly, which is called “Hyperthymestic” syndrome. Any one else out there with this condition?
Escapism? The article said she plays around 90 minute each day after work. This is no different than how most people watch netflix after work to unwind. Its not like she spend ten ACTUAL years in the game like a hikikomori.
Ultra premium compact laptops is what they have been known for since the early 2000s. I remember oogling over one around that time for similar reasons as this one.
Actually learning that the NYTimes calls this a “loophole” is much of the story for me — it is part of a growing anti-tech worker rhetoric. It is part of a similar narrative that tries to justify breaking up tech firms but conveniently ignores telco, pharma, insurance, etc.
Its a bit like IE6. A big upgrade over C but the next update took so long that it was hated at the end of its life. Which coincidentally is exactly why C++ now does timed releases.
Would love to get feedback or answer questions
The "word stress system" isn't nearly as systematic as you might imagine, at least in English taken as a whole.