skysight-inc/HackerNews huggingface dataset:
This is totally context dependent. If the code is for controlling a nuclear power plant or security for thousands of customers then the core may need to be robust or the enterprise will be doomed. If the code is handling some basic business processes just a bit more reliably and efficiently than some existing but rotted code base then there may be enormously wide bounds for code quality.

And this isn't just startups or side issues. I don't know anyone who has looked seriously at OpenSSL without being completely horrified.
Like all these posts, what works for one is likely not the same as what works for another - find your own system and stick with it.
Show HN: Data Engineering Project for Beginners
Simple project to help beginners get started with data engineering. This is my fist post on HN, any feedback would be greatly appreciated.
Right, that's happening across the Western world. There are a ton of George Floyd rallies in Europe.
One example is chess positions. I render them in Unity and take screenshots to determine if my ML architecture and loss function can read the board from just and image.
It seems like a thought piece meant to elicit consideration, and nothing more. People take these things far too seriously and immediately want to have a position.
Never forget that your startup customers aren't buying your code. They're paying for whatever the product does for them.

They don't care if the code is good or bad, as long as the app does what they need it to do and does it well.

So to answer your question: The code should be bad enough that it allows you to ship as fast as possible, but not so bad that the app doesn't work properly.

This can be a shock if you've been raised on a steady diet of HN posts and comments, Medium articles from opinionated and often highly critical programmers, and open-source projects that only accept the best quality code. No one likes to brag about writing proof-of-concept grade code, so you won't be hearing about it online or in public.

a) Yes, startups have failed because their product doesn't work properly or the product is full of bugs. However, startups don't fail because the codebase is ugly, or convoluted, or not following best practices. You might be surprised at how hacky many early startup codebases are.

b) Regarding the calculation of code quality vs. feature velocity: When in doubt, consult with the senior devs and your manager. Knowing when, where, and how to strike this trade off is one of the defining features of being a senior developer, in my opinion. In most cases, it comes down to estimating the negative impacts on future development. A core component that touches every part of the app should be more carefully designed than a single-use feature only 1% of your customers might ever use.

c) Regarding tests and clean code for V1: In short, the only thing that matters is getting traction in the early stages. Every day you spend writing tests or refactoring code to feel cleaner reduces your chances at getting that next funding round. In the early days, it's all about a proof of concept and getting customers so you can grow the company. You can't grow the company if you don't have investors and/or customers, so that perfect code may be doing more harm than good in the early days.
Totally agree. Organizing notes into hierarchies is not necessary, most of the time you just care about whether it’s a business note or personal. Chronology is an organization method already available regardless of the note data, and we as humans experience most things rooted in time so it’s easy to recall a rough range as well.

I have also done the dance of going through various productivity tools and have often ended up back in the paper notebook camp. If you are interested in trying another tool out, I’d really love to know what you think of an app I am building. It is meant to be very lightweight with just one screen, and start up really fast, but when logged in, also lets you sync across all devices you have.

It’s available at https://notebrook.app with code ALPHA2020. Everyone is welcome to try. hello@notebrook.com for feedback. I think it’s striking a good balance so far of being extremely lightweight but also let’s you recall when you need.
I still fail to see how it's any different than any other moral disagreement. eg. If I were a evangelical christian, and he supported abortion rights for women, I can claim that he's literally trying to kill babies.
I used to work in the same building as on2 in Clifton Park. You could still make out the company name on the sign next to the main entrance. Many people are amazed to find out that the technology behind a lot of internet video has roots in this area. The building also housed many of the developers for company called Kitware, which are probably best known for cmake.
Indeed. The "should not" in the spec is a big loophole.

https://www.w3.org/Bugs/Public/show_bug.cgi?id=23357

https://medium.com/making-instapaper/bookmarklets-are-dead-d...

https://blog.github.com/2013-04-19-content-security-policy/

https://stackoverflow.com/questions/7607605/does-content-sec...
Learn the Growth Secrets of Top Mobile Brands
If this is not peak tech bubble, then I don't know what it is.
That's a very low resolution picture you're painting. If we squint at that picture, we can see anything we want.

A wide range of people own guns.
Adding a third to the mix: I like easy-hard-easy

Starting with hard tasks, I tend to do a lot of unproductive procrastination (browsing reddit, youtube, HN...) while trying to work myself up to do the difficult thing. But, like you, if I decided to get all the easy tasks out of the way first, I could do that indefinitely. I also tend to do my best work in the morning; by the end of the day I'm too tired to do a good job on a hard problem.

So, I start with one or two easy tasks, to ease myself in to working, then move to the hard ones, then ease off again as my energy fades.
The tail hook grab is actually the method that fighter jets use to land on aircraft carriers. Same with using a rail to launch the plane.
Werder Bremen 0-1 Wolfsburg – BundesLiga – FootballGH – Video Highlights
I'm a pretty driven, productive person by nature, so I don't need advice on how to fight the day like a battle. I do still struggle with getting sucked into devices, but it takes the form of work eating up all my relaxation time.

Maybe I need advice on how to collaborate with the day, so that me and the day can get to know each other, enjoy each other's company, and become more than the sum of our parts.
I think the right attitude towards the manner in which this kind of popular science articles are written today is to see them as (potentially good) stories with some positive content thrown in. (It hasn’t always been like that, and some people still remember what Scientific American and National Geographic were like back in the day.)
May I ask, why are you interested in deep learning? What are you trying to achieve? If you don't have a traditional background in CS, might you not be better served by working to acquire such a background first, before thinking of making any contributions to more advanced sub-fields of CS?

For instance, I'm sure that self-studying some fundamental subjects in CS, like formal languages and automata and complexity theory, will give you important tools to tackle any CS-related problem, be it programming a more efficient deep learning implementation or really, anything else you like.

Spending the same effort to get into deep learning instead, will most likely leave you with only superficial knowledge that will not transfer to other subjects.
When i was a child, MAD had a fake credit card on the back. My dad's office had a laminator. We cut out the fake cards, laminated them, then when we'd go out for a meal, he'd "let me pay"with my American Impress card... So many laughs were had with such a juvenile gimmick...i miss those days!
The really tricky issue also comes up in activism. When is inaction wrong? To one degree or another, we all participate as low-level players in evil systems. At what point should we change our own behavior? At which point are we justified in condemning others?

The line is never going to be well-defined, so the best we can do is approach things in good faith, trying to keep a balance and assuming (almost) everyone else is trying to do the same.
> No. We can fix things one at a time. Master/slave doesn't upset me but it does upset some people. Ok, if they're willing to put in the effort to update the code and all the docs then I'm willing to adopt the new terminology.

I have nothing against change but _context_ matters. When I read about `pty` masters or slaves, I think of pseudo-terminals not humans.
When most of the companies expect you to hit the ground running with every technology they use, I can't really blame them. If companies don't want to train the employees when they start in a new position, they will train themself when they about to leave.
You are kind of ignoring the question - how do you know this? What it sounds like is you observed a statistically insignificant sample and have drawn conclusions from it.
Ask HN: Document lineage and cross-entity graphing
I have the following problem:

I get a lot of documents that are filed throughout the day. The documents are submitted and can be modified and resubmitted. Documents that are submitted are part of a lineage (I file A then I file B (I then file an amended B[B.1] and another amendment [B.1.1] then I file C (where C ultimately references B.1.1 as the "final" prior step in the filing process). End workflow. There may also be file D, then E, then F or G. If F->F2, If G->G2).

Those documents are filed by users and reference other users. Those users also file stuff and can resubmit, etc.

The question I have is:

What are the software design patterns or concepts I should be using for this type of problem? Is this best suited to a graph problem? The document dependency flow seems to be suited to an airflow type solution, but I'm not sure.

Thank you for any guidance. I will happily engage and unpack the problem with anyone who has the time or interest to reply.
Darn, now after 5G, even TCP/IP is attacking us? What is next, morse code?
On the other hand, fuzzing is only as “correct” as your coverage, properties/assertions, corpus synthesis, etc.
It depends on the goal.

Your goal is to learn things, apparently. Memorize what you wrote on the notes.

Zettelkasten's isn't. Its goal is to produce great books and papers.
Many don't believe that the rather unimpressive 'Salvator Mundi' was painted by Leonardo. Nevertheless, it sold for 450 million bucks. His most famous paintings such as the Mona Lisa might bring hundreds of billions if they were on the market. Probably more than what Steve Jobs ever owned. So much for 'shipping products to the consumer market.'
Thats a bit like arguing that poverty is a choice, as anyone able-bodied could teach themselves valuable skills and get a job. And for some people its true.

Maybe Napoleon would always become a leader and a great commander, even if he was born into a tribe of cavemen.

There is a lot of draft dodging in Russia, but the army still gets it's steady stream of conscripts. Most of them dont want to be there.
Probably because of all of the talk about how the riots/protests are more important than covid19. Please keep social distancing and sheltering in place, unless you are rioting/protesting. You can't have it both ways.
i.e. fixed by Federal action, not state/local? You’re making my point for me here.
Cingulata automatically chooses secure parameters using https://github.com/CEA-LIST/CinguParam module.

It's a separate project because our intention is to provide an easier/faster way to chose HE parameters than lwe-estimator. You need to provide only the multiplicative depth (or the circuit describing the computation for example) and CinguParam will automatically generate the code snippet/parameter file for the HE scheme you want.
Also as CinguParam contains a database of HE parameters the actual parameter generation is really faster than using lwe-estimator.
There is a lot of work to be done on this project in order to automatize parameter database update, generate HE parameters more precisely using circuit representation instead of multiplicative depth, take into account HE libraries implementation details (RNS, NTT), etc.
I would classify early web (1.0) as 1993-2003 (pre-AJAX), and modern web (2.0) as 2004-on (post-AJAX). The biggest change since then has been on the backend -- moving from web frameworks in Python/Ruby to Single Page Applications with Javascript backends.
Even if it made sense to consider gun control in the long term, why would it make sense now? Police already struggle with the tasks they've been assigned: "Fight stupid Drug War and don't brutalize innocents? Does not compute!" Why give them another impossible task that would set them at odds with another group of citizens? It might be good for Americans in the long run, because we'd all see our real enemies clearly for the first time. (I.e., now that police are attacking 90% of the nation, who are they not attacking?) However, this is wishful thinking because it assumes TPTB are stupid, which they manifestly are not. Once they have robocops they'll repeal 2A, followed swiftly by every other human right. Until that time, cops have to be recruited somewhere.
I've only had to update it two times to fix bugs with android upgrades,so all in all not too bad.
Google did once randomly pulled my app without warning (just an email after they pulled it) for violating some terms, without stating what terms.
I couldnt get any useful feedback, eventually I just bumped the version number and rewrote the description, that got met back on the store. But it did make me very weary of building anything their platform.
I was going to say the same, that this was peak HN to even dare to make such a comparison. Then I saw the author is a kid just graduated from college in engineering and "entrepreneurship". Hopefully there is plenty of time for him to learn and mature.
A core part of the slippery slope argument is some sort of slippage along the slope, ie, change. I'm not arguing anything will change; I'm saying having an impact on the real world always runs an ethical risk. The slope slipped at the birth of commerce, thousands of years ago.

And what if Monitor contracts John & Jane's IT Startup Helpers to do some work? Are they ethically firewalled in some way that Monitor's IT staff are not? Ethics issues could be resolved by clever corporate structure and contracting out services instead of bringing them in-house.
Current user of Safari as well because of minimal UI and WebKit.

If you are using macOS, Webkit is the most obvious choice because of superior rendering performance, memory usage and energy usage. Chrome/Blink and Firefox/Gecko are not even close (and probably will never be as WebKit is as 'native' on macOS as it can get).

But lack of openness and advanced browser features on Apple's side made me embark on a project to fork WebKit and build WebExtensions API support on top of it (so you can run all Chrome/Firefox extensions on it and get the best of both worlds). We are about half-way through with API coverage. Focusing on macOS first and we have popular extensions like uBlock or Grammarly running already. We also have an iOS prototype running some FF/Chrome extensions.
Ask HN: How do you avoid cherry-picking data?
With all the data-powered hot takes on Covid, racism, police violence, government spending, etc., how does someone avoid cherry-picking data in order to support their own or their in-group’s bias?

Is this possible?
That was a big reason, but I think another key choice was that the output format (HTML) and the input format (PHP) could be pretty close. If you were 15 and wanting to make a dynamic webpage, you'd look at an existing web page, copy it, and change one bit. PHP made that easy. The next change and the change after that were easy too.

In contrast, competing technologies started out with, "OK, learn computer science. Now learn how HTTP works. And then learn CGI. And some Unix. And then you can do 'Hello, World.'"

The funny part for me is that a lot of us in the latter camp didn't learn computers that way at all. We started out with BASIC:

10 PRINT "Onion2K is cool!"
20 GOTO 10

It had the same immediacy as PHP. The ease of making something happen was what drew us in. But somehow we forgot that. While also saying, "Here's something that will touch everybody on the planet. Let's all use it!"
That describes most "news" and social media.. crybullies, pseudo-thin-skin, and the biggest shouters of trivialities... because outrage is the most valuable currency of virality.

There are legitimate causes and actual harm that the SJWs ignore and denigrate through pettiness and demands of arbitrary, baseless conformity.

As the SJWs take over, language itself will be destroyed and arbitrarily reshaped to compel everyone to practice their sanitization and control of every possible expression of thought.
a) has Hacker News/YC ever seen a startup fail because the codebase is so bad.

Yes, I've been seen this happening on some projects that I joined. The most hilarious story I've is when a funded startup spent 12 months with a team of 5 and the app would crash with a single user with little usage. I managed to rewrite a functional prototype/v3 in 3 months that worked much better. Others were so costly to refactor and got shutdown.

More often that not, it is all about the specification and company culture that creates this chaotic outcome.

b) what is the best calculation to make when trading off code quality vs features?

This one, personally, I like to put the responsability on the dev team.
Not having an exact spec is far from ideal but the dev team should work with the business team to create a good enough first version. If the code is garbage, you've to question the development team, period. If you take nano refactors (around 20 minutes) every day before you push your code and follow the community guidelines for the stack you're using, technical debt won't become a problem in the first stage.

When you're asking this question you need to ask: Why has the dev team wrote code that lead to this situation? Do we have PR reviews? Coding conventions?

c) do most YC startups write tests and try to write cleanish code in V1 or does none of this matter?

I don't know about YC startups but I can tell you that I'm yet to know a company that has, at least, 50% code coverage. Any time I mentioned writing tests, the other side looked at it as an unnecessary expense. Personally, I believe it is up to the dev team to identify key code components and write the tests. If you've a function that keeps breaking all the time, that is a great candidate for unit testing.

It is possible to write clean code on V1, this is what I do today. I've faced so many situation where I didn't and it ended up always costing me more time and working too many hours. I would rather to delay the release of v1 and having something stable than trying to please the business team at all costs.

Believe it or not, the business team don't give a f* about your codebase. Many times I reported security vulnerabilities and they thought I was creating problems lol. I've seen devs not reporting bugs because of the company culture.

As a developer, do your best and always keep learning and growing. If you do this, you'll produce better codebases naturally.

Negotiating with the business team is also key to have a sucessful release.
a. No but it has slowed down time to market.

b. It's all about extracting the max value out of your dev time. Will refactoring / improving code quality mean that future features get delivered quicker?

c. Most POC don't have tests from my experience. They are usually added later.
I don't think it's so straight forward. Take Germany for example. During the Weimar Republic the professional army was strongly involved in the dismantling of democracy leading to the 3rd Reich. It's been largely been attributed to the fact that they were quite disconnected from the Republic with their loyalties to their leaders not the republic (typically it's called they were a state inside the state) . Germany deliberately decided on having mandatory military service because of these experiences. The argument being if the army is composed of the people, its very difficult to use them against the people.
I assume AWS will start using graviton for their S3, EBS, ELB etc services aggressively?
I was using the "Remote Sticky" bookmarklet in Chrome for 1-2 years now but when I moved to Firefox I switched to an add-on which does it: https://addons.mozilla.org/en-CA/firefox/addon/kill-sticky/

The benefit of using the add-on in Firefox is it a keyboard shortcut (that you can customize). So now instead of having to find+click a bookmarklet, I just hit cmd+shift+k on most sites I visit.
I guess on a production you have a finite set of 'jobs', easy or otherwise, in the shots that you have on your list.

In my work there is an infinite number of easy but still reasonably productive things I could do.
I don't understand Portuguese, but all the charts are at 0 now. That can't be right.
Exactly! The word genius has lost its real meaning.
I also wrote about a few I find useful, biggest one is 'Sane Color', it changes the text to be black on white. (Some sites have very hard to read colors, and sometimes I prefer light mode over dark)
https://loftie.com/post/3-useful-bookmarklets-i-use-almost-d...
Things are looking pretty grim. The president insists on downplaying the disease and keep making appearances on anti-democratic rallies -- against recommendations from his own health ministry, mind you. Many brazillians have somewhat nostalgic feelings towards the military dictatorship and I feel like that has gotten worse. Everything is just highly polarized and the pandemic is discussed mostly in terms of politics. Maybe that's just the bubble I'm in but I can't help the feeling that the worst is yet to come.
I have some trouble understaing the value of such an effort. It feels like you'd spend far more time organizing knowledge than cultivating new knowledge - a waste. Add to that maintenance on old docs.. Why do this?
IIRC It was done to make the site more accessible to a wider audience, specifically on mobile devices.
I read the post and appreciate the perspective but disagree so strongly with this that cannot pass without leaving a comment.

Claiming da Vinci is overrated to Jobs because Jobs shipped more is on the same bar as saying Beethoven is overrated because his music is not suitable for a disco club and is less profitable.
By putting a burden on people who know something is “morally questionable,” you are discouraging people from taking actions which might reveal such knowledge to them. In the hypothetical you posted, the manager is not in a position to avoid this knowledge.

By your logic, an activist that knows about the conditions inside the plant is also responsible for the safety of the workers, and no action other than successfully protecting the workers will satisfy that responsibility. In this framework, it’s better for an outsider to actively avoid learning about the working conditions because it might impose a duty that’s impossible to fulfill.
The Private Eye magazine has had a rule for 50+ years - Journalism in the morning, Jokes in the afternoon.

Admittedly this was to corral a bunch of hard-drinking journos, but the time-boxed idea does have merit.
> Almost every startup I know of that failed, failed because of business reasons, not tech.

My experience is that business promised novel products to investors and customers, but engineers could not deliver any miracles with the time and resources available.

Is that a failure of business or tech?

Well, I have seen others were there was just no market for the product. Like some paid service on the web when users expect it to be free of charge. I guess this qualifies as business failure.