skysight-inc/HackerNews huggingface dataset:
> Because it is useful to have a communication mechanism which is universal. It is a standard and not owned or controlled (censored) by anyone. Sure there a dozens, possibly hundreds, of fragmented chat protocols that can't talk to anything other than their own proprietary clients. But only email is universally available.

I have never found that to actually be useful in practice. Non-universal protocols with proprietary clients have worked well for me - they have been convenient, well-engineered, well-designed, and well-populated by the people I want to talk to.
> So I think the ultimate choice was to have a social network of one person

Something centred on exactly one person is also very much on-brand.
My data point: I tried PlatformIO for an ESP32 project recently, but ended up with command line esp-idf because the complexities of another layer on top of everything just didn't seem worth it for a hobby project.
I haven't released it. I've considered it, and it's written in a way that others could use it, but I know if it gained significant popularity it would be a really high value target to compromise. I don't have the time to dedicate to the vigilance necessary to defend that kind of a target.

If you're interested, I'd be happy to share the source with you as a starting point
Open source mechanical Swiss watch movement
Join Us to Discuss 'Apple. Google. Facebook. and Privacy Wars.'
Seems like something worth knowing and improving upon to have a reasonable, grounded conversation ;)
That's the question that has been bugging me forever and the only answer is network effect.

Facebook apps _suck_.

Prime example I like to use is Facebook groups - the most popular forums in the world right now and in terms of UX it could be outdone by a forum from 2004: there's no sorting, no indexing, search is non-functional, no proper formatting, no proper moderation tools, no sorting of filterting or categories - it's just insane!

Nothing facebook touches is designed with UX in mind and that's by design. That goes for majority of free user services that are powered by selling user data unfortunately.
So pretty much like real word interview, or what?

Also photogenic characters are at an extreme disadvantage with people like you, who have prejudice against them. So everything evens out in the end.
Good for you! I think one of the more important lessons is to realise that the programming community can be very disconnected from reality. This is especially true for HN with its heavy focus on “interesting”. Judging by HN, things like Erlang, Rust and previously Go, would see a lot of attention and so would the Kubernetes way of doing CI/CD. Interestingly there hasn’t been a single Rust, Erlang or Go job offering available in the region of the world where I live since I started tracking them out of interest after a similar discussion on HN in 2019.

There are however a constant demand for JAVA, C# and PHP developers. Because that’s the languages that are used in my region of the world, and as interesting as something like Rust might be, you’d have a hard time actually finding a job working with it. Even JavaScript isn’t that outspread here, if what you’re after is a full-time JavaScript job, because there is almost always a JAVA, C# or PHP backend to go along with it. You can of course find C++ job, there aren’t many, but there are some and I’m sure some of those places actually use Rust behind the scenes, but they don’t advertise it.

Anyway, I think my point is that there can be a big disconnect between HN and what you’re actually going to end up working with, and you’re likely not going to work with just one toolset for your entire career either. Before I became a manager, I spent almost a decade working mainly with .Net, but with the rise of things like Azure Services I stated working more and more with Python and Powershell, these days I almost exclusively work with Python as I’m mostly handling data for BI or management purposes and let the programming get done by my developers. We have recently picked up PHP though, which you likely wouldn’t think would happen in 2021 if you go by how dead PHP is supposed to be. Well, it so happened that there is a big open source project in my country that utilises Drupal to create a “forms generating” CMS system, that we want to be capable of building modules for, which means we needed someone to learn PHP.

Another really valuable lesson in humility I learned, and it took me years to do so, is related to the arrogance many software developers adopt when we get into the real world and start building things with the business side. Because our skill-set is so linked to dissecting and understanding problems, some of us adopt the unfortunate habit of thing we know... well everything. I’ve been arrogant enough to think I understood how our payment business process worked better than our director of payments, and of course I didn’t, but it was just so used to handling problems that I though I did. If you can, do better than me and apply your humility to everything, not just tool chains.
This isn't some theoretical scenario - we have plenty of experience with other infectious diseases. People choosing not to be vaccinated creates opportunities for the disease to spread and either infect those who can't be vaccinated (young children, immunocompromised people etc), or gives the disease opportunities to mutate and evade the vaccine in the future.

Your right to not be vaccinated does not trump public health concerns, or shouldn't.
The film industry is in NM because of subsidies. Here's an editorial on the topic, "Excessive subsidies, not politics, are the reason film is booming in NM" - https://www.abqjournal.com/1334849/excessive-subsidies-not-p...

Another opinion piece at https://eu.lcsun-news.com/story/opinion/2019/05/20/film-subs... quoting:

"film credit changes are estimated to cost $500 million to the general fund over the next five years (in addition to the $250 million that would have been paid out under the existing cap). Also, they note that the revised film program is “likely the most significant state investment ever in a single industry … despite evidence of about a 40 percent return on the dollar.”"
I've been tracking information on COVID related immunity as my parents are due second dose, I'm due first dose and we're all COVID +ve (India).

My parents got infected after ~ 30days of first dose Astrazenica, I got from them immediately. I had COVID brain fog, they didn't face much symptoms(vaccine doing it's job?). Luckily we all seem to be recovering well.

Now since we've got immunity and that evidence suggests that it should last at least 8 months we might delay the vaccine jabs as it's of extreme scarcity in the country and many vulnerable are waiting for it.

But I would wish for a immunity research with larger study group with the mutant strains supposedly capable of immune escape properties as we're facing here. Because I'm willing to take the risk based on current data, But I don't want to be wrong in suggesting that my elderly parents delay their second jab.
I think they went a little too-heavy into the "manual" part of YNAB at some point. Internally and from the UI (YNAB 4) it has everything to do the stuff automatically and that's what I do.

E.g. When I get paid, that gets loaded into YNAB using a bank-import. So even if the rules don't run, I just have to go through all my "transactions" that got loaded from the bank import and just assign to pre-defined "payees". Further, each payee has a linked category so I don't have to categorize what expense that transaction was for, because it's implied by who the payee is. E.g. A butchery store payee means the category is e.g. "Groceries - Food - Meat" or just "Monthly Groceries". YNAB also has a filter where it highlights all transactions that haven't been assigned.

With the above stuff, there is no need to do any manual or scheduled expenses. The only time that doesn't apply is when you withdraw cash and spend it that way. If you do a lot of cash transactions, you'd have to do that manually unfortunately. But for myself, what little I spend using cash I just zero-out my "cash" account every once in a while with a manual transaction that is an "unknown expenses" budget category.

Some of the stuff above is specific to the YNAB 4 desktop software - before they converted to a subscription web-based tool.
Prettier 2.3
How image search works at Dropbox
Inflation has been capital's Boogeyman for the middle class since the 80s
Samsung has their own system: https://www.samsung.com/us/support/answer/ANS00088244/

But nothing interops with AirTags yet and I'm 100% sure they never will, since AirTags relies on Apple's backend to work. The actual devices are the simplest part - and you can get 3rd party AirTags already.
I'm no expert, but isn't a public blockchain only pseudonymous?

Bitcoin, for example, doesn't claim to be an anonymous payment system.
Yep, but unfortunately it's only a small handful of the banks. And it tends to be the larger national banks that offer proper APIs, and I tend to avoid banking with those.

I'd really like to see Open Banking API laws passed in the US to require banks to offer this kind of API.
Did he though?
Here he is talking about humility in the act of writing code, by recognizing the limits of the minds capacity and therefore keeping the code simple to understand rather than clever.

He wasn't particularly humble in his writings.
Because he is paid to shill that view.

Want proof? Go say the same thing somewhere else, on another public forum, you will get the same script (variations of it).
XMPP is having a resurgence with OMEMO being added to clients and some new clients (Dino) being made. However, I'm not sure if it will ever be the popular thing even among the free software options.

We have Matrix now, and although most clients are lacking and it can be laggy, in 5 years it will probably be pretty good. I'm especially excited about their P2P work which sounds like it'll allow account migrations, offline messages to nearby people via bluetooth or LAN, etc.

I switched from primarily using a matrix.org account to using one on a smaller server after the big matrix.org hack a few years back. However, my main server is now incredibly bad. I get messages out of order, it goes offline a lot, etc. I don't want to lose my contact list and history again, so I'm kind of holding out for the option to change homeservers/have multiple/have none. It's also annoying how incredibly few Matrix clients support multiple accounts. I know of Quaternion and Neochat, but that's about it. Every XMPP client I've ever used supports multiple accounts. Dino did from version 0.1.

I still use XMPP and IRC at the same time, but I have most IRL contacts only on Matrix. I think it'd be hard to get them all on XMPP as well, so I'm just enduring.
The aim is to prevent the virus from clogging up the healthcare system. Countries which vaccinated all the citizens they could(e.g. Israel) already achieved that.

One dose of the Pfizer vaccine costs €16, while AstraZeneca's is less than €3. This is affordable by any measure.
I wouldn't say the primary takeaway from this post is to remind programmers to be humble. It's a takeaway, yes. But humility comes and goes, and reminders often take the form of bugs in your code that you didn't expect.

I would argue the post is primarily about complexity, and in school you probably haven't seen how complex software can get because most projects have to be started and finished within two to three months. Once you start working, you'll quickly discover that the complexity of existing systems can be overwhelming, but this is normal.

After 3-6 months working on a complex codebase, ideally with a team to help you, you'll have some idea of how the complex system works, and even if that idea is wrong (in many, many places), it will help guide future changes to the system.

The point then, of reminding programmers to have humility, is less about hearsay on the internet and more about the need for tools and languages to make life easier for the individual programmer trying to read the code, then plan, make and deploy changes to a live system. If you're lucky, you'll feel like the system makes sense but changes too quickly. If you're unlucky, the system will make little sense and it'll be entirely your job to fix it or put up with it. Usually, hopefully, there's a middle-ground, where the system works well enough you don't have to make changes, but you're probably not entirely satisfied with it either.

Humility can also be the reminder that just because a system looks broken (to you) doesn't mean it needs fixing right this second. If you can spare the time, it's almost always better to try and understand an existing system's quirks before you set out to redesign it and end up re-implementing some of the same quirks yourself.

I'll echo mentions elsewhere in this thread and suggest John Ousterhout's A Philosophy of Software Design as a good book on the subject of complexity and API design, but to newcomers to the field, I'll leave the warning that it doesn't cover TDD as much as it could and it also doesn't cover modern Scrum/Agile practices and how development fits in with product design and company goals. But I still highly recommend it.
I only noticed this new version when the prettier-vscode extension was silently upgraded and all of a sudden my HTML templates only have two or three elements per screenful (okay, a slight exaggeration) because the CSS classes are broken into many lines, and being a Tailwind user, each element tend to have many classes. A ~60-line Tailwind UI pagination component[1] is now a whopping ~240 lines:

<a href="#" class="relative inline-flex items-center px-4 py-2 border border-gray-300 text-sm font-medium rounded-md text-gray-700 bg-white hover:text-gray-500">
Previous
</a>

to

<a
href="#"
class="
relative
inline-flex
items-center
px-4
py-2
border border-gray-300
text-sm
font-medium
rounded-md
text-gray-700
bg-white
hover:text-gray-500
"
>
Previous
</a>

The blog post specifically mentions Tailwind:

> For layout frameworks such as Bootstrap and Tailwind CSS, which add many classes to an element, this is important for readability and maintainability vs. the previous behavior (keeping all classes on one line) or e.g. putting each class on its own line.

I don't know how many people find it more readable to have ten lines per opening tag and many screenfuls for any slightly nontrivial structure; certainly not me. I do know the feature was merged "despite the low interest from the community".[2] Worst of all, it is not configurable.

Here's hoping this misfeature can be reversed if there's enough community pushback.

[1] https://tailwindui.com/components/application-ui/navigation/...

[2] https://github.com/prettier/prettier/pull/7865#issuecomment-...
Theses on the Current Moment
Just want to interject that a lot of us Americans are pleasantly surprised with just how quickly and effectively the vaccine rollout has gone. It has been a real turnaround for those living in states whose government was able to pull it off.

(But it should be noted that many states are not doing as well)
But that statistic is useless on its own. The more salient statistic is "how much lower was the infection rate among people who have recovered, compared to people who had never had COVID, for the same time frame?".
Good for him! Now, he can do whatever he wants with his time rather than work for the man, life is short after all.
Oh no! Algorithm correctly reflects reality then.
Avaya Vantage – Unified Communications Platform by Knowmail
Cerne Abbas Giant’s likely age revealed but air of mystery remains
"The COVID–19 vaccines...offer a...more reliable means of protection than natural immunity."

This is false. She even goes on to say "Pfizer vaccine blocked 90% of infections after both doses" but we're seeing 99.9%+ protection from natural immunity.

She also doesn't put her logic on git (not surprising). If she had built a simple spreadsheet with the important data she'd realize her mistakes (assuming good faith).
I think it's absolutely fair to hold Apple to a higher standard here because of their reach. AirTags being an Apple product has made them much more popular than Tile, meaning any odd person will know about them. That makes it more likely that technically non-sophisticated people try to use them for malicious purposes.

Plus, the FindMy network is much larger in certain parts of the world, and some people might not even know they're helping track AirTags that are being used for malicious purposes. There's so much more potential for abuse now than there was before.
In my country shitting on sidewalks, had higher priority than health or liberties. Dog walking was allowed, while exercise and outdoor activities were prohibited.

Society already excludes many people due to expensive housing, education etc... Living as hermit in a van is not that bad. But society should not expect taxes from excluded people :)
It boggles my mind how far behind the payments curve the US is. If you go to India or Indonesia you can pay guy cooking street food at the side of the road by scanning a QR code but in New York you still have people paying for sandwiches in Pret a Manger using a cheque.
The mailman must get a lot of these "A Tag is following you" during a typical workday.
Does anyone know of a statistic for how much lower the reinfection rate is vs the first infection? That's the useful metric, rather than "percentage reinfected", which may just be because those who weren't reinfected didn't have a chance to.
You're probably downvoted because of how you articulated your message, but the initial idea is correct. We're biologically programmed to like beautiful things, people, whatever.
You do know you can mail an Android phone in the mail too and track the exact location?
I know it's culturally controversial, but I think pride is a bad emotion. It's better than some, like anger or fear, but when you're prideful you're saying you're better than someone and then being worse than someone is just around the corner. A prideful man thinks that everything needs to be sorted by some concept of good. It doesn't. You can do good things because you care about others, instead of doing them because you want to be good. This distinction is important.
Fasting diets could harm future generations, study suggests
You're much better off at a company that actively offers remote work instead of browbeating your current employer into conceding it to you. In the latter case you will always be seen as a second class citizen and they will never take your career development seriously.
Thanks for your link, but I will start here -> https://arxiv.org/abs/2103.02282
If it's relevant enough for Github/Gitlab to render Markdown for the browser, clearly there's a visibility and aesthetic value to rendering.
My rule of thumb is that 'the smartest code, is the code that you can work on in your dumbest moments'. Or, in a team, 'the most senior code, is the code where the most junior dev can easily work with'.

They may seem obvious. But in practice, far too often do I encounter code that is far too complex, and fails your porthole principle, and extremely hard to reason about, or work in, without worrying.

Now, when such code is made by an inexperienced dev, this is fine, and acceptable: finding the right abstractions, or even seeing the need for those, comes with experience. But when senior devs produce such poorly abstracted, hard to reason, complexities, it is inexcusable. It is your task to make complex problems simple. To make unreasonable domains reasonable. To apply the right abstractions in the right places.

To make code that you can work on when tired, distracted and stressed. To build structures where a junior can feel at home in, in hours.
That was either one way emigration, or roundtrip rich people travel. Hardly a sign of globalisation.
I watched their video, and I tend to agree. With the amount of computing they use, ray-tracing is probably going to be just as good and probably higher frame-rate. But maybe this technique, in due time, will result in an alternative class of rendering pipelines with less focus in shading and materials.
If only,

https://www.khronos.org/sycl/

https://developer.nvidia.com/cuda-zone

https://devblogs.microsoft.com/directx/

https://developer.apple.com/metal/

https://os.mbed.com/

https://www.arduino.cc/

https://www.unrealengine.com/en-US/

https://www.crytek.com/cryengine

https://www.misra.org.uk/Activities/MISRAC/tabid/171/Default...

https://www.snsystems.com/

https://www.codeplay.com/

https://docs.microsoft.com/en-us/windows/apps/winui/

https://www.qt.io/

This is the kind of tooling and ecosystems that Rust still needs to build, besides a plain compiler + cargo.
Another example of the bad attitude of the core devs (there are many, just look through some of the closed issues): https://github.com/alacritty/alacritty/issues/5029

I wish Kitty had more hype going for it, it deserves it more IMO.
Thats interesting :) I like the perspective. Yup I was taught to think of them as pests, especially when then get close too or tangled up with some of the more "delicate" plants.

Another issue is whenever curiosity spikes, its not that easy to identify them or get more info about them by simple googling or looking at books (my botanical technical vocabulary isnt that great) so they remain these mysterious unidentified unknowns. But yeah totally agree they are beautiful in their own way and are constantly surprising me.
I don't think so. I think it's because the texture is already photo-like, and then there is a normal map applied on top of that. It basically creates two layers of shading that don't fit together. Few games manage to avoid that problem.
Ask HN: What is the best architecture for a bot running background service
I built a Telegram bot that allowed users to run a configurable script on my server.

Here is how it works:

1. User contacts the bot
2. Configures how he wants to run the script.
3. User asks the bot to start it.

What happens when the user starts it is that I create a new thread running the script. The script involves listening from updates from another API so I thought running it as a thread would be a good choice.

Now what happens is that some users tell me that the script stops working after a while. Perhaps the thread gets killed by the OS after a while?

I am trying to understand what is a good architecture for such an application.

Right now, there are 10 people who use the bot so it handles it effectively. What if I run it on EC2 instances with load balancing enabled?

Another way I was thinking of making it work is like this:
1. Running the bot on a separate EC 2 instance
2. Running a web server on another instance with load balancing.
3. Now when a user asks the bot to run it, the bot calls the web server and runs a new process/thread there.

I wonder what would be the implications when load balancing comes into the picture.

Another question: thread vs new process. Different processes did not work properly the last time I tested so I want to know whether it is my mistake or running a different process IS a wrong way of doing it.
Meanwhile, Java has incredible support for several kinds of profiling for a decade.

This is the reason I don't liKe Go: anything Google deems unimportant (like generics or packaging) either take many years or never happen. The whole language reeks of such zealotry. In fact there's many Google projects where I've seen popular GitHub issues linger for many years because the core devs just don't care about usage outside big G.

Google generally does a bad job of open source stewardship and Golang is no different.

It's a shame but not a surprise that outside companies who have married their horses to Google and Go find themselves fighting hard just to have decent tooling that virtually every other language has.