skysight-inc/HackerNews huggingface dataset:
There’s a nuance here that I’d like to dive into, though, as well. There’s a parallel that any code you don’t invent, I’d argue, is harder to maintain, if necessary.

Find a bug or want to add new functionality? You’re either now maintaining an internal fork or working through legal to get a patch pushed to OSS (Personal experience, but the idea of there being work involved with changing a dependency is still generalizable, I believe).

The result of this friction, I’ve found, is one of two scenarios. The first is that there is just a lot of glue code. This glue code bridges different libraries in an idiomatic way so that the team can now understand how different parts interact. The second method is the wrapper method. Every piece of useful functionality is abstracted out so that the wrapper writer can do additional things in between and also buffer API churn.

Even with that said, I often fall into the “If someone else can do it for me, I’ll manage this dependency risk” category, as I assume you do as well.
That assumes your not using some monstrosity ide that requires bleeding edge hardware to run COUGH oracle forms COUGH.

We had to buy cutting edge pc's spend >£2k on extra ram and £4k on 20 inch crt monitors to develop - the application would run on a 133MZ

If you had less than 2 Blue screens per hour that was a good hour - This was early 90's btw.
This only makes sense if you pretend developer time is free and low morale has no effect on productivity.

10 minutes of lost productivity a day due to inadequate hardware means you are paying at least $4k per year per dev for that shit pile of a laptop. Usually it costs more than 10 minutes a day too.

The hit to morale when you tell a professional they can't pick their tools is even worse. Now they are spending at least 1 hour a day looking for a new job because devs are good enough at math to know if you can't afford a new laptop you've got six months of runway tops.

If you believe employee happiness has any correlation to productivity you always buy them whatever hardware makes them happy. It is a small price to pay.
Isn't the dull, repetitive work the kind that AI and automation will liberate us from?
> Julia is homoiconic

It depends on what you understand by homoiconic:

https://stackoverflow.com/questions/31733766/in-what-sense-a...
> I personally find it far easier to fix my own code than others' code.

This is a problem with larger teams though if anyone else needs to work on the code, and results in code that doesn't have documentation/support available.

Not documentation as in 'He didn't make a confluence' page, but documentation as in 'If I google this error message will I get a good answer'
There's nothing wrong with providing incentives for other forms of transport, like road tolls, bus/bike lanes, decent pedestrian crossings, etc. Otherwise you end up with cities optimised for vehicle traffic, like almost everywhere in the US. This limits growth (easier to add more capacity to public transport, more difficult to increase infrastructure to support the equivalent number of cars if you're out of space) and cost the city more to maintain, plus shitty commutes significantly reduce the quality of life (at least IMO, I guess some people might want to be stuck in a car and have an hour or two less with friends or family).
Thanks. Looks fantastic. Also appreciate the feedback from parent.
I agree and I think the main reason is the anti-realist camp in physics which has taken hold in the past 100 years.

This view probably developed because the realist models of quantum mechanics were too difficult for people to accept. It was easier to say that intuitive models are outside the scope of science than to change their set of inconsistent preconceptions.
Hi! I'm from the EC2 engineering team.

This is a super challenging problem for general purpose virtualization stacks. EC2 has been working to avoid any guest VM interruptions. With the Nitro hypervisor, there are no management tasks that share CPUs with guest workloads.

See more here, including data from a real customer with real-time requirements running on EC2 under the Nitro hypervisor: https://youtu.be/e8DVmwj3OEs?t=1796
Not being American (and not being from a European country that colonised), I think POC is misleading as people of Asian descent don't seem to be nearly as stigmatised as people of African descent.
/etc/hosts is indeed used by all versions of MacOS.

On MacOS, try this in a terminal window to flush your cache.

sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder
> does auto formatting just like gofmt

It does auto formatting, but it doesn't do auto formatting just like gofmt. An auto formatter can't do anything with this block

if check_based_on_value:
if value < 0.3:
# do something
elif 0.3 <= value < 0.7:
# do something else
else:
# do a third thing

for example.
Fyi, the article's title and sibling top-level comment by austincheney may give the wrong impression of what Russ Cox is talking about.

His essay is not saying software dependencies itself is a problem. Instead, he's saying software dependencies _evaluation_ methodology is the problem. He could have titled it more explicitly as "Our Software Dependency Evaluation Problem".

So, the premise of the essay is already past the point of the reader determining that he will use someone else's software to achieve a goal. At that point, don't pick software packages at random or just include the first thing you see. Instead, the article lists various strategies to carefully evaluate the soundness, longevity, bugginess, etc of the software dependency.

I think it would be more productive to discuss those evaluation strategies.

For example, I'm considering a software dependency on a eventually consistent db such as FoundationDB. I have no interest nor time nor competency to "roll my own" distributed db. Even if I read the academic whitepapers on concurrent dbs to write my own db engine, I'd still miss several edge cases and other tricky aspects that others have solved. The question that remains is if FoundationDB is a "good" or "bad" software dependency.

My evaluation strategies:

1) I've been keeping any eye on the project's "issues" page on Github[0]. I'm trying to get a sense of the bugs and resolutions. Is it a quality and rigorous codebase like SQLite? Or is it a buggy codebase like MongoDB 1.0 back in 2010 that had nightmare stories of data corruption?

2) I keep an eye out for another high-profile company that successfully used FoundationDB besides Apple.

3) and so on....

There was recent blog post where somebody regretted their dependency on RethinkDB[1]. I don't want to repeat a similar mistake with FoundationDB.

What are your software dependency evaluation strategies? Share them.

[0] https://github.com/apple/foundationdb/issues

[1] https://mxstbr.com/thoughts/tech-choice-regrets-at-spectrum/
> uhh, in 2015 a i7 had 4cores, boost of around 3.4

Not on a 13" MBP, it didn't. Source: there's one on my desk.
Causing the race between bloated environment and ultra performant hardware to carry text editing.

Many times I've observed that people running programs on older hardware realized stupid design non-decisions. Fast ~= blind.
"NNs that rely on backprop only really work on continuous functions and many interesting things like language[0] are not products of those" is real high on my list of limits.

[0]: https://www.linkedin.com/pulse/google-hyping-why-deep-learni...
This looks great. I was using the awful "Videostream for Google Chromecast" chrome app which I found was pretty buggy.

I'll give this a shot...
I wasn't being disrespectful of Python. We are allowed to criticize languages. The fact is, by any reasonable measure, Julia is more expressive than Python, which was all I stated. This is an advantage of Julia. Both languages have advantages and disadvantages, and comparing them honestly is necessary for people to make a good choice when selecting a language for a project. C is less expressive than Python or Julia, but no one would say C is a bad language based on that. And no C programmer would disagree with that statement.

It's not about putting any language or community down.

By your argument, it sounds like we cannot talk about any advantages a new language may have over existing ones. If we stuck to that, how could we possibly make any argument over why one may want to select a newer language?
The adage is perfectly reasonable when you recognize that influence in government comes not from popularity but from money. I always refer back to the Cambridge study that correlated money to legislation and that citizens will has no impact on what becomes law[1].

So yes, there are lambs being served up for dinner by wolves, but its not that there are more wolves than lambs - the lambs simply don't get to have a say.

THAT is why inequality is so detrimental to society. When money buys influence, and a few dozen men can wield as much as half of everyone else, only their desires matter. Everyone else is functionally unrepresented.

[1] https://www.cambridge.org/core/journals/perspectives-on-poli...
cmd ~
This comment is a pretty big spoiler to the entire first book. I agree it's a great series; would you consider making an edit so as to be a little less specific?
If you can easily write a replacement for it, then the cost of depending on it is very small - because the worst case for the fix is replacing it....
Has there been enough time for Measure M to succeed? It was passed very recently.
This is important - the idea that the future is a private flying vehicle is an artifact of 20th century science fiction. It does not fit into 21st century ecological and economic realities.
Did not know about rebase with exec! I'll have to try that! Thank you for the insight.
Yeah well, open standards don't give any single company control.
50% of VC funding lands in CA. 50% of that is on Sand Hill. So ~25% of all VC funding happens in offices in Palo Alto, the sheer efficiency of chasing a funding round can't be beat.

For an established serial entrepreneur with a proven track record, it can absolutely make sense to stay in an area you know. But I think that math really changes if you're going to be cold calling VC's, trying to wrangle meetings from 3 time zones away, get meetings bunched up to consolidate travel, etc. The overhead of redeye travel is relegated to a joke at the end, where's the "measurement" on that?
There is a small step from physics I to physics II, accuracy wise. There is a huge step between physics I and astrology, or basic anatomy and energy meridians. To the point of one of those method from each pair not being useful even in limited specific circumstances.

I don't disagree with your points mind you, I'm making a distinction between inaccurate methods that work in their own limited domain with limited accuracy (that is all we have, I agree) and not even wrong methods that sometimes work by accident but don't generalize even within their own stated limits.
My point wasn't about trusting or not trusting. It was about browsers adding/influencing content as a default setting, and this being a new thing. I don't know whether this is bad or good in general.
- OneNote hands down beats everything else for me.

Foe scratchpad I use the unfiled notes section. This is where all the shares go by default. I do wish they would bring some kind of hash-tagging.
> I showed him how it could cold boot to a productive sway desktop in <30 seconds

I'm currently using a new cheapo HP laptop, it cost €600 (substantially lower than the 2k+ Macbook Pro's I've been using prior). I run Manjaro Linux with i3 as the window manager. I'm blown away at how fast it boots. From power on to login prompt in about 3 seconds (bootloader is setup to just boot right away) and from login screen to usable i3 desktop in about a second. I've never had anything boot so fast before. Not that boot speed is meaningful for actual usage performance, but anyway.
If you're generating nodes in an abstract graph (e.g., moves in chess), iterative deepening can be incredibly space-efficient, whereas BFS can rapidly consume an exponential amount of space.

As you point out, IDFS (or IDA*, etc) work far better if you have a means to avoid re-exploring the same nodes repeatedly.

Nonetheless, run-time can theoretically be greater, since you're iterating. Theoretically, though, each iteration will take N times longer than the prior, which means that the running time up to the final iteration doesn't matter that much (because it's such a small fraction of the total). The extra bookkeeping required by BFS can easily outmatch that in running time.

Definitely, it all depends.
Even better, let users choose whatever but have _every_ user account backed by a (not publically displayed) verified government ID.
perhaps you have brought your own Biases to the table.

"too pat" means its too simple, how does that work out when applying occam's razor?

Its easy to say "Junkies will be junkies", you are propagating this mentality and leaning on the crutch of the fallacy of single cause to iterate your own biases. The research is very clear.

Mayo Clinic: "Anyone who takes opioids is at risk of developing addiction. Your personal history and the length of time you use opioids play a role, but it's impossible to predict who's vulnerable to eventual dependence on and abuse of these drugs. Legal or illegal, stolen and shared, these drugs are responsible for the majority of overdose deaths in the U.S. today"

Us National Library of Medicine: "Opioid addiction is characterized by a powerful, compulsive urge to use opioid drugs, even when they are no longer required medically. Opioids have a high potential for causing addiction in some people, even when the medications are prescribed appropriately and taken as directed."

These reputable institutions havent tried to determine "future" addiction because the present data is loud and clear. Opioids are incredible addictive. I wonder why you are completely willing to ignore this data and instead blame the victims and sanctify the distributors. I think it speaks volumes for your position.

Perhaps you chose it pre-emptively and dont want to ratify the easily available data. (come on friend. its a simple google away https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3674771/)

Instead of playing devils advocate, and vocalizing what you "dont buy". Rather analyse the query and ask people in the field. Your biases might give you comfort but it is not the truth and the truth deserves pursuing.
> On AWS, if you outgrow, you have to frikking sell off your machines on their auctions and buy new ones.

I don't believe this is entirely true. The AWS reserved credits are good within the machine family. So a t2 credit is good for all t2 instance sizes. Not as flexible as CPU/RAM credits, but more so than it was in the past.
I am using my old (physically damaged but functional) laptop behind a TV for this and more.

Works great with everything and you have full control of the content. Add a wireless keyboard (with trackpad) and you are done.

Games? Use Geforce now.
You just made me more excited for the next decade :).
GOTO is logical when you look at machine code - that does not mean it is the best possible abstraction. There is a reason we use higher level languages.
Evil but true. I think the easiest way in would be to rally up some university students into starting a "Julia Club" or maybe even a "Julia Evangelism Strike Force".
Very exciting stuff! Keep up the good work!
You're assuming that the market is retail consumers. But this same tech is what allows you to purpose these vehicles, and vehicles like them, for things like emergency courier services, for remote rescue, for military uses like exfiltration and so on.

The future is not one where there are tens of thousands of flying cars over every city, but there are plenty of edge cases where having a few would be wildly beneficial.
I use similar class laptops. My only issue is they get hot when compiling too much or HD video (or even non HD actually).

Maybe it's a thermal paste issue but anyway, that's my main issue with them, if they could run at full speed without reaching 90degC they'd be near perfect.
An 18th-Century Philosopher Helped Solve My Midlife Crisis
I've been using it a lot and it works very well, but it's a cli app. You can get a Chrome/Firefox app that gives you a button on your browser bar and sends the URL to whatever page you want to catt, that's a good way to cast anything youtube-dl supports to a Chromecast.
Open-Source Linux Driver Published for Habana Labs' “Goya” AI Processor
Tech companies spent more than $64M on lobbying in 2018
Talent, VCs, good weather. OP has managed to save $1mil by basing his company in Philly, but could have potentially missed out on multiples of that amount from VCs.

Mind you, I don't even live there, because the downsides of living there in my current situation outweigh the upsides. However,I have been there many times, and if I had to start a company right now, that's where I would do it.

P.S. Try hiring engineers for a company in Philly and a company in SV. Then try to compare the quality and number of candidates knocking on your door in each scenario.
It's really shocking how much Linux Desktop has let itself go over the years. I remember when you could recommend someone install Linux on an old laptop to get it responsive again, but nowadays that advice isn't true anymore.

https://www.youtube.com/watch?v=7kvT40umKL8
Even that depends on the dev environment.

If you're using a lot of virtual machines, sure. If you're working on something that's inherently RAM-hungry like video processing, sure. If you're working against a local database server, maybe. If you're using something like IntelliJ or ReSharper (but not necessarily Visual Studio), then, <sigh>, yeah, I guess.

If you're doing Web development, OTOH, it's probably better if you not have much RAM. If front-end, because a significant percentage of your users will be using low-RAM devices like smartphones and Chromebooks, and you shouldn't need any more RAM than they do. If back-end, because the production servers will (hopefully) be handling a lot more load than what you're doing in testing, so if you get too comfortable with treating RAM as a plentiful resource in development, that's going to be a recipe for scalability problems.
Boeing's Self-Flying Taxi Completes Its First Flight
Over the last thirty years, I have bought exactly one brand new device - an Asus Eee, which I still have around somewhere, but which, ironically, I never really used. Everything elese has been other people's lay-offs, including my beloved Thinkpad T440p on which I'm typing this. I am forever baffled by the quality and newness of hardware everybody simply wants to get rid of.

Believe me, I ship lean and speedy code.
Elitists from silicon valley will downvote this simply because they don't like having their life choices called into question but you're right: The costs (cost to lease space, cost of labor, business costs, commute, quality of life you can afford for your dollar, crime rate, etc.) far outweigh the benefits (access to talent and VC).

If you can bootstrap it yourself or find VC outside of SV, it's typically better to do so.
When companies fail (because they're providing a service that not enough people want, or because they provide it too inefficiently), those companies stop using resources, which frees up those resource so that someone else can use them (presumably more efficiently, or to provide something that more people actually want/need).

But when government projects start to fail, the first thing that usually happens is that they get considerably more money to try to make it work, and that goes on for years. And when government programs don't work, or don't do something that enough people need or want, those programs far too often just keep going, for years and even decades, wasting resources that could better be used for something else.
IIRC at my last employer an Asana tab + Slack ate ~1.5GB all on their own, and Asana was so slow to load that one hated to close it.

Jira's not as bad as Asana but depending on the set-up it can be pretty close. Then there's Invision, et c which are much lighter than those but still pretty damn heavy, if you're trying to get by on 4GB or less. And/or maybe you've got Outlook and Teams and all that. And that's just the communication & collab tools, not even any of the stuff to produce actual work output. Temporarily having to use a 4GB machine with that kind of workflow is why I'm now permanently on Basic HTML for Gmail—it loads fast enough I can close it, and uses so little memory there's no reason to. I couldn't spare the 300+MB for Inbox or whatever with all that other junk open, and besides, Basic HTML's much faster.
wow. talk about "loss of service challenges".
Hire them as contractors with equity. Pay them their accounting costs + health insurance amount + voluntary pension plan if you want to emulate their countries' typical deductions.
First of all, it is the only thing that is relevant. Repo needs to be functional using tools provided by the distribution that uses that repo format. No one cares that one can download tarballs and compile them -- this is not 1997. In 2019 it is "Enter this command and get this result". Feed this result into the orchestration/management framework. Find a bug? Fix the bug. The rest of the system will continue to function.

Second of all, you still have not provided a link to the doc that someone can read without installing a gopher client. Come on, you said you already have it!
Most of the entrepreneurs I know avoid this problem by not hiring employees - they use contract labor sourced from Upwork, which handles the paperwork of dealing with different countries & currencies. There are some challenges around communication, management, finding good people, etc, but once you find someone you can get a very loyal worker for a low price. A Cambodian programmer making $15/hour can live like a king - that's 12x the median income for their country, or the equivalent of an American making about $720K/year, so they have a strong incentive to work hard and not fuck it up.
I did two dissertations on realtime outdoors computer vision stuff (detecting landing targets for quadcopters and shadow classification), with a really high-end (at the time) laptop with 16GB memory, 8 cores @ like 3.5GHz turbo, a 512GB SSD and a GTX970 GPU which was okay at running tensorflow et al. Not only was it a very capable workstation which I could leave crunching data on overnight, both dissertations involved field robotics (quite literally, doing stuff in fields with drones :)), and being able to use the same machine wherever was a godsend.

No matter where I was, be it at home, in a computer lab, presenting my work to peers or my supervisor, or outdoors in a field, I had the same tools, same large dataset of raw h.264 video streams, same hardware, same everything, without needing to rely on streaming data to and from some server on the internet, or worry about keeping my work and software in sync across multiple machines. I could tweak my algorithm parameters in-field and I could continuously compile my huge 100-page latex sources for my dissertations from.. the beach :)
Because Pascal. And as Pascal was used as a teaching language, I don't think your 'make code harder to read and harder to write' argument holds. But certainly nowadays 'end's are not seen often; maybe this has an influence in your statement?
See also:

https://news.ycombinator.com/item?id=18973477