skysight-inc/HackerNews huggingface dataset:
You could also actually have a safety net and do other things to help improve folks' lives. Actually help folks get out of their current groove. After all, if we are moving folks to places with better opportunities, there is a chance the person will fail and suddenly, they are in an area without their previous support group, friends, and family.

I understand that is a positive so long as it is good, as a change of lifestyle seems to help kick some addiction - but there needs to be something to ensure they don't wind up in the same place in a new city.
Passing a common struct into one or more procedures is absolutely not what is commonly understood as object-oriented programming.
This is what people did (and are still doing) long before OOP existed. I also do it all the time in Haskell.

Similarly that article is wrong to imply that all these techniques are unique to OOP.
This is a way simpler approach vs the OO way described above. The OO way requires undo/redo to precisely cancel each other, which is extremely difficult to get right.
I pretty much used this exact same approach to implement undo/redo in a programmer's editor and found it worked well.

My code is pretty exactly as you describe, an undo and redo stack holding action objects and the interfaces to the action objects being nothing more than 'undo()' and 'redo()' methods.
> State is necessary not "evil" but needs to be managed well.

> And most OO-languages have, apart from the assignment operation, no abstractions for

Yep. "Once you're inside an object, it's essentially Pascal" -- David Robson

That's what Polymorphic Identifiers[1][2] in Objective-Smalltalk[3] address. Partial inspiration was the Web and its REST model, which shows that using state as the basis for composition is not just possible, but works really, really well at the largest possible scales.

What it does is replace your bog-standard programming language identifiers with URIs. So you can write things like the following:

comment := https://news.ycombinator.com/item?id=14997098
file:/tmp/comment := https://news.ycombinator.com/item?id=14997098
file:{$HOME}/comment := https://news.ycombinator.com/item?id=14997098
file:{$HOME)/comments/{id} := https://news.ycombinator.com/item?id={id}

But that's not the cool thing. The cool thing is that scheme handlers are completely user-defined and composable, so you can abstract over state handling, with scheme combinators that take other scheme handlers as parameters, for example a cache, or filters.

Oh, and references (ref:comment, ref:file:/tmp/comment, ...) generalize the concept of pointer. So creating a symbolic links becomes:

file:link := ref:file:path/to/link/target

etc.

[1] http://dl.acm.org/citation.cfm?id=2508169

[2] https://www.hpi.uni-potsdam.de/hirschfeld/publications/media...

[3] http://objective.st/URIs/
higher variance leads to the fact that above 130 IQ, _and_ below 70 IQ, there will be more men than women

so if we select only people with very high IQ, we get more men
What Can North Korea Reach with Its Missiles?
Apparently many HN users still don't understand how flagging is supposed to work. This is a first-person account from the subject of the controversy, so it shouldn't have been flagged. Flagging is for spam and off-topic posts. The echo chamber, attacks on heretics, and attempts to enforce groupthink are strong on HN, which should not surprise anyone given how woven it is into SV culture.
What if they are texting someone important to them? Their child, spouse, or parent they'd rather talk with than random strangers who pass by.
One use case for automatically adapting/live updating gifs is emails since HTML in emails can only have a very limited subset of functionality.

One can use automatically generated gifs to add things like countdown timers based on the opening time of the email. (i.e. loading time of the image) See for example this post: https://litmus.com/community/learning/27-how-to-add-a-countd...
I found this anti-oop video very persuasive.
https://youtu.be/QM1iUe6IofM

He also had a couple of follow up ones.

Basically he blames java for oop's popularity. He maintains that oop's combining of methods and data is actually a fault and not a benefit. That every good oop promises apart from inheritance (which is bad anyway) is more easily achieved in procedural programming. OOP promotes endless meaningless abstractions because the problems programmers deal with are not amenable to neat abstractions. So while oop looks great when dealing with animals, cats and dogs, in real programming you end up with an explosion of difficult to name classes, the so-called 'kingdom of nouns'.
My guess is cryptocurrency mining or grow lights
So what? You said this is a "tactic that the left" uses.

Perhaps they do. But its also done by those on the right, so you are over-specializing when you limit it to "the left".

Oh no, people on the left drink water as a tactic to decrease thirst! We must stop drinking water so we aren't like the left!
I don't know if anyone will care, but I saw Grand Rapids, MI mentioned so I thought I'd throw my 2 cents in. I like taking Amtrak to Chicago from Battle Creek, MI. Usually about 3 hours, and that's my preferred way to go to Chicago for the weekend or longer.

Day trips are more interesting because of the South Shore Line.

http://www.mysouthshoreline.com/tickets/maps-stations

It's a electric rail that runs from South Bend, IN to Millennium Station in Chicago. Take something like a Cubs game. I drive 2 hours to the Dune Park station

https://www.google.com/maps/dir/Marshall,+Michigan+49068/Dun...

From there I park for free and ride the train to Chicago and then hop the Red Line to Wrigley. Even if it's a night game I can still make it back to Millennium Station for the last train out at 12:45AM.

The South Shore Line is also great for conventions on the weekend because it stops right at McCormick Place.
Hey, cool, I wanted to do the exact same thing the other day but as a countdown clock. For those saying this has no practical use, a countdown definitely does :)
> US cryptocurrency regulations are to protect US residents/investors, they are instead leading to the exclusion of US residents from everything cryptocurrency-related

Crypto assets cause nation states to hit themselves in the face. It's crypto judo.
Functional programming languages do not capture mutable state in closures.
Women in Tech 'Brag Day', where women engineers share their achievements
TenX Cryptocurrency “Exciting News Coming Soon”
Older versions of Android had colourful icons, but often those colours changed between versions. This is the worst possible sin, and possibly part of why they don't any more.
North Korea: The Latest Victim of a Cyber Attack
I think the big problem with OOP is that it's designed to simulate the real world but has the real world backwards.

Real world objects are a composition of parts. The taxonomy of those objects, and its constituent parts, is am artificial construct independent of how those objects are composed. A frog is a frog because it fits some definition that experts agree on. The taxonomy comes afterwards - the composition just is.

What we have is a model where the taxonomy comes first. We say a frog inherits from an amphibian. What makes an amphibian an amphibian doesn't matter in OOP. Further, the language rarely provides the same means for composition as it does for inheritance and taxonomy. That's a problem.

In fact, the only reason why a frog is an amphibian is because it has parts all amphibians share. The label comes afterwards, after looking at the constituent parts.

In this way, OOP would benefit from composition-first, taxonomy after. An object is a thing because of what it has (and this includes behaviour too), not because of what it is or descended from.

It should be entirely possible for me to construct an object that fits the definition of a frog without specifying I'm creating a frog.
> not offer true state encapsulation, it just hides it.

That's kind of the definition of encapsulation.

> difficult to reason about

This is repeated as a mantra without any backup. Most people find state trivial to "reason" about. What becomes more difficult are certain types of proofs that nobody actually does.

> [FP] makes it easier to manage and control state

No, not "easier". In fact, incredibly more difficult. Just try updating a nested member. What it does is make it easier to isolate state updates, because it makes it so arduous.
No comment about OO in general, but I think Java/C# is a damn fine language design, avoiding many problems of newer paradigms. Here's an example:

1) Java: starts out with one opaque string type, because that's what OO methodology says. Changes the internals when needed. All clients continue to work forever.

2) Haskell: starts out with strings as exposed linked lists of characters, because functional methodology says exposed algebraic types are OK. Sticks with this mistake for many years, then recognizes that opaque would be better and introduces a new type Text. Can't change the old one or make them compatible. Moreover the new type exists in strict and lazy variants, because Haskell methodology says people want that.

3) Rust: starts out with two string types, because the language design suggests both should exist (String and &str).

It's not just about strings. The same happens with compilation speed, binary compatibility, etc. "Modern" languages get it wrong and can't fix it, Java 1.0 gets it right and it stays right.
> You are simply using objects to encode this and not making any use of their identify and mutable state.

Most software with undo-redo will show you some metadata related to the action (for instance "Undo 'Drag stuff'", "Redo 'Set text in bold'"...) so you have to have a way to associate metadata with the "undo / redo" functions; the class is a good tool for this.

Also, a common optimization is to alter the head of the stack instead of deleting / creating new commands when for instance you are moving an object in the GUI. e.g. say you have a command that moves a box at a specific position. If command objects are immutable, every time the mouse moves, you have to pop the head of your stack and push a new command instead (which may be a waste of resources); instead you can just have an "update" method which will change the position stored inside the command which is microscopic in comparison of malloc / free.
That's the laning stage. The laner is the person playing in the specific lanes during the laning stage.
In some ways agree, except that I do not find Taibbi's rage-driven ignorance-fuelled style in any way "emotionally satisfying".
This is good advice. I was wondering, does this also apply to Ph.D. students?
WebVR for a Gamified IDE
I flew from New York to London once, listening in to the ATC channel. Lots of fun. We passed Newfoundland, things got quiet. Then one aircraft came on line, saying "we are at such position and height, it's a bit bumpy, anyone got any advice?". Somebody answered that they were 10 minutes ahead, bumpy, too. Somebody said they were 2000 feet higher, very bumpy. The radio chatter died away with a final pilot saying the only thing to do was to "strap'em up and ride it through".

Me? I spent the next few hours preparing for turbulence that never arrived.
It absolutely is.

OOP languages formalized this pattern and made it easy to use.
>The Mac attracts visual thinkers and its design encourages visual thinking.

Any proof?
Doesn't change right away, takes time. But somehow over the last 4.5 years it has. (Ask me before then, yeah absolutely blinking out is the way to go.) Then again, as always, ymmv. Congratulations.
Have you tried Path of Exile? You might enjoy it.
“It is easy to find a stick to beat a dog” comes to mind here, also "If you give me six lines written by the hand of the most honest of men, I will find something in them which will hang him".

Yes, anyone looking for ulterior motives behind the manifest will be able to find something as demonstrated in the bit of prose above which goes so far as to include references to "raping children". Going to such extents to prove a point actually weakens it considerably.

What makes it so difficult for some people to accept an open discussion on these 'touchy' subjects? What are they afraid of? If those programs which the writer questions are in fact valid and worthwhile they would stand on their own merits, if they are not they should be cancelled unless there is a 'political' reason to keep them in place in which case this should be made clear to all involved parties - employees, stock holders and regulators.

Stop the witch hunt, it didn't help Salem and it won't help Google.
> They offered a return without even questioning you. I don’t know a lot of companies that would do that.

There's an automatic right to a refund within 14 days of delivery in the EU, so every company must offer that. I wonder if that means these frauds don't happen here?

http://europa.eu/youreurope/business/sell-abroad/on-line/ind...
So LISP and Caml aren't functional programming language nowadays ? Because both allow you to modify what's in a closure.
The TUI in gdb is a great way to get started with gdb.
Instead of writing your own hooks and commands you can visually step through the program and source code ( if you have debug symbols enabled)

I think that more people should know about this feature.
That's good to know.

I have an active BitBucket.

It doesn't contain everything I've ever done but it has the most recent stuff I've been working on.

Would it be worthwhile having a link to the BitBucket present on my CV?
Does the average person, coming after work and taking care of family has the energy to do serious work ? TV time isn't a good measure for that.
No, you're right. The statement is an exclamation of being overwhelmed by the irony of a situation, and irony itself is... slightly editing Wikipedia's definition for clarity, it's "an event in which what appears to be the case on the surface, differs radically from what is actually the case."

I find that irony indirectly relates to cynicism sometimes.

I think the "in the house" exclamation/reply was in agreement with what you were saying, and that it was directed at Salesforce.
It has been passed, but the definition of passed changes to make the test tougher each time. I think that is what the other poster is talking about.
Your third paragraph applies equally to books, per Sturgeon's law. [0]

[0]: https://en.wikipedia.org/wiki/Sturgeon%27s_law
If people want more than 20% women in tech the job may have to be ajusted.
Thank you!

I'll try and keep the faith :)
Gifs render in email, so you could put a countdown there, for one example
Without getting into the whole Puppies controversy, I'll say that last night's Hugo Awards ceremony was one of the nicest and classiest presentations I've seen in many years of attending Worldcons. I was delighted to see such a diverse set of nominees, award winners, and presenters.
People also characterized doing arithmetic as intelligent, and there's little doubt that the entire idea of calulating machines -- from the time of Leibniz -- was motivated by the desire to emulate the human mind, so there's no point in describing intelligence as a binary quality. Therefore, I don't need to define what intelligent means in order to demonstrate my point. There are cognitive tasks that insects do better than computers, ergo, we are not yet at insect-level cognition. Only once computers can do everything better than an insect can we claim that they are more intelligent than insects.
Could you please elaborate on that? How can money make the process easier?
If a particular person keeps breaking things by skipping code reviews and such then you may already have a toxic environment. That person needs to be talked to, not necessarily chastised, but talked to for sure.
I'm in Australia, so I almost never see stories as they start rising. :D

And I may have locked my last account (i336_) a while back by setting "noprocrast" to a ridiculous value, which I TIL that day actually is not fixable. This is a new account. I'm debating whether to ask for my old account to be unlocked, or to start again.

FWIW, this account's first post went badly - https://news.ycombinator.com/item?id=14909407 (downvoted to 0) - and I got bitten a couple days ago as well - https://news.ycombinator.com/item?id=14975515 (down to -1), hmph.
Commenting more on this thread than the article: in my opinion, the idea that OO and functional are somehow at odds with each other is misguided. There is little about OO that doesn't mesh well with functional ideas, and vice versa.

The core concept of most OO designs is that data is coupled with the methods that operate on that data. There is absolutely no reason why that can't work with immutable data and pure functions. In fact, the String class in eg Java and C# works just like that: each method returns a new instance.

Scala, for all its warts and complexities, has a fantastic feature called case classes which encourage combining the best of OO with the best of functional. A case classes is both a class in the classical OO sense and an ADT. Most case classes are immutable.

This is easy enough to simulate in many other languages, even if they don't have case classes. For example, did you know Immutable.JS allows you to add methods to Record prototypes?
You're not a failure though. Just to make that clear.
Cheap Nike Air Max 90/Nike Air Max 1 UK Sale Online – Saleairmax90.co.uk
I'm of the understanding that you hit silver first, then you are golden. It is the same for anniversaries, isn't it? 25 years of marriage is silver and 50 is gold?
Python and Ruby do this without a problem. Many others do it too. If there's a set of complaints about those two languages, variable scope isn't in the top ten.

If you're gonna do lexical scoping or some variation of, defaulting to the current scope makes the most sense. Defaulting to global scope is what causes the issue, not choice of keywords.
You're absolutely right, just look at #select:, #collect: and #reduce: in Smalltalk for example! It's totally amazing.
What is the ROI on a louis vuitton handbag?

Tesla peddles luxury good for price insensitive people.

You want a solar roof that looks good - tesla is the only game in town right now.
If I remember correctly, Deep Mind recently releasead a kit to train bots to play Starcraft 2. Would anyone be able to compare the differences and difficulty of playing dota and starcraft for a bot?
> It should be entirely possible for me to construct an object that fits the definition of a frog without specifying I'm creating a frog.

The problem with this approach is that different domain experts will have different definitions of what "is" a frog. If you ask a theologist, a molecular biologist, and a zoologist to define a frog, you'll certainly get three different but valid answers.
A quick and dirty way of doing it, assuming the currently active pane is the one you want to copy text from:

1. Enable pane zoom (<prefix> z)

2. Enter copy mode (<prefix> [)

3. Select and copy text

You can also look into the tmux-yank [0] plugin, which copies to the native system clipboard.

[0] https://github.com/tmux-plugins/tmux-yank
Show HN: Browser-Based Self-Hosted Ebook Reader(PDF/EPUB)
Pure marketing and zero professionalism it seems. A real person attempting pro will have real trainers. They will help him make plans that don't overstress his body in a way that kills his back in 5 years. Then you set goals that are hard but reachable, not outright impossible. Of course some "impossible" goals can be reached, but not without first achieving some goals from the "possible" category.
Sorry, ~$180 (8TB storage pod, for example STEB8000100).
> No, it's not an ethernet protocol. It's a layer-3 address assignment protocol that runs inside of IP, which is normally encapsulated in ethernet frames. You can have a remote DHCP server running any arbitrary L2 non-ethernet protocol and if it receives a relayed DHCP request it will reply with IP unicast perfectly fine with no ethernet involved.

This reminds me fondly of "frottle". A project from the Perth WAFreeNet - a city-wide wireless network back in the early 2000s. The "hidden node" problem with WiFi over these long distances is that each node cannot listen to prevent themselves talking over other nodes (CSMA/CD) -- because they cannot hear the other nodes - only the central access point.

There were costly commercial solutions (these days there are not so costly ones, for example many UBNT Ubiquiti products implement 'AirMax') so instead they implemented the Frottle project which would hold and then later transmit packets using a user-space iptables QUEUE driver when it received it's "token" / turn from the central AP over a TCP connection. The quote isn't on the webpage anymore it seems but it was something about a layer 3 & 4 solution to a layer-2 problem - a great and free hack that worked well :)

http://frottle.sourceforge.net/
Wow, that's rather a lot of money for a non-profit project :-o
This, with the addition that populations tend to demonize whatever is new. Then it was TV, then it was cable TV (MTV is evil!). Rock music, the internet, smartphones and tablets.

But in the past, they thought reading would ruin a generation and ruin their memories (it did kill a tradition, but we really just remember different things). Chess was certainly going to dumb down a generation, and folks were seriously suspicious of the automated elevator.
a lot of them have refused to adapt to modern languages/approaches/IDEs, which would explain why those particular people are not doing so well.

Seems a bit shortsighted from the management's part. Retro and casual gaming is pretty hot right now, especially on mobile. I would license a good emulator, and then gather a good old-school team and let them make a few games their own way. Has anything like this been tried?
I used to think GDB was a tool with the most broken interface I've ever seen, and which requires arcane commands to do the most trivial of debugging things.

I still do, but I used to too.

That early dig against Windows was particularly funny. There's no way I would pick that over Visual Studio's debugging tools.
Interesting info, thanks very much.

I want to know what sort of cameras can consistently capture the kinds of photos I see online where everything is just refreshingly sharp and properly lit. I know user skill is a big part of that but for a while I've wondered what sort of hardware to optimize for to get shots that are not amazing but just properly well-focused.

I also want to do a similar thing to your "JPEG irreducible complexity" test: I want to, given a series of photos, find the one with the least artifacts. This is mostly for JPG as well, but for photos that can rank stuff that's gone through the Twitter/etc can opener (and been decoded and reencoded umpteen times in the process), so it's possible that doing purely codec-level analysis may or may not rank accurately.
Last week snap was being shot down by some finance guy. They got bubble like fame, and failed to show how to convert user base into money. They're basically worthless
I suppose the hope is that eventually somebody will come up with a smart contract that:

a) Does something useful...

b) ...in a way that's somehow significantly preferable to "dumb" alternatives;

c) gets adequately battle-tested in the real world;

d) can be reused ad infinitum, maybe with trivial variations

It seems to me that it's not out of the question that that will happen, but it's also by no means certain. It seems to me that once you get far beyond simple remittances it becomes extremely difficult to reliably codify intent.
The Metra is based on the distance that you go (well the zones).
This sounds super interesting; a bunch of questions:

Did you just sent multiple images concatenated into the output stream, including file headers? And Mosaic would actually replace the first image with the second and so on? Was the CGI script referenced in an <img> tag?

What image format was this?