skysight-inc/HackerNews huggingface dataset:
This reminds me of Simon Peyton-Jones's (of Haskell fame) seminars on How to Write a Great Research Paper: https://www.microsoft.com/en-us/research/academic-program/wr...

There are multiple slightly different versions of the seminar (another is linked below that one), but unfortunately they all came out after I'd finished my PhD, and I didn't hear that advice from anyone else.

The process I arrived at after losing time on failed projects was basically "fail fast": find the simplest quickest way to demonstrate that your idea won't work, and do that. Then find the next simplest, and so on, until either it works or you've proven it doesn't and moved on.
Quite frankly, this is bigger than the server vs client comments I've seen. This is not some new phenomenon. The efficiency of code and architecrure has declined over time for at least the last 30 years. As compute and storage costs have come down dramatically, the demand for labor has gone up. Who decides what's really important in a project - the business. That comes down to cost. If you can save money by using cheap hardware and cheap architecture, then save money by using your human resources for output vs efficient code...
That's kind of the point of his channel (and Bosnian Bill's too).

You pick a lock based on your risk tolerance and security needs. Not all locks will stop a determined attacker - and not all assets need "nuclear code" type security either.

For the casual passer-by, a locked bicycle is usually enough to deter theft.
Awesome product. Seems like I could use this.
In my travels to about 8~9 cities in China, I don't recall seeing anything that was dirtier than, say, Amsterdam or New York or Busan. Not having lived in Medieval Europe, I can't say exactly how dirty it was, but saying China is that dirty seems like an exaggeration.
>but that the society that rebuilt might find it impossible to get out of the stone age; much less through an industrial revolution

I don't disagree, necessarily, but I would be fascinated to know if there are any books or articles that game out this scenario in detail. What would industrialization without massive reserves of hydrocarbons look like?
Prostitution? Drugs?

Oh, I'm guessing you mean legally. Didn't see that in the requirement specs though.
No, the mother was trying to comfort her child, who was in agony.
The larger problem is that the web was never meant to be used the way we use it. We should be making cross-platform apps that use simple data feeds from remote sources
ROI might say a developer should build a different product instead of speeding up the old one. Or perhaps it’s better to get 200 less satisfied customers than make the 100 existing ones more satisfied. That can be done by using the resources for marketing, features, SEO. In the end, when you are optimizing there is always something you are not doing with that time.

Whether hundreds of users value the time they gain by not waiting for page loads isn’t relevant either unless it actually converts to more sales (or some other tangible metric like growth).
Heh, I bet the seller was happy to get out of that.
In this case, the idea is to make it easier to debug by looking at it. If you work in 3D graphics, usually looking at euler angles (ie, rotation around x,y,z) is pretty intuitive, but it has a lot of issues with gimbal lock, order the rotations happen in, etc. Quaternion's fix that, but they're very unintuitive to look at (well, unless there's another tricky like this I'm unaware off -- I'm sure there is). On the other hand, this trick with the rotation matrix lets me represent an arbitrary rotation, but it's also pretty easy to take that representation back to something I can understand.

In 3d graphics (or physics or what have you) you're constantly moving between coordinate systems/frames of reference because certain things are very easy to represent in a local coordinate system but are difficult to work with in a global one
There are still sites with very simple HTML/JS/CSS, and they load so fast it's almost like magic.
So you're saying he can have big dinners at the local Golden Corral every time he wants?
But if something is passed by value, the caller should never care whether the callee mutates its (shallow) copy. It's purely an unobervable implementation detail of the function.
You found someone willing to pay for developers who can get better performance out of a site? Must be FAANG?
Ask HN: Did you go back and get a CS degree? Where? Was it worth it?
I am a "self taught" software developer with five years of professional experience.

My first job was a "support engineer" that just required rudimentary development knowledge and I've worked up from there to become in title a "software engineer".

I struggle to call myself an "engineer" because of the lack of a degree, and recently I feel that it's been a barrier to finding a new job.

I've been considering getting a degree (I dropped out of college) but with my family and work, it would need to be online. Naturally this is also leading me to need to clearly define what I want to get out of the degree and maybe if that's even what I want to study.

So in short, did you go back and get a CS degree? And if so, where and was it worth it?
Yes, its basically a shortcut when I am doing a quick first scan through resumes. The moment I see one of those keywords I will flag it for 2nd pass review and move on.
"With server-side (or just static HTML if possible), there is so much potential to amaze your users with performance."

Actually I am amazing my users with C++ data servers and all rendering done by JS in the browsers. What I do not do is hooking up those monstrous framework. My client side is pure JS. It is small and response feels instant.
I'm talking about the same thing. For example, it's illegal for the NSA or CIA to harvest emails between American citizens. But it's not illegal for the UK to do so, and it's already understood how they did it in the past to Google users by tapping inter-datacenter connections (https://www.washingtonpost.com/world/national-security/nsa-i...), then feeding that data back to the NSA as a FiveEyes partner.
I can imagine two priority devices for them to feature from the start:

- A super-lightweight 12" Macbook-like device that lets them demonstrate how Apple Silicon opens up new categories and form factors: small, powerful and amazing battery life

- A developer machine (MBP or similar) will be necessary. There are precious few DTKs out there, and they need more developers to be running Apple Silicon. I can't imagine them not shipping this in the first wave.
This is insane. The home page is super clear and the product itself is very slick to use. Good job on defining the right vision on the product and prioritizing the exact set of features to launch with to solve the specific niche problem space (podcast/video promotors on instagram). You seem to have a good handle on feature creep.
Change my view - Half the design patterns are due to Static Typing &...
WARNING PERSONAL OPINION COMING THROUGH!!!!

... Single inheritance

Imagine you are hired in a company but they have this rule that nobody can walk more than 3 steps in one direction so you have to rotate 90 degrees, also you can't cross the path you have travelled already. Now everyone comes up with contrived and ridiculous strategies to get to the restroom, cafetaria, and kitchen. That's what design patterns are, at least lot of them.

They are simply strategies to mitigate the limitations of Static typing. For example Factory Pattern, Facade, Decorator, Adapter, ...

Now definitely not the case for ALL design patterns but I do think many are. It's kinda sad when you entire program is simply a fight against types.

Coming from Ruby and Javascript land this seems very stupid.

I don't need to make 10 abstract classes, 10 interfaces and overload, underload, sideload (lol) same functions.

The main pain point seem to be you have only one chain of inheritance.

What we do these days for JS seems to be the simplest solution. Import whatever functionality you need, run the function, and be done with it. No point in defining entire world in terms of single inheritance. Simply compose what you need.

It's my opinion OOP with Static typing results in very contrived code that is half solving the technical problem and half fighting its limitations. Oh but that autocomplete.

I used typescript. I didn't care much for abstract blabalba. But I really liked being able to define input and output in strict terms. Which is like JS docs but more enforced. VScode works great with it.
Wordpress is not static at all. It support commenting and loads comments by default, it shows related articles dynamically depending on categories and views, it displays different content to different viistors, resize and compress pictures on the fly, etc... and a thousand more things if you are a logged in user, it really is dynamic.

It's actually pretty good considering what it does (if you don't setup a ton of plugins and no ads). There can be 50 requests per page but that's because of all the pictures and thumbnails. The page can render and be interactive almost immediately, pictures load later.
That's a good idea.

Although, I'm inclined to say if you're giving your house key to someone you don't completely trust, you should maybe seek an alternate candidate.

Then again, "trust, but verify" is indeed a real thing. Your system provides the verification part.
==the "basic 5" domestication-friendly animals==

Can you expand on what you mean by this? I’m not finding much through search.
Hi, do you have a LinkedIn or something you could share? My email is also in my profile :)
Is this a preview of things to come for Mac/Windows? Will 1Password stop supporting self-hosted vaults?
It made sense on the original 5k because display port at the time didn’t support enough bandwidth for 5k output.
Samsung Galaxy Note 20 Ultra has almost every feature leaked in new AT&T video
Also worth noting that Lebanon took on more Syrian refugees per capita than any other country -- I remember reading that it was something like 2 refugees for every 5 residents.
I use 1PW professionally, with our whole company having shared vaults for different departments and security levels, as well as at home, so my wife and I can share some credentials. Absolutely love it. I’m spending more and more time working from Ubuntu so I’m very happy to see this, it should make things just a bit easier.
Despite all that, their ads are straight up garbage. Either that or I'm very hard to target. I swear Twitter and Facebook must display random ads to me. I'm often having to mark it as never show this again because it's so way off from my interests.
sql injection? escape all inputs, lol.

go on though, I'm curious.

I was thinking "this person repeated the same comment 10 times" works as well as "they mentioned pudding and i hate pudding"... The bar to click down-arrow instead of up-arrow is lower than limbo-ing under a park bench ATM, that's all...one could inadvertently do it. One could go on a spree just downvoting every comment ever. "Just you try to stop me!" etc.
Hi I'm Keyan I made Choremate.

According to the 2018 Census, 37% of American adults live in shared housing. With the recent pandemic shared housing will likely continue to increase.

Living in shared housing is hard, because as most of us know from economics sharing a commons is tragic. I've been living in shared housing since college. Aside from privacy issues, the biggest problem for me in shared housing is distributing cleaning and maintenance in a fair way. Choremate aims to solve the Tragedy of the Commons using research done by Elinor Olstrom and in the form of a chore chart.

I've written in depth about Choremate and the application of Elinor Olstrom's work here: https://keyankousha.com/the-best-chore-chart-in-the-world.ht...

If you live in shared housing, check us out! We have a demo https://choremate.co/demo
Participants in the Alexa Prize Grand Challenge 3 approached the competition
I am surprised to not see a product reason.

There is one.

Engagement falls off when there is a delay in experience past a certain point. Usually considered around 100ms to 150ms with extreme drop off at a second or higher. This has to go with human perception and can be measured through a/b analysis and similar.

Engagement does not get better if you go faster past that point. Past that point, you should have a richer experience, more things on the page, whatever you want. or reduce cost by spending less on engineering, certainly don't spend more money on a 'feature' (speed) that doesn't return money.

Ad networks are run on deadline scheduling. Find the best ad in 50 Ms, don't find any old ad as quick as possible.

Haven't others been involved with engagement analysis found the same?
Awesome demo! It's really intuitive to use.
Any modern JS Framework gets compiled to vanilla JS. That‘s exactly the problem: Because Browsers don‘t implement ES6+ Syntax natively, it has to get compiled to complicated, long winded ES5 or filled by heavy polyfills. If browsers were all spec compliant, code bundles would be way smaller.
I'm not sure I've ever seen a case where I have a data set that's small enough to be quickly searchable (and quickly re-renderable) using client-side JS but big enough that I need dedicated and app-like sort, search, or query functionality. And where such a set of data to exist, that data set would almost certainly be _growing_ with time, meaning even if it started out as something where I can have snappy JS search, as time passes the JS search grows heavier and slower through time.

Additionally, when it comes to client-side spreadsheets I have seen far more terrible half client-side, half server-side implementations (being only able to sort within a page, instead of across all pages of results). If I had to choose one, I'd choose a world were all we had were server side spreadsheets.
There was no investigation. That would have been the Senate's job, and the majority chose to abrogate their responsibility.
This is pretty neat. I’ve always thought Redis was a good way (and arguably a better one) to get to grips with network code in a new language/runtime.

I did it for asyncio, Go, Clojure and a few other things.
An Introduction to Software Design Patterns
> having an integrated camera that is absolutely awful completely defeats the point of having that there in the first place

This is a ridiculous statement considering the camera we're talking about is 720p. The current camera is indeed better than "no integrated camera at all" and is perfectly fine for video calls with your family, or even for work, since you're probably sharing your screen and your coworkers don't need to see every pore on your face.
And it does not scale to a business application that needs to be deployed independently of target systems across the world.
I love it. It's funny because I think I spent way too much time on this relative to the advice I was getting.

If I didn't have great people in my life then I would be stuck on a never ending feature rabbit hole.

When I start my next company I plan to have more balance between MVP, user interviews, pre sales, business metrics, market research, etc.

This venture was purely intuition and a major desire to build this :)

The great thing is I love building this product.
I think it's more likely this: calculating the cost of giving an employee a raise is very simple. Calculating the cost of finding a new employee is extremely variable (how long does it take and how many people are involved?) and also involves metrics that are very hard to measure (how much more would the team lead and the team members have gotten done that week if they weren't interviewing candidates?)

Usually if you're debating management, especially non-technical management, solid numbers win out over hand waivey numbers, even if the hand waivey numbers are representing something far more important and the solid numbers are representing something in a very limited context.

An example: Tom is a mediocre programmer, but he's worked for the company for 5 years and has a lot of institutional knowledge. He wants an above average salary now. Should we give it to him? The obvious answer would be to let him walk, he's asking for more than he's really worth. Ok, but how much does the equation change if we factor in that it's going to take 3-5 months to hire his replacement, and you'll need to interview about 20 candidates, some of them for multiple hours, not to mention potentially flying them out? Also now Tom is walking with his institutional knowledge, and the bugs that used to go to him are going to someone that doesn't have the 5 years working with the system he does, so whoever has to pick up his slack is going to be slower than Tom is even if they're a better programmer overall.
> Awareness of social context is going to be the next killer app.

Hahaha, ironic that this is something most developers capable of these kinds of programming can't handle IRL
Everything can be done poorly. The problem with wordpress is it allows a plethora of plugins and hooks that allow for lego-style webapp construction. This is not going to result in cohesive, performant experiences.

If you purpose build a server-side application to replace the functionality of any specific wordpress site in something like C#/Go/Rust, you will probably find that it performs substantially better in every way.

This is more of a testament to the value of custom software vs low/no-code software than it is to the deficits or benefits of any specific architectural ideology.
This type of anti-big-js comment does great on Hacker News and sounds good, but my personal experience has always been very different. Every large server-rendered app I've worked on ends up devolving to a mess of quickly thrown together js/jquery animations, validations, XHR requests, etc. that is a big pain to work on. You're often doing things like adding the same functionality twice, once on the server view and once for the manipulated resulting page in js. Every bit of interactivity/ reactivity that product wants to add to the page feels like a weird hack that doesn't quite belong there, polluting the simple, declarative model that your views started off as. None of your JS is unit tested, sometimes not even linted properly because it's mixed into the templates all over the place. The performance still isn't a given either, your rendering times can still get out of hand and you end up having to do things like caching partially rendered page fragments.

The more modern style of heavier client-side js apps lets you use software development best practices to structure, reuse, and test your code in ways that are more readable and intuitive. You're still of course free to mangle it into confusing spaghetti code, but the basic structure often just feels like a better fit for the domain if you have even a moderate amount of interactivity on the page(s). As the team and codebase grows the structure starts to pay off even more in the extensibility it gives you.

There can be more overhead as a trade-off, but for the majority of users these pages can still be quite usable even if they are burning more cycles on the users' CPUs, so the trade-offs are often deemed to be worth it. But over time the overhead is also lessening as e.g. the default behavior of bundlers is getting smarter and tooling is improving generally. You can even write your app as js components and then server-side render it if needed, so there's no need to go back to rails or php even if a blazing fast time to render the page is a priority.
Interesting machine. But no way would I buy this now. It will be obsolete in 2 years.
Stord | Fullstack Application Architect, Senior Fullstack Engineers, Engineering Manager
https://boards.greenhouse.io/stord13 (use Engineering Manager or 'Future Engineer' links, I review them both )

https://stord.com | Stord is creating a digital supply chain for omni-channel brands.

Tech stack includes: Elixir/Phoenix, React, Typescript, Docker, K8s, Istio, Cloud SQL (Postgres), GCP

Location: Atlanta, GA
Full Time / Remote or Atlanta, GA
Yes sorry! I meant architecture as in designing buildings (very new to Hacker News). Thanks for your response.
Here's a better set of charts, using the `npm-stats` site:

https://npm-stat.com/charts.html?package=jshint&package=esli...
I assume the downvotes are for tone, but this is materially correct. It is proprietary, paid, and stores your data (encrypted, but that only solves some things) on remote servers, the last point being something that's associated more with newer apps.
Lebanon has its share of enemies, internal and external. All it would take is a mavic inspire drone to fly over and drop the initial explosive.

Trump said "it looks like a terrible attack" at his news conference. Which is probably what his intelligence officers/advisors speculated when they briefed him.
Buildings! Really sorry, should have been more specific
Thanks for catching that. Hot keys have been a pain. I also found an issue with copy pasting inside text boxes.

I promised myself and my startup friends I wouldn't touch code until I handled doing marketing and sales.

It's on the backlog now, thanks for letting me know. This feedback goes along way :)
It is not supported by Safari, too.
> Not going to rewrite code I have already written, debugged and shipped.

I wouldn't, either. At least unless you want a WASM/AltiVec/etc. version. But if you already have good implementations SIMDe probably won't help.

OTOH, if all you have is a x86 implementation and a portable fallback, the SIMDe version of the x86 implementation will probably be faster than your portable version. That's what happened with MMseqs2 (<https://github.com/soedinglab/MMseqs2>).

> Don’t forget about MXCSR register in that suite

Yeah, rounding is definitely PITA. It's actually something I completely screwed up on in the beginning of the project and had to go back and correct :(. We do have some tests now which fiddle with the rounding mode to verify correctness, but could definitely use more, and obviously we can't always set a dedicated register to control behavior, so on some platforms `_mm_getcsr`/`_mm_setcsr`/`_MM_GET_ROUNDING_MODE`/`_MM_SET_ROUNDING_MODE` becomes `fegetround`/`fesetround`, which probably won't be a problem but still makes me uncomfortable.

The other area where we could really use more tests is replicating behavior for NaNs. By default we try to replicate the behavior of the function we're trying to emulate, but we currently only test NaN handling on a few functions :(. If you use -ffast-math or -ffinite-math-only we disable that code (compilers define __FINITE_MATH_ONLY__), though, and just use the fastest implementation we can.
private API != available API

(Will not reply to this thread further as it appears you aren’t debating in good faith)
Seriously, this is great to see. I've been using LastPass for a while but have been unhappy with it. If 1Password is taking Linux support seriously, I'll definitely switch.
Courage of Convictions: Interview with Jascha Kaykas-Wolff-Wolff
The Dutch apparently think that some of the rules other countries use are unnecessary. Here are the Dutch rules:

"Dutch measures against coronavirus: basic rules for everyone":

https://www.government.nl/topics/coronavirus-covid-19/tackli...

"Dutch government will not advise public to wear masks - minister":

https://www.reuters.com/article/us-health-coronavirus-nether...
... I wish I'd thought of booting into my Windows partition and installing 1password there, instead of spending an evening writing up an extremely overwrought export script on top of the commandline client.
Yeah, it was very cool to not only get straight to the top at three in the morning but to also see immediate action. We were in Cupertino the very next week, took a few road cases full of test equipment and hardware, setup in one of the conference rooms and had a bunch of great conversations with a range of engineers and non-engineers as well. Good memories of a different era for Apple. Once the iPhone took off priorities changed.