skysight-inc/HackerNews huggingface dataset:
Hey HN,

Posting this project again with the little hero page we made. We also added support for JS (not just typescript).

Mailing is a little framework for writing and testing emails using react components. It uses Mailjet’s very cool MJML components and the venerable nodemailer. This is a more polished version of a thing we’ve built into a few side projects. Hopefully it’s the last time we build it :)

Isn’t HTML simple?

Writing raw HTML for emails is a bit like making a website in 1999… table layout, inline styling, no JS at runtime. As modern web frameworks mature it becomes more and more arcane relative to the rest of the codebase. I’m sure that for some people the HTML is pretty easy but it puts me in an edit -> wtf outlook -> google loop. MJML fixed that for me.

Why code emails at all?

There are a lot of nice no-code SaaS email solutions these days, but sometimes you want your app to be self-contained or need more automated testability or you want to enforce a design system programmatically. We’ve hit all of the above and we’re also just more comfortable expressing layout as code than learning a bespoke WYSIWYG editor.

At our real estate startup, one of our most loved features was an email digest of new properties matching your search criteria. It was a cornerstone retention mechanism and we had a ton of logic (and tests) ensuring that it was only sent twice per day, never sent the same property twice, ordered listings in a certain way, could be retried on failure, metered sends over time to avoid self-DDOS etc, etc. As we grew and started moving some stuff to Mailchimp and Iterable for marketing to own, product emails with a ton of logic stayed in the codebase where they could be tested. We suspect that won’t change any time soon.

Without further adieu, please check it out and LMK if you find it useful (or find bugs). Thanks for visiting our rabbit hole, happy to answer questions.
This is absolutely true - when I was at Bitbucket (ages ago at this point) and we were having issues with our DB server (mostly due to scaling), almost everyone we talked to said "buy a bigger box until you can't any more" because of how complex (and indirectly expensive) the alternatives are - sharding and microservices both have a ton more failure points than a single large box.

I'm sure they eventually moved off that single primary box, but for many years Bitbucket was run off 1 primary in each datacenter (with a failover), and a few read-only copies. If you're getting to the point where one database isn't enough, you're either doing something pretty weird, are working on a specific problem which needs a more complicated setup, or have grown to the point where investing in a microservice architecture starts to make sense.
It depends on the scale - it does not have to be a major undertaking. You are right, it is a whole extra competency and a major customer support commitment, but for a lot of the entrepreneurial folk on HN quite a rewarding and accessible learning experience.

The first time I did anything like this was in late 1984 in a small town in Iowa where GTE was the local telecommunication utility. Absolutely abysmal Internet service, nothing broadband from them at the time or from the MSO (Mediacom). I found out there was a statewide optical provider with cable going through the town. I incorporated an LLC, became a utility and built out less than 2 miles of single mode fiber to interconnect some of my original software business customers at first. Our internal moto was "how hard can it be?" (more as a rebuke to GTE). We found out. The whole 24x7 public utility thing was very difficult for just a couple of guys. But it grew from there. I left after about 20 years and today it is a thriving provider.

Technology has made the whole process so much easier today. I am amazed more people do not do it. You can get a small rack-mount sheet metal pedestal with an AC power meter and an HVAC unit for under $2k. Being a utility will allow you to place that on a concrete pad or vault in the utility corridor (often without any monthly fee from the city or county). You place a few bollards around it so no one drives into it. You want to get quotes from some tier 1 providers [0]. They will help you identify the best locations to engineer an optical meet and those are the locations you run by the city/county/state utilities board or commission.

For a network engineer wanting to implement a fault tolerant network, you can place multiple pedestals at different locations on your provider's/peer's network to create a route diversified protected network.

After all, when you are buying expensive cloud based services that literally is all your cloud provider is doing ... just on a completely more massive scale. The barrier to entry is not as high as you might think. You have technology offerings like OpenStack [1], where multiple competitive vendors will also help you engineer a solution. The government also provides (financial) support [2].

The best perk is the number of parking spaces the requisite orange utility traffic cone opens up for you.

[0] https://en.wikipedia.org/wiki/Tier_1_network

[1] https://www.openstack.org/

[2] https://www.usda.gov/reconnect
Does anyone have a good steelman on this? This seems like Saturday morning cartoon villan-tier evil.
Lots of good advice in this thread. I used to get pretty stressed whenever there was a bug or problem, or sometimes even when a customer would ask for help and I couldn't answer right away for whatever reason. It would be a lot worse if the customer was angry or upset.

I've learned over time though that, somewhat paradoxically, these are actually opportunities to create a stronger relationship with a customer than you'd have otherwise. No one likes bugs, but if you show empathy and make it clear that you are prioritizing the issue, 99% of people will be grateful, and will come away with a positive impression. Usually the people who are most upset initially are also the most grateful when the issue gets resolved. Strong emotions are a sign that your product is important to them. They're also going to be the most willing to help you debug, and will report problems that others might ignore.

All that said, you will occasionally encounter people who are pathologically angry, rude, and impossible to satisfy. With these people, you just need to keep in mind that it's about them, not you or your product. Once I realize someone is in this bucket, I remain polite and will fix any issues they encounter as I would with any other customer, but I don't engage with them beyond this. The worst that can happen is you'll lose them as a customer, which won't be much of a loss. It's obviously tougher if they're a big or important customer, but it's still not worth stressing about people like this imo--they could very well still leave even if you indulge all their bs.
> Society isn't conscious and people aren't microbes.

Maybe, maybe not :P

http://www.faculty.ucr.edu/~eschwitz/SchwitzPapers/USAconsci...
> To recent American politics? Yes, very much so.

It really isn't. George Wallace ran in 1968. David Duke ran in 1988.

American home-grown fascism is a historical fact.
If you're only talking about salaries, I feel like even pre-2008 most big software companies always paid better than startups. It was stuff like RSUs and cash bonuses; which came AFTER the IPOs, that REALLY tipped the scales and made it difficult for startups to compete. Startups themselves never responded with more generous stock options; in fact, compared to the 90s, some became stingier.
I think you are wildly underestimating the cost of running a world class lab.

Even if you retire with 10M by 30 you aren't going to run a world class research center with that kind of money for very long, or at all. Hell Land, buildings and equipment probably eat most of that right out of the gate. MIT's Plasma Science and Fusion Center had to shut down when their funding dropped from $28 to $14M per year. So at 10M you could Fund, forget about building, a center 1/3 the size of MIT's for 1 year.
That could just as easily be a chapter in Neal Stephenson's Cryptonomicon.
Location: Las Vegas, NV
Remote: Yes.
Relocate: Yes.
Technologies: C#/DotNet (+Unity), JS, Ruby, PHP, Python, HLSL/rendering/shaders, C++, C - and many more...
Résumé/CV: Upon request.
Email: hn@dantonio.info

Entrepreneurial senior-level software leader with over 15 years of experience and a proven track record of successfully delivering results. Wide breadth of technology knowledge and business experience.

I'm currently looking for interesting opportunities -- especially interested in building high-caliber teams, solving challenging problems and, ideally, working with subject matter that I find interesting (audio/video, game dev, shader/GPU dev, computer vision, "IOT", client/server, performance/optimization, and more).

Please don't hesitate to reach out if you have something that might be a good fit! :)

hn@dantonio.info
Note that the public in California favors keeping it on the books — rather interesting for a pretty left-leaning state that hasn't executed anyone for years.

From a utilitarian perspective, I think it's a waste of resources. We know how to deal with absolute incorrigibles without killing them: put them in a dungeon and minimize human contact. This is what we did with Tom Silverstein and he never killed another staff member or prisoner after that. Expensive, but probably cheaper than trying to execute him. And while he put on a good show for the cameras and appeared stoic, I'd have to think his lot in life served as a deterrent to at least some others with nothing to lose who contemplate violence against staff or other prisoners.

Of course, then you've got monsters like Jaime Osuna. There's no deterring that beast, just managing it.
China and Taiwan: A Simple Guide
This is a pretty widely discussed question, and while I think the empirical evidence is so far unclear, there are some obvious theoretical models where costs for large institutional investors (like pension funds) go up. E.g. https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2238516.

Pinging (https://www.finra.org/investors/insights/getting-speed-high-...) would be an example such strategy.
The US is not an ally of Ukraine. We never had any kind of commitment to defend them. We give them weapons and other support as a way of knocking Russia down and preventing them from threatening our actual allies.

The situation with Taiwan is completely different due to the Taiwan Relations Act of 1979, and official policy statements by multiple presidential administrations since then. The US would absolutely defend Taiwan against a major attack. The question is how far that commitment goes? If China uses tactical nuclear weapons at sea, would the US escalate or back off? No one knows what would really happen in that scenario...
>The House is often where bills originate, and the Senate is the latter half of the process.

Yup, seems like the Senate is where bills perish.
Nothing, but nothing, about the Daily Mail constitutes _real_ news.
The only use, which is enough, is to subvert those who claim authority over others.

A specific example is committing crimes: buying or selling drugs, money laundering, tax evasion, etc.. but maybe its building a nest egg to help escape an abusive relationship or God knows what. Hiding money from some sort of extortion.

Most "crypto" isn't hidden, it isn't crypto. It's gimmicky marketing. Not currency either.

Fully fungible (all units equal) crypto (hidden) currency (means of exchange, store of value) is incredibly useful. Everyone understands why untraceable money that you can send cheaply, globally and securely in an instant is useful.

Monero, maybe not the best or final ideal tech, but it has real utility.
I feel another point is that early tech decisions have a huge impact on the type of people you will have to hire. For example, Ruby attracts ruthless productivity and Go attracts people who prefer longer standing apps with less dependencies and maintainability.

I make it sound like Go may be the 'better' choice here but that is not the case, as the author mentions, it's a balance.
> I live in an area where extended families tend to stay together

That's nice, but I'm guessing it's not the San Francisco bay area or other areas where tech jobs are concentrated.

Anyway, doesn't an "extended" family include everyone of every age — by definition — and not just people over 50?

> so that might be what's causing the confusion here

Well, I for one am not confused.
Market still seems hot for senior/staff devs. Getting laid off is a free lunch + a paid vacation to interview for a better job. Thank god I listened to my mom and learned to code.
Google level (L3/4/5 etc) * 100k is a very realistic expectation for TC. At L7 or above double that number too.

Source: recent offers and friends who recently got offers
The reason it is sort of complex is simply the fact that the problem domain is complex. I don’t think there is a big deal of accidental complexity around nix, it is mostly just essential, which can’t be reduced.

The same is true of the often bashed systemd - system boot is a hard problem, it gives a correct solution over incomplete but simple ones, and thus it will be more complex. But some complexity is inherent, so we just have to deal with that. (Rust could be another example - correct manual memory management necessities some added complexity )
Hmm. I assumed it was the direct speech of jamesofthedrum.

Also here: https://www.hazumi.news/posts/32317441
>but it also completely sabotages any moderation efforts on the platform

You can moderate by watching the flow of goods instead of money.
Nominally having elections doesn't make you not a dictatorship. China's elections are a sham. It's a foregone conclusion who's going to win them all.
I'm not sure how an American institution can talk about the history of peanut butter in the US without mentioning Ruth Desmond:

https://www.washingtonpost.com/archive/lifestyle/food/1988/1...

She was the underdog who took on agro-industrial companies to ensure peanut butter contained peanuts and not sawdust.
That sounds correct since this is exactly their product business model.
> In crypto, on the other hand, you can speculate on shitcoins and make bets in DeFi, and that’s about it.

Giant long article and only one small mention of DeFi (which I'd argue is a great use case, despite all the hacks going on) and it isn't even accurate. DeFi isn't about betting.
Bad analogy. This explanation has actually been done pretty reasonably by a few people. Further than that - after such explanations, it's clear even to normal people who's to blame, whereas software and cryptography are much more esoteric in that department.

Of course there is no justice in either case, but at least normal people can see who is most appropriate to behead in the case of the traditional financial catastrophes, in the purely theoretical revolution.
>When the surgeon was an uneducated barber

Still is, if you ask many doctors (or unhappy groin mesh or hip replacement patients etc)
Crypto for banking is... mildly interesting. Not very many people have this mindset, more should.

It's being sold as revolutionary, literally, being able to overthrow $x in power or to the more susceptible as a way for everyone to get rich.

So people who believe in it think it's some grand revolution of freedom, and people against it just see it as scammers exploiting the foolish.

What it actually is going to be is boring. Regulated like the rest of finance, centralized like the rest of finance, but with a few new features which will end up not revolutionary but "oh I guess that's nice". It will also come with weaknesses that older centralized institutions don't have that will seem ridiculous at times.

It should be about as exciting as a new programming language for bankers. Like sure if you're a banking programmer you might think it's cool, but not the kind of thing that'll get superbowl ads or the topic of your uncle joe's podcast.

Snarky comparisons to the Hindenburg aside, I really think things like this disaster in the long line of disasters that won't end is just another blow to the excitement of crypto which won't disappear completely or dominate but become a mundane method for the exchange of value which to the end user is only slightly different than the old ways.
Yes, curious if the Taskflow API introduced as part of Airflow 2.0 reduces this pain. It appears much easier/saner than working with XCOMs directly - less coupling and removes the need for lots of boilerplate code.
I still do not understand how any human-developed carbon capture techniques is going to be better or more efficient than just planting a tree. A (living, growing) tree can capture quite a lot of carbon for almost no cost, directly from the atmosphere. More generally, vegetation biomass growth is carbon (and hydrogen) capture in action on planetary scale - almost for free.
Innocent in London – ‘Suspicious behaviour on the tube’
Where I work plenty of the developers here are what you would call 'greybeards'. I've always enjoyed talking to them and they have interesting stories to tell.

It seems you run into ageism less when you look outside of VC ran companies, but that's based on anecdotes I've heard from others and just my observation.
I had an ath9k driver on my dell xps 13 9370 with ubuntu. Got kernel hangs once a week and ath9k in syslog was always the culprit. Never was able to fix it and many others were affected by the same thing. Switched to windows and still have occasional soft hangs, but its quickly resolved by closing and opening the lid. Dell going with a qualcomm wireless SoC is a major reason I would avoid buying from them again.
I consider myself full-stack, specifically I call myself "a full-stack web-and-app developer" this is why:

I've worked on everything from CSS to microcontrollers. For CSS/SCSS on the frontend (though I generally rely more on things like Bootstrap). I'm very comfortable working in JavaScript land. I worked with jQuery and Dojo in the 2010s and nowadays work with React. I've built "web view" style apps (an app you most definitely have on your phone) and worked with Android-Java and iOS-Objective-C native level code to interact with the phone-OS apis and make backend calls with auth, multi-level-caching, and retries.

On the "backend" I've worked primarily with Java (but Go and Python rock too) but other languages as needed. Mostly Spring Boot & MVC or Dagger+Lambda based backends using API Gateway, Ec2/Fargate/Lambda and cpu, and RDS and/or DynamoDB (depending on the use-case).

From college, I also have an EE degree alongside my CS degree and worked in IT part-time while going to school.

Professionally, I've also lead teams to deliver multi-year projects successfully. I conduct interviews, do mentoring, evangelize best-practices and CD/CI, and go on-call once every two months.

If there's a problem and it has something to do with a computer and the internet, it's safe to say I could help solve it and deliver what a company needs.

Like I said, I mitigate the "edges" by leveraging: I use bootstrap to avoid writing too much CSS and I use ORMs to interact with DBs. In the "middle" I let React and Spring do what they do best. I'll admit my SQL could use some work, but I've also been on teams with a dedicated Business Intelligence sector. I haven't worked a whole lot with "native" mobile views, again, leveraging "web-view" style (think React Native) UIs.

Sure, there are folks who spun up a react and express CRUD stack and call themselves "full-stack" but there are also people who have worked with many aspects of the bit and baud.
Shadowbanning definitely happens on HN.
Rand certainly isn't Ron, but, like the rest of the country, he's in a situation where voters have to choose between 2+2=4.75 and 2+2=purple.
Is that to say the California and Washington schools now have the appropriate demographics? I'm curious to know what those numbers are.
Good! What is a DMX?
The US is literally interfering in the internal affairs of China. Taiwan is legally part of China. They never declared independence. Even the Joint Communiqué between PRC and USA explicitly says recognizes that Taiwan is part of China.
The Man Who Killed Millions and Saved Billions
What if the input contains multiple `/./` ? It seems that `cp = strstr(arg, "/./");` only checks once. Maybe wrap in a loop?
>An actual hiring freeze sends a very strong negative signal to employees and investors. To employees it says "the ship is sinking." Layoffs are right around the corner and that is absolute poison to morale.

I don't agree with this analysis. I'd be shocked if Google did any layoffs (though it's always possible) instead of just freezing hiring and letting natural attrition happen for a while. As for the signal to employees, there are so many employees already that I imagine many would be agree that the company is too big. It doesn't mean that the ship is sinking, just that they don't need an infinite number of employees. And Google's products are so dominant that you can't really believe the business is failing.

Now, FB on the other hand... I'd feel a lot more antsy, yeah. Their business doesn't feel nearly so stable.
Tcl is my go-to embedded language. I tried Lua a while back but butted heads up against it's "just use a table as a list" idea (that didn't work quite right; but that was a long time ago) and became frustrated with it.
How is 18% Marxists in the social sciences evidence for "a repressive liberal orthodoxy, and no dissent is tolerated"?
Jeff Hawkins probably also had a several Hundred Million Dollar payout. That's in a totally different class than a Quant who cashes out at 30 with MAYBE $10M in the bank.
IT may be annoying but it doesn’t destroy your body like many trades. Maybe gives ya a gut, haha.
My comment addressed gingerrr's assertion that "being worried about societal change" is the defining point of conservatism. I provided a counterexample; of course adherents of any ideology would be concerned about changes that indicate increasing currency of a competing ideology.

> what makes an outlook conservative is the one-dimensional (and frequently reactionary) analysis that things must go back to how they were, or as closely as possible

I'm wary of any attempt to sum up an ideology in a one-liner, since they tend to be lossy and dismissive. Your definition lines up more neatly with anarcho-primitivism than conservatism (at least modern American conservatism, with which I'm most familiar).

In general people live their lives based on what they are convinced is ethically right, they aren't brainless automatons following a simple algorithm of "old good, new bad" or "new good, old bad"
Genome-wide study of musical beat synchronization demonstrates high polygenicity
Electric trains do.

For the rest, they don't because of lack of storage.

A diesel locomotive has a huge engine block, a generator, a large radiator, and electric motors on the axles. You can turn the motors into generators when you want braking, but where are you going to put the electricity? All the space (and weight) is already used.

Yes, they have batteries - enough to crank the engine when it has been turned off. Not enough to run the electric motors on the wheels, though.
HN has a rich history of shadowbanning unwanted users. Everyone should turn on "showdead" on their profile, which, to be fair, is at least an option.
You absolutely can buy a Tesla in Texas. You buy the vehicle on their website, and there are 50k+ Teslas currently registered in the state of TX.

While Texas’ protectionism of its dealers is definitely a bummer, it’s trivial to work around.
While individual Node.js processes are single-threaded, Node.js includes a standard API that distributes its load across multiple processes, and therefor cores.

- https://nodejs.org/api/cluster.html#cluster