skysight-inc/HackerNews huggingface dataset:
> Just the main JS parser file [0] is 12k lines

While that is impressive, I think this is also an indication of a problem: the grammar is becoming unwieldy. For example, even for someone as prolific as Evan, he must decide between feature depth (e.g. bundle splitting) and feature breadth (e.g. implementing the equivalent to @babel/preset-flow, which is used by both flow and hegel[0] type systems)[1]

Esbuild supporting Typescript and JSX is undoubtedly a byproduct of these grammar extensions having become popular. But supporting extra grammar extensions does add to complexity, sometimes in non-trivial ways. In Typescript, for example, you can import types using runtime import syntax, making it ambiguous whether running side-effects from a library is intentional or not. This gets problematic once you consider treeshaking and not-really-standard things like conditional resolution via package.json's `browser` field.

It gets even more fun when you realize that module resolution isn't even specified, meaning that as far as a bundler is concerned, something like `import 'lodash'` means completely different things for a browser vs a project installed via npm vs one installed via yarn v2...

[0] https://hegel.js.org/

[1] https://github.com/evanw/esbuild/issues/79
keepass2android supports autofill across apps and is something of of a lifesaver for me, but I can't speak for iOS apps
It must be easy for SQLite developers to apply for jobs. Let me into your company, you've already let me into your home, your office, your data center, and your pocket.
Have You Ever Heard of a Mechanical Battery?
Not GP, but the traditional kanban way is for the doer to move it to the next column. The reviewer can then move it back if they’re not satisfied.

Kanban has branched into so many different directions from the original, since people feel inspired to create their own boards. The double column approach may have its own advantages. What bothers me is when tools layer on more functionality that interfere with the basic act of moving items between columns. The last iteration of Microsoft’s kanban tool wanted you to set status by right clicking and coloring. By clicking done the task would vanish from the board. In their conception of kanban the columns were only for categorization and not for a process.
Volatile Organic Compound(s)

https://en.wikipedia.org/wiki/Volatile_organic_compound
For us, the issue wasn’t a technical one. It was a human one. Our lawyers said we had to appoint a “Data Protection Officer” who’s job it is to respond to requests from EU persons to delete their data. We were a small company and everyone had enough on their plate as it was. Adding more work to keep <1% of revenue wasn’t worth it.
It makes sense considering Apple is all about diminishing physical technology (iMac: the screen is the computer). AirPods, Watch or something else as tiny or completely invisible will be the next platform, once they solve the performance and UI problem, which they will.
Staff actually may be a different level depending on company you’re looking at. There may not be one standard definition (though there may be generally agreed upon responsibility). See IBM for example, Staff is the second level: https://www.levels.fyi/?compare=IBM,Google,Facebook&track=So...

Also this post may be helpful: https://www.levels.fyi/blog/what-are-career-levels-ladders.h...

For some rough scope and responsibility at each standard level, click on the cells here to get an idea: https://levels.fyi/standard/
It's very high on my priority list. I want my employees to want to use a password manager because it's so convenient. A less perfect system that actually gets used adds more security than a more perfect system that no one likes.
This is exactly the topic of a book written about the issue, called "De Lönsamma" (the profitable). Two people from the world of education doing deep dives into the budgets of many municipalities also show infuriatingly poor judgement when allowing a new independent school to establish, with loads of subsidies and taxcuts.

"En bok om varför skolor slåss om elever, och om hur vinster i välfärden bara är en liten del av den diskussion vi behöver ha."

(A book about why schools fight over students, and how profits in public service is only a small part of the discussion we need to have.)

https://tankesmedjanbalans.se/
Yes, in a single-family zoned, suburban community. The proposal was to add more people there, presumably without also adding a 24x7 subway system. It would be immensely unfair to the people who purchased homes with the expectation that plenty of free parking would always be available.

Also, not that it matters for the fairness issue, I disagree that those other transportation modes are more efficient. They are definitely not acceptable alternatives.
> I would say the primary motivators at this point have shifted from browser compatibility to syntaxes like TypeScript and JSX that will (likely) never be supported natively

I suggest using a single-pass transpiler like Surcase[0] that doesn't translate to IE11-compatible syntax, and just loops through the string once, avoiding generating an AST– making it much faster– removing TypeScript annotations and desugaring JSX.

If you additionally need to support IE11, you can use a development build with Surcase and a production build with a bundler like Snowpack. C/C++ developers have been doing things like this for ages: compiling files as objects during development, and compiling them into one big binary for production.

[0]: https://github.com/alangpierce/sucrase
Do you know not do any scrum or project management?
Show HN: On-Topic Chat
Esbuild does have a JS transform API, so you could write a command line tool that walks the file system (Babel, ESLint, Prettier, etc. all do this so you have examples), transforms each file, and writes the code back out. Snowpack's build command also does this.
A few years ago I found occasion to rent a car. The clerk noted I was lucky - it had only 400 miles. I thought that was great until I remembered what it meant. The car smelled strongly like glues, and unfortunately the windows were designed in a way that I couldn't get air blowing on my face.

I was doing a run about an hour away to Los Alamos. While driving, I started feeling tense in the face. My arms were stiffening and my mouth going into a circular shape. I felt strange like I was going to pass out. I was so concerned that if I went home I might be calling an ambulance. Luckily there was a fire station . I couldn't figure out how to ring their doorbell and collapsed in the front.

The EMTs there came out, stuck me in an ambulance and took me to the ER, where the doctors couldn't find anything wrong besides a low potassium level. I'm still wondering what happened exactly.

I have some sort of sensitivity to all sorts of fragrances, especially synthetic, probably related to my immune/autoimmune diseases. It's extremely uncomfortable for me to be near air freshener, dryer sheets, laundry detergent, cologne, perfume, shampoo, hairspray, and other scented products. The fragrance industry has been hard at work expanding fragrance into new products as well, like garbage bags. Prior to the ER incident above I had been weakened by digestive problems (apparently the aftermath of celiac/precursor of type 1 diabetes) and weighed 8% under a healthy minimum weight, so I can't surmise it was 100% the car fumes.
Don't you need more states, or an invalid state state to account for bounces?
I want to develop a habit for looking at my code through the lens of time complexity.

What are some resources (articles, public knowledge bases, books, courses, etc.) that could make one more fluent in this matter? Something that could help build up time complexity intuition and learn to assess it faster.
Or just continuously poll input pins and compare with scratch register. When anything changes, execute check logic. Probably best one is just waiting on pin changes and sending them to main processor for handling. I have multiple quadrature decoder in plans, but nothing started yet and this is approach I will be taking if no one makes anything better until then. When you check 16 pins for changes, you can easily handle 8 decoders with just one PIO state machine and some cunning decoding logic. I wouldn't be surprised, if someone implements quadrature decoding with hardware interpolator. It's one nice piece of hardware. You can do single cycle 2d texture mapping or rotozooming with that thing.
This happened to me in the United States. I responded to a message, they listed out ~10 companies that were hiring rapidly, I said I wanted to update my resume since I had some other experience that were relevant to some of those firms, and the recruiter said they already sent out an export from LinkedIn.

7 out of the 10 firms rejected the submission by the recruiter. That was the last time I ever responded to a LinkedIn message.
Anecdotal but I once had a recruiter submit my resume to a job through the company I was currently contracting with. It was an awkward conversation when the recruiting director sat me down and asked why my resume was being submitted by another recruiter.
There's nothing, not even close and it's obviously a problem.

The reason a lot of this antagonism exists is because the EU is not able to compete in a lot of these areas.

While there's a lot of good impetus is privacy legislation, there should be 10x more effort into gearing themselves to be more competitive.

Edit: Europe's inability to materially face this problem is by far the #1 issue. There definitely is an acceptance, on some level, behind closed doors certainly there is discussion and some action, but much more energy seems to be devoted to punishing foreign, successful companies.

It's a bad position to be in to try to legislate foreign behemoths than to have your own, and be worried about how foreign nations may be regulating your own behemoths.

Edit 2: I've made a similar comment a few times and it's guaranteed to be down-voted (again, that's fine, I don't mind it's not a personal issue I have no problem with votes) - but assuming that this is more than likely Europeans down-voting as a rough measure of disagreement, it's really quite a disturbing sentiment that at least popularly, there's difficulty in accepting the obvious lack of competitiveness in these areas. This is why I say it's the #1 challenge - until there is acceptance, there will no progress.
> a far more sophisticated threat than China is

I'd say Russia is bolder and will take more risks than China, but China - technologically - is quite likely much further ahead than Russia. The resources ($$$ and PhD) at China's disposal are magnitudes larger than Russia - and perhaps greater than the US (in effective spent<->result).
I usually keep a separate email for these critical things. That is why I have 4 GMail accounts.
Not entirely. Types let me know whenever I try to connect a water pipe to the electricity. Or when I forget to wire up the grounding.

What it can't tell me is that the lights go on when I flip the switch.
If you were sneaking chips into boards and wanted to know if you were caught, what classes of information would you find useful?

What classes of information wouldn't be immediately useful, but would be useful in aggregate?
this is amazing! good work
Managing Hierarchical Data in MySQL (2010)
Setting the right (regex) boundaries is important
From my understanding, some types of exposure promote allergy while other types of exposure prevent it.
It doesn't enquire into anything technically, directly misquotes people (Bill Gates at one point says a disk drive has "too low latency"), ignores his wife, and seems to be really invested in embarrassing his kids. One of his sons Reed is quoted like three times and every time he's making a dick joke.
A few years ago a recruiter called me up enthusiastically and earnestly said, <name of my co-founder af a company I sold> personally asked me to reach out to you immediately for an urgent lead devops position we have open?”

I said, “oh wow, that’s great! Just hold on one second to put on my headphones”. I used that pause to bridge in my former co-founder and say “hey, I have Captain Recruiter in the phone here and he says you want to hire me. Why didn’t you tell me this on our hike yesterday?”

My good friend and business partner fired him on that call. My friend, he is an excellent judge of character and trusted this guy a lot. “captain recruiter” had a great reputation in the SF tech scene, he was also a sociopathic liar.

I have been contacted by about 5,000 recruiters in the past 25 years. 3 of them found me job. 2 of them I referred successful candidates to. The rest ranged from incompetent kids working from IT sweat shops in India, to millionaire sociopaths.

One recruiter asked me out on a date on OkCupid just to pitch me for a job with Dropbox.

Headhunters are scum.

(Edited for typos)
My biggest problem with Keepass is that the integrations aren't part of the core project. Want browser integration? Great, pick one (or more depending on browser choices) of multiple projects from pseudonymous/anonymous people, install it and give it access to your password store. Want mobile? Do the same.

Last time I looked at it the very nature of the Keepass ecosystem basically meant that you had a ton of different people with commit privileges to different areas, and no real reason to trust any of them.
> We have inflation at 17% but CBN ordered banks to fix interest rate at around 1%

I would‘ve thought it’s prudent to keep interest low in such a scenario, because it stimulates investments.
I absolutely agree that this would be non-trivial and a lot of magic is required to make it happen. But it would need to be done only once, after that it can be shared to all the users, a little bit like a GPU firmware/driver.

I am just surprised that this is not more widespread among major players as a way to reduce costs and increase flexibility. Though I'm pretty sure I'm overlooking the core of the issue here haha
There are a lot of such.

When Larry Wall wrote the map operation for Perl, he just took the grep operation, added the function call, and added a resize if it was needed. The result is that the common "turn a list into a hash with map" operation was quadratic because it did the resize on every input element. I fixed that. I later noticed that unshift did the same thing for a different reason and fixed that. And then I looked at Ruby's source code and saw all the same performance mistakes.

Exactly as the blog says, n^2 is fast enough to make it into production and slow enough to fall over once there. We focus on making it right, and only return to making it fast when there is need. And most of the time the cause is a hidden n^2 that we never thought about.
Supersonic VTOL electric jet analysis in Python
I don't think regulations are holding people back.

Low salaries, yes, but that's a failure of leadership, but also a systematic problem of companies inability to make tons of money.

It's a long laundry list and it can't be boiled down just to a few things, they are so intertwined it's hard to separate the issues.
30 year old anecdote:

Lo, many years ago, I was working for a small company as their one and only technical author. I decided to leave (something to do with a 50% pay rise to go work for a much larger company that wasn't obviously circling the drain and due to go bust within 3 months). I gave notice, and as my then-employer had no HR policy and no HR department (it was management by autocratic whim: one boss and about twelve technical staff) he asked me to hang around long enough to draft a job description and tidy up some loose ends.

So: job description for technical author duly drafted and sent to recruitment agencies. Whereupon we got CVs back by fax. Wildly inappropriate CVs.

I remember one perplexed phone call that I ended after the recruiter at the other end of the line said, "technical author, technical support engineer -- what's the difference?"

So yeah, watch the quality of your recruiters! (Whichever side of the table you're on.)
Migrate your loved ones from LastPass to Bitwarden before it is too late
Public demonstrations are by definition public. They are designed to be highly visible.

Who cares if you're caught on camera demonstrating in the public square? That's kind of the point: to be seen by as many people as possible.
I meant from the perspective of the user/consumer/customer.

One says "I am very useful, please pay me $100k!"

The other says "I think you are very useful, please consider this $100k signing bonus!"

Yes, they're both trying to sell you something. But it's very different when someone is trying to take your money and someone is trying to offer you money.
VOC's aren't all man-made. You'd need to live in a vacuum to avoid them altogether.

The nice smell after a rain storm? VOC

https://en.wikipedia.org/wiki/Volatile_organic_compound#Biol...
So you’re the one writing everything from scratch even though the wheel has already been invented and perfected and tested over years by many developers.

Also your website is serving dozens of cascading files instead of a single minified one.

Feels like 2010 to me.
Crooters are by and large the scum of the earth, and clueless to boot. I can't count how many times I've been asked what the "front end" and "back end" were on my job at the robotics company -- programming robots! Shouldn't that on its face impress a hiring manager?
As far as the math is concerned, 3D Math Primer is the book I always recommend starting with:

https://www.amazon.com/Math-Primer-Graphics-Game-Development...
Ah of course, I didn't notice it was the same person.
If I can add to what you’ve written. ‘I have to work really really hard on it’. And that’s the point, isn’t it! 1. Sight-reading is a talent that develops, to one's own astonishment, with intense practice. It really does. The story goes that Liszt sight-read the Grieg Piano concerto but we should not forget that he worked like a dog in his earlier years and then redoubled his efforts at 17 (already with a reputation) when he heard Paganini in Paris for the first time one night after which he took his technique apart and rebuilt it with the result (another level) we know about.
2. Freeman Dyson spent his school holiday from 6am to 10pm, working through 700 problems in Piaggio’s Differential Equations. As with Liszt for music, “I was in love with mathematics and nothing else mattered”.
Of course there's such a thing as outstanding talent and genius but amazing things can happen if the focus is on application rather than debating whether one is possessed of these qualities which rarely exist without the former.
This is really a decision only you can make of course, but some input like you asked. I am generalizing here of course, there are exceptions to every comment I make.

The startup will be fun and exciting most likely, it will also likely be more stressful but you will learn more in 3 to 6 months then in a year at most larger companies. You will screw up, you will define and redefine processes multiple times yourself because you've never done it (and likely they never have either), but you can also quickly change a bad decision to make it good without going through committees etc. This isn't a situation for everyone though as it is a lot to take on many times so you have to know if you are up to it. I do think being in an earlier startup takes somewhat "thick skin", where you are more resilient and confident in your abilities so you'll move forward even through the eventual mistakes. You will have online communities for help but at least likely initially, you'll have very few people internally to turn to for help, so it'll be up to you to figure it out and do so timely.

The corp role will move slower, you'll likely be more frustrated by the back tracking and slow progress then anything. This is the role you already know, if you produce you'll be safe for a long time and have a decent salary and benefits likely.

I highly recommend you try a startup while early in your career, you will learn a ton, usually have little to risk and it will pay off even if you decide to go back to the corporate world, plus you'll have no regrets of never trying it. This gets harder when you are married, have kids and responsibilities that require you to have more steady income and benefits.
The article overlooks one of the major reasons for wanting a non-voice interface to an audio experience: Being quiet.

Most of the time, if I'm wearing headphones, it's so as to not disturb others around me. Otherwise I'd play it out loud.

This benefit goes away when everyone around me suddenly hears me bark out loud to adjust the volume, or send a text, or what-have-you.

I'm a big believer in audio-as-a-platform (particularly the AR possibilities), but I hate audibly trying to speak to a computer. It's by far the worst input interface.

(On the other hand, much like cameras, the best interface is the one you have with you. I yell at my Google speakers all the damn time, because my hands are busy around the house. But those are also speakers, not headphones, and therefor a different use case.)
The main problem with Prop 65 is that it was done by ballot proposition -- through California's initiative process. That is, the proposed law was voted up or down by the people AS IS. As opposed to being created through the normal legislative process that would have allowed for sensible changes (as well as probable neutering by opponents). The initiative process is a form of direct democracy intended to bypass/override the legislature. As such, it is difficult to tweak Prop 65 legislatively for needed fixes that would make it more effective.

This is one example of why most things that are proposed should not actually be done through the initiative process, IMHO. As a Californian, my default bias on ALL ballot propositions has become NO until proven well-written.

That said, I'd rather have Prop 65 as imperfect as it is than nothing. It occasionally gives me actionable information.
Without sports type contracts where you can get released but you still get paid until a set date the risk shifts to the employees and increases employer leverage (hiring is cheap) thus driving down salary and stability.
If you just put up a job listing on Craigslist or some zero filter site, you get a lot of applications that are just unusable, from the absurd like “I have built a calculator app in JavaScript so I can design FPGAs” to the really sad like “I’ve just gotten out of prison after 20 years on a drug charge and I don’t know how to use a computer but maybe I can learn.” The recruiters job is to filter out bad applicants and the reason you need a human is that the applicants are actively trying to defeat the filter.