skysight-inc/HackerNews huggingface dataset:
It's weird you bring up global warming when there is scientific consensus that it is not only happening but man made. Doesn't seem like a good analogy for something you want more data on.
I assume he's coding on the other days of the week.
What I've learned since quitting my job
>Refactoring is an activity of small steps of a particular kind that are generally sound transformations. The biggest risk is transcription errors.

I think that is far from an established sole meaning of the term.
I wouldn't expect the official documentation for anything to fare well with web search algorithms. This is probably a place where I'd support manual intervention, to boost docs/manuals/man pages/etc.
I didn't know it was this bad, but I decided not to get LASIK for a different reason. It'd fix my near-sightedness, but also normalize my superior close-up vision. I can easily read ultra-fine print that most people need a magnifying glass for, and LASIK would destroy that. Absolutely not worth the small benefit of getting rid of my glasses.
I think moderators should mark articles behind paywalls as such, I already don't click on wapo or nytimes links but you never can tell with medium. I'm retired on a fixed income and I can't justify in my budget subscribing to these places. It makes me sad when I can't read an article that might otherwise fascinate me. One solution would be to never click on medium links, but then I'd miss the ones that are free.
Question for Android Developers
Ask HN: How do you display code examples on your site?
I'm looking for a nice way of presenting HTML code snippets with syntax highlighting (doesn't have to be editable).

I've previously used highlightjs but haven't been enamored with it.

I particularly like:

- https://statickit.com/
- https://css-tricks.com

Anyone have any tips? I'd love to hear what other people are using.
Investing in Open Source Software with Patrick Chase from Redpoint Ventures
Sounds like an old '79 Ford Bronco I used to own. Or the Jeep TJ I own today...

/something fell off? Welp, still moving forward, so we're all good!
Did your employer discourage all meetings or just recurring ones? I find ad-hoc meetings to be pretty useful. It's the recurring ones that drive me batty.
Orthokeratology contact lenses to reshape the eyes while you sleep are the new thing for teenagers.

https://www.npr.org/sections/health-shots/2015/05/21/4065023...
"Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something."

Your comment almost gets there, but not quite—and then it sinks itself lower by breaking this one:

"Don't be snarky."

https://news.ycombinator.com/newsguidelines.html

Can you please take the guidelines a bit more to heart when posting here? We'd appreciate it.
Life is so much more complicated. One could be born into success. Luck is a factor. Understanding and exploiting risk is a factor. Persistence is a factor - you could continue to fail until succeed, or you could continue to fail until you teach yourself what is needed to succeed. You could have brilliant ideas but no capital and still fail even though you work hard and are talented. Reducing to success to two or three factors may be true in some cases but those two or three factors may be different in the larger set of successful cases.
I don’t like meetings because they are not „productive time“, but I do like them because they do, as you wrote, fulfill my socialization needs. Onsite meetings work way better for me in that regard.
It keeps throwing me

"SyntaxError: unknown: Unexpected token (1:20)"

on valid code
Einstein‽ What about Archimedes?
An algorithm implies an objective rules based system as opposed to one that changes to the whims of its operators. With a whimsical system an advertiser can come in and ask an operator to rank it up in the organic section where Google claims the rankings are based on page rank. You’re tied to the meaning of algorithm from a developer perspective where you can make things do whatever you want. In the Journal’s non-developer community an Algorithm is different to Do-What-You-Want, it’s a set of high level rules that are small enough to explain.
I don't think there's even a reliable exception process to review items/sellers with lots of bad reviews. You would have to have that working first.
How to Refactor PyTorch Code into PyTorch Lightning
This is really good advice. There are a ton of different reasons why you can end up breaking this rule and almost all of them are things you want to avoid: multi-purpose functions, adding to old functions that should be refactored, adding an extra case to an if statement that should be broken down, etc.
My understanding is that tests are mostly supposed to increase iteration speed - the opposite of what most comments here suggest.

> The change curve says that as the project runs, it becomes exponentially more expensive to make changes.

> The fundamental assumption underlying XP is that it is possible to flatten the change curve enough to make evolutionary design work.

> At the core are the practices of Testing, and Continuous Integration. Without the safety provided by testing the rest of XP would be impossible. Continuous Integration is necessary to keep the team in sync, so that you can make a change and not be worried about integrating it with other people.

> Refactoring also has a big effect

- Martin Fowler

https://www.martinfowler.com/articles/designDead.html
I think it's nothing like censorship. They aren't restricting anyone's free speech. It is Google's platform and within their right to control the content displayed outside of organic search, in fact it's necessary. That's like saying the Wall Street Journal is censoring all my articles I submit to them they don't publish.
That raises the question of how many in the other side of that percentage (an overwhelmingly higher absolute number) had similar "merit" but not access as Bill Gates.

Because, look, the reason we're talking about him is because he is an exceptional story of a man completely trashing his competition, standing head and shoulders and bottom-hem-of-dad-sweater above anyone stepping toe-to-toe with him. But then, how impressive does that become when you realize that his "competition" was essentially a small subsection of the in-the-know low-tier-wealthy-and-up? In launching an industry-leading, cutting-edge tech company, his strengths were revealed to be in how quickly and differently he thought and how tenaciously he acted, compared to the relatively comfortable people in his extended network (the caveat of a network being that its members must be sufficiently similar enough to engage with one another). Outside that bubble, it probably becomes much easier to find someone who thinks differently and somewhat easier to find someone who is very tenacious. So... do the bell curves of intelligence for affluent West Coasters and everyone else not overlap at all, or what?
Some do have a subset of features enabled or that can be enabled (maybe, somehow). But my post was not meant to be generic or for a hacker, rather for a person who would like to use a Lenovo T450 with (AMT) KVM. While all Intel CPUs have the ME, this is not enough. The chances of "hacking" the rest of the features on such a system without explicit vPro support are slim to none for all intents and purposes.
It's good to see DoH going where it ought to be here -- the place where it gets used by everything automatically, keeps your ISP out of your DNS queries, and doesn't require everybody to manually configure every separate application on every separate device in order to set which resolver they want to use.
more like caused to happen by the Creator.
That's not true for me. What is true is that I'm not a member of any social group that uses FB exclusively. I don't know of many that do that, because doing so excludes a lot of people.
HiDPI displays make it much easier.
Noiz
Depends entirely on the code and the context - if it's something like a library, mostly yes. There I already know what I want the library to do, and writing the test first is a great way to get a feel for what the ergonomics are like in actual use. Also a great way to spec out what the library will and will not do. Then I write to make it work, and once the tests are passing I keep refactoring to make it neater and easier to understand, and then maybe add benchmarks and move on to optimization.

If it's an application or framework, I usually drive it from the UI, so tests are more an afterthought or a way to check / ensure something.

I find the best balance is to have thick libraries and thin applications, but YMMV.
At the cost of quantity, but agreed.

(There have been some really interesting displays of this, like Robot 9k avoiding chat spam, or Kingdom of Loathing's 3-question "test" for joining global chat.)

Print fiction stories are higher average quality than web-published or fan-fiction, because they costs money to produce. Nobody prints and binds 500 words of unfinished, unedited rambling, but they certainly put it on AO3. But it turns out there's a lot of stuff that's interesting and valuable, yet too niche or awkwardly sized to justify printing.

So I guess there are two questions. First, does the barrier to entry improve the overall quality of the thing, or just weed out the weakest examples? Charging anyone who calls a meeting $10 would avoid some stupid meetings, but requiring an agenda can also improve worthwhile meetings. Second, are the marginal examples worth having? For a short story in a database, sure. For a five person meeting? Definitely not.
Readership Effects of a Magazine’s Move to Online-Only
Meh. I've used the same handle online for more than 20 years. Why stop now.

For most of the last 10 I've been working in Python.
A great former boss of mine and I adopted a silly catchphrase that was introduced to him by an efficiency guru at some managerial conference:

"No agenda, no attend-ah."

We groaned every time we used it. I've used it ever since.
I did PRK and have had chronic dry eyes ever since. I can't recommend it. I would go back to contacts if I had the choice.
All the ballyhoo about Amazon Transparency and UUID per item. This is a relatively well solved issue in other areas.

Make become a seller a bit more difficult with some skin in the game ($2,500 deposit if you sell more than 15 items per year? In person identity verification?). Sellers used to meet with buyers agents (cost money and added identities).

Caught selling garbage (product marked new actually used, totaly fake junk) enough times -> gone from marketplace and hard to get back in.

The reality is Amazon doesn't care - there IS a market opportunity here for someone to take them on with trusted product catalog and quick shipping (using UPS / Fedex). I wish somebody would straight compete with them rather than all the complaining to politicians.
GitHub being sold to Microsoft was a huge win for GitHub. They got acquired for $9B which is a staggering valuation - one they never would have gotten on their own.

Not only that, but the GitHub product is getting much better under Microsoft.

So overall I think it was a win for consumers too.
It's really damning how they were unable to find a single patient happy with their outcome.
Yeah, I'd already investigated that, but it doesn't meet my needs. The Gemini might, but I have to investigate a couple of things. If that doesn't work for me, then I'll just build my own.
Ok, so lets take your example at face value. You have an extremely complex step of code that you only call once.

Already, you have invariants that are easy to break. You're assuming it's only called once. That's relatively safe if you're inline, that's bogus as soon you've broken it out into a named function.

Some other dev WILL come along and re-use your helpfully broken out code somewhere, and that invariant no longer holds.

Even assuming no one else has re-used it, what ensures that the problem is actually in that method? Particularly if that method itself calls out to many small named methods.

So you have some complex code that does something, but the "things" it does are call out to other small chunks of code.

so now you have

DoComplexThings => {
DoSubThingA
DoSubThingB
DoSubThingC
DoSubThingD
DoSubThingE
return
}

So you're back to binary search - The problem is in there somewhere, but "in there" is actually calls out to many other functions again. Which one is broken?

And wait! DoThingD got changed at some point and will now fail if you run it before DoThingC, but there's nothing in the names that tells you that.

So you have hidden deps between chunks of code that are all trying to accomplish a single goal.

If you're debugging that, you almost certainly have to go through all the code in that method again, except you have to page back and forth in your editor to get the meaningful pieces into view. All so some OTHER dev could give it name that was meaningful to them, but likely not that helpful when you're debugging because the mental model they have of the system resulted in the bug in the first place.

---

Now, rant aside - I think we agree more than we disagree, I think good names matter, and I think there's a lot of wiggle room around when a thing should be broken out.

But if the code is trying to do a single thing, and it's not re-used, I'll take a single cohesive method over 8 tiny abstractions ANY day.
Fascist is word losing its meaning. Its use should be limited to WW2 in my opinion. Replacing the word with authoritarian in your post would allow for the inclusion of other types of oppressive regimes.
arf arf!! this is dumb
Only thing I can add to the laser printer choir: I used to try to go with inkjets because they were so cheap, and the price of a laser really put me off (wanted a color one). The inkjets jammed and clogged every time I tried to use them, which was very infrequently. I finally bit the bullet and went with a Brother color laser (MFC-9340CDW) and it is one of the best purchases I have ever made. You can print stuff directly from your phone, and I don’t have to spend all night trying to unclog the print head (wasting valuable ink) the night before I have an early flight (back when you still printed boarding passes). The reduction in stress by knowing it will “just work” when I need it is priceless.

Only issues I have had with this model are the auto feed on the scanner stopped working, and when it did work the scans came out a little skewed.
I'm kind of glad that I wasn't a candidate for LASIK when I was most seriously considering it (pupils were too big). I know several people who've had it and been delighted, but I also keep reading these horror stories about it making a bad situation worse. At my current age (54) the benefits are likely to be temporary at best, so it's just not worth the risk. Eyesight is not something to gamble with.
That security hole that is leaking customer data hasn't been noticed for the 9 months since it was implemented. Except by that one guy who has captured it all. Customers have only vetted what they see.
Would you really want to work in a static industry? The constant change and opportunities for lifelong learning is something that makes me love being a software developer and not get bored (I've been doing it for almost 40 years).
Sometimes.

If I'm writing something where I know what the API to use it should be and the requirements are understood, yes, I'll start with tests first. This is often the case for things like utility classes: my motivation in writing the class is to scratch an itch of "wouldn't it be nice if I had X" while working on something unrelated. I know what X would look like in use because my ability to imagine and describe it is why I want it.

There are times, however, where I'm not quite sure what I want or how I want to do it, and I start by reading existing code (code that I'm either going to modify or integrate with) and if something jumps out at me as a plausible design I may jump in to evaluate how I'd feel about the approach first-hand.

I'm short, the more doubts or uncertainty I have about the approach to a problem (in the case of libraries, this means the API) the longer I'll defer writing tests.
I write my manual acceptance tests before I write a big fix. It forces me to straighten out in my head what the intended behaviour is and how to prove it. Imho, it has saved me a lot of time from confused starts
I advocated saying please and thank you, so I obviously believe that the more often one utters the phrases, independent of any context, the better human being one is?

Not everyone is relentlessly virtue signaling or karma whoring, whether in IRL or on HN.
That chart is indeed all around "not great". It has no business being a line chart since the lines are meaningless (what's 50% between Barcode Recognition and Facial Recognition?), the two points at zero make no sense, and one of the axis is completely unlabeled (presumable compounded annual growth rate?)
Yes, including if the AmazingVendor is Amazon itself.
I also had dry eyes after PRK, for about 6 months. Been back to normal for a long time though and I consider the minor discomfort for 6 months well worth it.
Apple removing all vaping apps from App Store
Why do new jet engines cost billions to design?
I love this, thanks for sharing!
Thank you very much, challenge accepted
Should WaPo's coverage of anything related to Amazon be allowed here?
And second-last of the guidelines.
Sal Soghoian Reveals macOS’s Hidden Custom Control Panels
"People often feel marginalised. They feel that they have no influence or position. In these cases, the perception is that meetings do not improve anything, but actually cause even more frustration."

Literally the last paragraph hits the nail on the head for, I'd wager, the vast majority of people.
Hire a Reliable Hacker
Do you want a professional hacker to get your job done? e.g whatsapp hack, facebook hack telegram hack e.t.c then Vlad of new world hack is the one to contact.
He even offers a REFUND POLICY! If after the job is completed, you find any of his services are unsatisfactory, you can easily ask for a refund.
Send your jobs to him by email: (newworldhackers12 (@) gmail (.) com) or send a direct text on whatsapp +7 (903) 712-4262
Lenovo had at least one model in each generation's lineup with vPro support since at least the X200/T400 (so just over 10 years).

Rule of thumb (as far as I know, not exhaustive): No i3 model has vPro support, i5 models may or may not have vPro depending on the particular CPU used, and more or less all i7 models have vPro.
https://prismjs.com/

I like it a lot. Simple, works great. Examples (these snippets are highlighted for bash and clojure): https://jacobobryant.com/post/2019/learn-clojure/
>you could run software on your Intel-chipset motherboard without a “real” CPU!"

I suspect this popped up in meetings and is at least partly the reason for the design now.
It is one of my favorites as well. It seem apropos.
Maybe the elite players were able to get into flow state easier/more often than the non-elite. This would explain the longer chunks of time.
I have had one excellent experience with TDD. I re-wrote the stubbing library Sinon in Lua, and as I wrote a feature I wrote the test first, then made the test pass. Since I wanted it to match Sinon as much as possible, the requirements were exact, meaning the tests I wrote never had to be refactored. The whole thing was really smooth and worked really well.

The issue I find is that generally we aren't writing code we know the exact requirements for, so doing TDD means that not only are you refactoring your code as you understand the problem better, but you're also refactoring your tests, which increases the workload.

Maybe that's a sign that we need to spend a lot more time designing before implementing, but I've never worked anywhere that happens enough to use TDD as nicely as my experience with my Sinon clone.
We can probably agree it doesn’t make sense to go through the cost and effort to prosecute someone who stole $0.01. And it does make sense to prosecute someone who stole $1,000,000. So there is some threshold number on the border between “makes sense” and “doesn’t make sense”. What is that number and how do you calculate it?
I had a similar experience in college. In the classes I did best in, I studied for consistently throughout the week, working out problems and reading the book on my own. Then, when test time came, I still studied, but I largely understood the material already.

After a calculus class ended for the semester, I had the professor tell me that I was the only student that understood a certain basic concept of the class. I don't attribute that to me having a masterful intelligence, just that I happened to be diligent in the class and figured out a system based on seeking to really understand the material instead of just pass the tests.

The classes where I heavily procrastinated, I had more trouble with, or at least much more stress. There was one class where I procrastinated and then speed-read 300-400 pages in the textbook the days before the midterm, and aced the midterm...but that was really a freak exception to the rule. It probably did me a disservice, thinking I could do the same for other classes and still succeed.
Yup, I soap all over
> I wish somebody would straight compete with them rather than all the complaining to politicians.

One doesn't exclude the other.
Thank you. The internet, eh? You never know what you're gonna get.
From the German press:

https://www.dw.com/en/german-parliament-passes-anti-money-la...
I understand what you mean. I think a nice middleground between our preferences would be scoped blocks with explicitly passed vars. This would keep the readability you want but still have the other benefits I mentioned. Plus it would be simpler to refactor when needed.
Nice, it actually render the definition inline without placing it in a floating window which is the normal way this feature is implemented: https://docs.microsoft.com/en-us/visualstudio/ide/media/peek...

In gnome-shell-mode [1] we can evaluate arbitrary expression and paste the content (virtually) into the buffer. Since javascript functions evaluate to their source it makes for a poor-mans peek-definition: https://imgur.com/a/7Ot7KFy

It would maybe (sometimes) be nice to even intelligently "macro expanded" the call:

function helper(a, b) {
let c = a + b
return a + c
}

function p(y) {
let x = helper(1+y, 2)
}

-->

function p(y) {
// inlined x = helper(1+y, 2)
let x
{
let c = (1+y) + 2
x = (1+y) + c
}
}

Not the best example, but you get the idea. Expansion can be tricky when the arguments are non-trivial expression. Could fall back to assignment to a variable named after the corresponding parameter.

[1]: https://github.com/paperwm/gnome-shell-mode
I received a call with a human on the other end. When I said hello, the person said in a friendly tone "Grandpa!" And tried to start talking to me.

That strategy probably works some percentage of the time.
a lot of things matter. Just the fact that there is no pre-loaded text area to respond changes the dynamics of the conversation.
> eBay is a much better experience

Wouldn't this be down to the individual seller?
Salt River Project to install AZ's largest battery system to replace coal plant