skysight-inc/HackerNews huggingface dataset:
That question is bizarre and just points to more serious confusion on the part of the commenter above.

If you’re writing a general purpose function minimizer, you have to make assumptions about the functions you will minimize, for example that they are bounded below or that minimization is restricted to a closed subset of the domain.

If they rely on third party libraries, you have to make even more assumptions, that those third party function calls don’t require (for legit reasons) some Python-specific dynamic typing feature of the language that would imply that jit compiling them is impossible.

If you are willing to make these assumptions, then solving this is trivial: just monkeypatch all the relevant functions with jitted versions of the functions. You could even write a tool to walk the relevant packages with pkgutil and monkeypatch everything. Zero rewrites, and you wouldn’t even have to manually indicate what to monkeypatch.

For example the library gevent does this “monkeypatch everything” pattern to change all functions in the requests package into non-blocking async requests automatically.

If you are asking instead to preserve pure Python features that these third party libraries are using, like reliance on iterator protocol, descriptor protocol, metaclasses, context managers, Python data model special methods, dynamic attribute lookups, etc., then the question is once again not logically consistent. It’s asking for a triangle with 5 sides.
Show HN: Naive Bayes classifier for text categorization in five steps
TL;DR, anyone?
Actual redundant hardware. There are multiple ALUs for example (although not all equal), multiple load/store units. But the bottleneck that prevents of going wider than 4 is often the rename up to 4 registers per clock.
If your business is dependent on the Gmail API, your primary risk is that Google changes or deprecates the Gmail API, and you will have zero recourse if they do.
Just wait for the vim guy who will be like "but muh java plugins make it more efficient then IntelliJ"...

I think i am more productive in an IDE, faster. Sure if you have this insane VI/EMACS setup that you have tuned for years. Good for you, you probably are a fucking wiz.

My standard right now is a terminal & IDE combo. Working in the cloud era as a data person, you need to be comfortable with terminal & vi/emacs (vi for me but whatevs) as it makes life a ton easier. I hate watching co-workers do terminal shit and write code. Seriously guys if you invest a little time into VI pretty soon you are flying around your code. People literally watch my screen and are like WTF are you doing. I feel like a surgeon with precise incisions, cuts, tweaks. Compare this to spamming down arrow 30 times and then right arrow 80 times to get to a character in your editor...
True, but I feel I would still feel shame in failing to keep my word, regardless of the intention of the other party, as long as they keep theirs.
SwayDB v0.7 – Updates using Scala functions
Yes, ripgrep (or specifically, the Rust regex crate) takes inspiration from Hyperscan for its SIMD matching.

https://github.com/rust-lang/regex/commit/203c509df9e1dcba61...

Both libraries also rely on a number of techniques from existing published research.

Hyperscan is ruthlessly optimized for x86 platforms, but has dropped support for non-x86 platforms. Rust's regex crate is designed more as a general purpose, portable regular expression implementation, suitable for wide scale use.
Most gas station restrooms in the US aren't terrible anymore, I haven't seen a bad one in over a decade.
Remember the last time 20 different entities forked gold, and battles erupted over which one was "the one true gold"?

Neither do I.
I feel like that with that line of reasoning you could also say that a 34-year-old isn't smarter than a 4-year-old. The 34-year-old just has a bigger dataset.
QuakeWorld Team Fortress still played competitively after 22 years
This is like everything else in life: there is the initial cost, there are maintenance and support costs, and there are replacement costs.

With roads, it's fairly obvious when maintenance or replacement is required, so people responsible for financial expenditures cannot ignore them. But with software, the "invisible" nature of it seems to allow those responsible to ignore reality and kick the problem down the road until hopefully it is someone else's problem. (Incidentally, this is how a lot of modern public companies with with respect to 5-year CEOs and quarterly earnings and actual responsibility to shareholders, employees, and public).

Anyone who has technical experience knows that it's a tough sell to convince upper management to spend money on problems that they can't even see. The big question is, when is the technical debt (or outright catastrophic failure of a decayed system) worth more loss in revenue than its replacement would cost?
If your goal is to make as much money as possible, then you probably have to live in that mutually predatory environment, but if your goal is to have a more stress-free existence and feel like your work is actually helping people then there are alternatives.

I have little fear of being laid off at my company because they didn't even lay anyone off during the last recession. It isn't publicly traded, and has a very flat managerial structure, so the typical 80s-guy bullshit doesn't really fly here. We don't make software and get our revenue from selling ad space, we make real things for real people and we charge real money for them.
Did Strava copy its mobile route builder from another app?
Very neat project! Not sure what I'd use this for in practice, but it's a nice proof of concept for several things.
Bionic Hands Let Amputees Feel and Grip
A top 40 site in the US doesn't properly size images in production
I don't see how cost overruns by more than an order of magnitude are par for the course.
completely changing the interface has its own problems in my opinion.

People that have years of experience using the older interface are going to have a tough time making the transition.

training is usually lacking, and a newer UI does not guarantee that more mistakes will not be made in the learning curve.
I'm impressed by this builder. It is without any doubt an awesome technical achievement. However, I don't picture who will be using it in this form:

a) It feels too advanced for non-technical users. Flex properties, CSS classes, weird px/vh units, etc.. It just seems very hard to understand for non-technical users.

b) For technical users it just feels... clumsy. It is hard to pinpoint the box you want to change, it is hard to move things around, it is hard to find the property you want, etc.. I can't imagine myself using this editor over any of the several awesome "css toolkits" and their pre-made templates/widgets (bootstrap, bulma, uikit, etc.).

Does anyone here have experience on a project done with this editor (or something similar) where the client ended up actually using and appreciating it?
Did you leave a comment for the guy who has to fix it in 30 years?
Title is a bit misleading. Not sure this is "I'm not using GUIs" but rather "I'm using a terminal-based dev environment". I was hoping to find some nice terminal-based tools for browsing and e-mail and all the other annoying real-life things I need to use
Yeah I mostly tend to agree... but I'm just being the devil's advocate. I mean, how do you communicate that you're different from a bank? If you genuinely are a cool company, how do you communicate that in a job ad (or other communication)? Probably doesn't need to be mentioned as a "perk" on the top of the list, but should likely be included somewhere towards the bottom of the advert...
A lot of young people think that the people who wrote software 30 years ago were just plain stupid and all wrote crappy code. In reality there were people back then who did a good job and there were people who didn’t. They just used different tools. I can’t wait for the current systems to become 30 years old. Making changes to micro services architectures written in different languages over multiple servers will be a lot of fun.
Intro to Transfer Learning with PyTorch
A few years ago, I met guy in my travels who seemed quite carefree and just enjoying frequent international travel with his spouse, funding various art initiatives, etc. Turns out he wrote some utility-related software for a large American city back in the 80s and has nice a recurring revenue stream from that. Other than some now very occasional support requirements, it's essentially just a source of passive income. He said switching costs would be too great, and there's no need to change something that's working.
The longer the better, as it gives society time to adapt/prepare for such a potentially powerful technology.
Yes. They're all over. They just aren't venture capital funded valley start ups.
> Nobody will pay ever penny to care about zero cost homes.

I'm 100% opposed to this sort of thing being state-funded (I'm an AnCap), but I have to disagree with you here. I've personally subsidized housing for people who I've met that I believed were honestly trying to escape homelessness.

Most people's politics aren't as extreme as my own, but the mere existing of private, non-profit homeless shelters falsifies your idea that no one will help pay for zero cost homes.
The recurring theme in almost all accounts of depression that I've read is the lack of will and/or care to get out of the state (and/or care for much of anything).

This guy had a real problem - several of them, actually, and I admire him for pulling himself by the bootstraps going up; and for avoiding paralysis which is indeed an issue in situations like this. But being depressed for specific reasons (marriage failure, financial problems), solvable or not, is very different from clinical depression - which may look similar on the outside, but doesn't have a good reason.

I don't want to belittle anyone or anything, but ... I've read countless descriptions of depression, and this one is unlike the others. The author may have suffered from real depression, but I don't believe his experience is applicable to other cases.

To each his own, but the reason I'm pointing this out is to (hopefully) stop HNrs who are unaware of this, who may show this to their clinically depressed friends or family and say "see, you just need some analytical thinking". It may work - some people manage to overcome schizophrenia with analytical thinking - but they are AFAIK a tiny minority.
I'm one of the few people who agree with you. I'll bet I can do most things in vim faster than intellicode or whatever the new hotness is.
More importantly offsetof is an implementation-specific macro. Whatever it does cannot be generalized from its definition for one or many compilers to a language requirement. The use of the offsetof macro in a program may cause undefined behavior when compiled with GCC or Clang. GCC instead provides __builtin_offsetof. If multiple lists are desired, then an array of them should be declared at the head of the struct and the index be fixed to the type of list desired to contain a reference to the struct. Additionally, as rustyrussell wrote in another comment the list head and member structs should be different in order to optimize the list struct as CCAN's list is implemented, but it too uses offsetof, which leads to the same issue of undefined behavior.

Ref:

https://en.wikipedia.org/wiki/Offsetof

https://stackoverflow.com/questions/26906621/does-struct-nam...
I think vanilla VI (basically just modal editing in general) empowers the user enough to make it worth knowing. I'm pretty damn proficient editing code in a project (that I know granted) with hundreds of files using standard VI when i ssh to a VM or AWS machine etc. Still more proficient than people using an IDE locally without VI modal editing :p
The core of the argument FTA:

>>Wolfe did some digging into Footpath’s server logs, to see whether staff at Strava had been using Footpath. They had.

“I discovered multiple accounts and dozens of routing requests originating from Strava’s corporate IP address starting in November — literally hours after the Product Hunt tweet about Footpath,” Wolfe said. “Digging even further, a good percentage of the requests occurred over a six-hour period on December 12th and 13th. Strava’s December ‘hackathon’ where they purportedly conceived the idea? Also right around this time.”

Footpath’s Application Programming Interface (API) logs, seen by CyclingTips, do indeed show multiple instances of Footpath API access from Strava HQ between October and December 2018. Four requests were made in the day following Product Hunt founder Ryan Hoover’s tweet tagging Strava. Several clusters of requests followed through November before a flurry of activity in December.

Footpath’s API logs show nearly two and a half hours of activity from a user at Strava HQ on December 12, including the creation of 23 screenshots between 5:04pm and 7:25pm. The logs also show continued access between 10:45am and 8:40pm the following day. Four further API requests were made from Strava HQ through January.
Of course you should /intend/ to, when all else is equal. But once the cost to yourself of keeping that commitment skyrockets, it's just not worth it.

Think of it as a captain staying with his ship. All else being equal the captain should stay on his ship. But if the ship is damaged beyond repair and it's sinking, a human life is far more valuable than a ship. Bankruptcy is leaving the ship when things are too far gone to save.
I'm a game developer mainly writing/reading/debugging C++ on a codebase that's well over a million lines of code. As with most game-dev I'm developing almost entirely using Visual Studio, and I can't imagine trying to navigate code using a terminal based editor.

Maybe it's just because this is what I'm used to, however I just don't see how some of the tools would even be displayed in a terminal (parallel stacks window, for example) without some horrible ascii node graph.

GUI's are definitely more than just bloat. Possibly not for what the author us developing, but there is definitely a use for IDEs/GUIs.
This is sorta what my university did when they launched online registration. And that was why only 10 students at a time could use the online registration system-- that was the number of virtual terminals the mainframe had. And it was a Java applet :weary:
> He was convinced that he would die from walking hungry.

Do you think that this is a cultural phenomenon? I cannot imagine a person having constant access to food, everywhere, so that he never walked a few hours without eating. You would have to carry a backpack full a snacks everywhere, or you would somehow make sure that a store or some food place is near you, which seems pretty inconvenient.
A 4 year old has "general purpose intelligence". It's an "algorithm" that can learn (from) anything. Can the translating AI solve a simple puzzle? No, because it is only trained for a specific and narrow activity. The same for most other specialized AIs. Alpha Zero can beat anyone at chess. But ask it to identify LEGO toys and it will fail.

Most devices we use are far better at doing their job than a human, which is why we use them. But even if they learn and improve what they're doing they are still only able to do that one single thing.

Also I noticed above that the misconception still persists that autonomous driving today is safer than human driving although it has been proven wrong [0]. It will come at some point but we're not there yet.

[0] https://arstechnica.com/cars/2019/02/in-2017-the-feds-said-t...
Very true. Additionally, in many cases the shop and toilets belong to the same parent company.

At least the business case isn't stupid.
working on old software doesn't help your career as much as working on new software from my experience, the job market is too tough as it is, time is more well spent in new technologies, nothing is ever binary but I can strongly agree old software is almost certainly a bad situation to be in but not everyone can explore alternatives because of costs and other factors
It's such an obvious idea, and it has been around for as long as spam e-mail has been a problem. I absolutely do not understand why it has not yet been adopted for all e-mail traffic worldwide. If an e-mail were to cost just one cent, it would never add up to an amount that a normal person would even notice, yet it would solve the problem of spam e-mail over night.
> and a typical mischaracterisation of abortion by anti-choice advocates.

Be that as it may, whatever the "anti-choice" advocates are doing (I certainly don't know) this is my own opinion using my own reasoning and conclusions. You either value life or you don't. I don't subscribe to the unscientific viewpoint that at some magical point after gestation, a unique human biological life somehow went from being not valuable to valuable.

> abortion would generally be permitted up until the moment of birth. Yet virtually nobody wants that.

The recent events in the democratic party -- Governor Northam's statements, former Presidential candidate Clinton's desire to repeal the Hyde amendment, and the senate vote to block the Abortion Survivor Act -- strongly disagree with this. Sorry the cat is out of the bag, and you can't hide behind the euphemisms anymore. But it is OK -- just own it.

> such as thought, and pain reception

I am glad you said this! Dr. Jean A. Wright, a pediatric physician that graduated from Johns Hopkins states,

"After 20 weeks of gestation [18 weeks post-fertilization], an unborn child has all the
prerequisite anatomy, physiology, hormones, neurotransmitters, and electrical current
to “close the loop” and create the conditions needed to perceive pain…The development
of the perception of pain begins at the sixth week of life. By 20 weeks [18 weeks postfertilization], and perhaps even earlier, all the essential components of anatomy,
physiology, and neurobiology exist to transmit painful sensations from the skin to the
spinal cord and to the brain."

Glad we agree there.

> but don’t invent irrational reasons because they’re easier to attack. That’s deeply dishonest.

You are the one building a strawmen here, maybe look in the mirror?
You can always run a terminal alongside your IDE, you know! The IDE-type approach is generally very convenient, making your day go past that bit more smoothly, and the terminal is good for all sorts of things that are just a faff to do with a GUI.

(Interop is straightforward: just save from the IDE, operate on the file from the command line, then reload.)

This probably won't be to all tastes, but I've been happy working like this for years.
Only a sith speaks in absolutes.

I have known several vim purists who are extremely productive in Java/Scala/Kotlin.

I both understand and respect your preference for Intellij. But, your dismissiveness of others is misguided.
The top dogs like HugeDomains own hundreds of registrars and using their connections to chase domains. These are not resellers, the registrars are there only to catch domains. Your chance of winning the drop game is near zero if they want it.

If you want to scoop up free names, there's lots of bulk tools on registrars to let you buy in bulk.

http://domainincite.com/21309-dropcatch-spends-millions-to-b...
You are using Java as a convincing argument for using an IDE... Java... ugh..

If you use mainly statically typed languages where IDE static analysis, refactor tools proves super useful to you... keep using that set up.

I don't really see the appeal personally.
All Medium paywalled stories now free, unmetered when you’re coming from Twitter
One thing I've often heard that the old software is oftentimes DOS / ncurses style keyboard-driven UI, the new is a Windows forms app or webapp - often completely incompatible with the existing flows, lacking any keyboard interaction, and even with optimization and training not as fast or as fast to operate as the old application.
I suppose that government subventions are split as a function of the number of passengers...
Vim seems like the wrong example. A lot of people use it with just the defaults. Emacs seems to be customized right away by more people.
Java in intellij+ideavim is much faster than in (n)vim, and that comes from someone who has been using vim for nearly a decade. Intellij is just too good.
Do you have some examples of modern UIs made for work instead of looks?
To be fair, the article did little to nothing to address if it's theoretically plausible. Just that we are far away at the moment.
And if we are talking about several gorillas, they guard they're bananas.

It makes sense now, thanks.
Seconding snapnames.com. I've been using it since 2007 to grab interesting domains when they expire. You can place bids on registered domains and they just wait until the domain expires. My favorite thing is to track acquisitions of companies with interesting domain names and bid on them. Inevitably the acquiring company stops using the domain and lets it expire.
Not necessarily expired but thanks for the info.
Women and girls makes up about 14% of all casualties of
mines and explosive remnants of war. Why are you excluding male victims in regard to landmines and anti-personnel bombs that is left around after wars?
You can see this first hand in almost every single Microsoft program that’s undergone a Win32 to Metro/UWP transition. The new versions can’t do anything.
We invest in having our teams visit clients
Show HN: A minimalist online code editor
Insane. That's like 100 people for 10 years (ballpark...)
What? Re-read the comment you just replied too.
That’s a property of how you use it. You can use cash in private, or even without being anywhere near the recipient (for example, by mailing it). You can carry out a Bitcoin transaction while next to the recipient in public if you want.

This is another example of how people don’t think of it properly. Sending Bitcoin to some stranger online is basically equivalent to mailing them cash (minus the chance of having the letter stolen). Most of us would understand that mailing cash to a stranger is probably a bad idea, but Bitcoin is used differently.
Common, yes, but wrong in ways that increasingly matter. Most APIs that do [0, 255] are assuming sRGB or they take a color space but can only really handle slightly-wider colorspaces like DISPLAY_P3.

OpenGL actually works like I said - the float values are not limited to [0.0, 1.0]. There is no clamping in the GPU pipeline, and a transfer function can be applied to choose between linear & non-linear. For details see extensions like https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_... or https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_...

This all matters because there is no longer any platform on which sRGB can be safely assumed to be the overwhelming majority. Nearly all new flagship mobile devices are DISPLAY_P3. Nearly all TVs are already some form of HDR, and desktop monitors are rapidly following suit (Rec. 2020 & 10-bit, so [0, 255] doesn't even cover enough bits).

So anything graphics that doesn't already work with colorspaces in some way is basically abandoned or dying, and anything new that doesn't work with them is going to be DOA.
> capitalism is presented as both the great multiplier of wealth and the remorseless driver of competition and unyielding bottom lines.

It's presented that way because it's a philosophy rather than a science; it can't be tested in a controlled environment and it can have dramatically different results across countries and time periods.

Try explaining the nuances and risks and watch people's eyes glaze over. It's just easier to say capitalism will solve everything, eventually. Don't try to understand how.
> What's the point of having free speech protected by the government if in practice no company will allow you to practice your free speech?

It’s your right to talk, but that doesn’t compel anyone else to broadcast it. Freedom of speech doesn’t require that anyone he made to listen.
Nullpointer exceptions are a huge thing in Java.
It is also absolutely atrocious at English -> German. Deepl.com translator is considerably better, but still very far from perfect.