skysight-inc/HackerNews huggingface dataset:
> Event loops are common in many languages.

Including rust - I'd have to dig in again to remember exactly why the wayland one was so bad at interacting with rust to be honest. I know it had something to do with how ownership of callbacks and objects interacted with the event loop. I know I didn't think I could represent it much better in python.

OpenGL may be a shit show, but it's necessary (to be able to expose it to clients) for a modern desktop. I think I was doing this either before or in the really early days of Vulkan so I don't really know how that changed things.
The top 100 biggest cities in the United States combined only make up less than 20% of the population; you can't possibly win and election pandering to the interests of a few metro areas.
Amazon now wants to disrupt the shipping industry
Well, this was to be expected. I was wondering when it was announced how long it would take for Nintendo to drop the hammer.
You're probably joking, but the disappearance of fringe benefits like free food or drinks is a very early warning sign that you should polish your resume. Somebody is running a cost cutting exercise for some reason good or bad. In a modern tech company the only way to cut significant costs is to cut employees, so you might be next...
As many others here have recommended, read Atomic Habits for a good idea of how to go from goal-oriented action to process-oriented action.

> I have strongly come to perceive myself as being driven by external accountabilities which makes me good at work at office but bad at executing personal projects.

I'd also recommend reading The Four Tendencies by Gretchin Rubin, which is an interesting framework for how different people respond to both internal and external expectations. Based on your own personal observation, you'd fall into the most populous category: obliger, i.e., good with external expectations but not internal ones.
I discovered the "Mustard" channel a little while ago. Highly recommended!
Perhaps the word “helps” should be added to the headline to indicate that this is working as intended, and there’s a human in loop. It could be more clear that the tool is simply overcoming cumbersome process.
One of the main factors behind the rise of capitalism and the ensuing era of industrialism and 30-fold increase of prosperity of ordinary people was breaking the suffocating power of the guilds.

"Free enterprise" was originally a call to revolt against the guilds.
Very accurate for unions at large employers; employees trade flexibility and meritocratic values for a bureaucracy where they theoretically get one seat at a large table.

Unions for trades/gigs, where the union is more guild-like, operate a bit differently.
Insurers Know How Often American Drivers Touch Their Phones
You can get rid of patents, but you need something else to prevent free-riding, or else that will undermine the efficient price level. Patents and unfair competition law aren't just things we made up for funsies--they address a real economic problem that undermines efficient markets.

(And if you look at countries that don't enforce drug patents, they have cheap drugs, but produce almost zero medical innovation.)
>where the union itself is both independent of the employer but also has a significant power in promotion decisions

I would really hate to deal with a second level of bureaucracy when it comes to promotions and such.... let alone employer's having to accept "this guy is a senior X now" and realize he is not as opposed someone else who wasn't given that chance. That still seems like a very track type of career path situation where the technology world is still fast changing and has huge amounts of variety.
Author here.

Ignoring the social impetus in the Rust community to not use unsafe, I also don't feel like unsafe Rust is something I want to program in all the time.

When I program in safe Rust I can be happy once it compiles because I can ignore all of the safety problems that come from C and C++.

However in unsafe Rust not only is it much more difficult to express what I want syntatically (the lack of auto deref is very annoying, having to write (*base).value all the time gets very old) and semantically (there is no standard for the unsafe parts of the language - not so much a problem if only smallish parts of this usage is used (because once a standard comes out just that can be updated) but a problem if a whole program is written in it).

Unsafe Rust is "good enough" to try to encode these abstractions but I would not use it over C or C++.
pure opinion. I think the US should try it and gather real data rather than these kinds of handwavy articles
being disciplined in the long run IS discipline. if it's only short lived you don't have discipline. just saying...
Sorry what is this ?̊̈
It's not politics, it's human decency, and he violated human decency.
completely ignoring privacy. ISP's "collect" (read: eavesdrop) on all data they can get their hands on.
Cilium 1.5 adds support to 5K nodes and 100K pods in Kubernetes
There goes my idea of porting Core War to the Nintendo Switch. Ah well.
Same here. I can play South Park: Stick of Truth on Steam, but to play South Park: Fractured But Whole, it has to be on Uplay. I wasn't going to buy it because of that, but then I got it as a gift anyway. I could handle Steam and GOG Galaxy as game aggregation programs, and sometimes check out Humble for bargain bin stuff, but after being forced to install Uplay to access the content, it would appear that three stores is my limit. Uplay, Origin, et al, with their platform-exclusive titles, can all suck it. If I need a library to manage my games libraries, I might as well put all the games in the top-level library in the first place.

They are removing themselves from even the possibility that I might think about buying. I just don't shop there. If I can't find something that interests me on Steam, GOG, or Humble, I stop looking. And I also didn't really appreciate the constant upsell for SP:FBW DRM, and other Ubisoft titles, while I was still playing. They pulled out from Steam to not pay the "Steam tax", but they didn't lower their prices to compensate; they just made the "Steam tax" into the "Ubi tax". If consumers still have to pay it no matter where they go, they don't really have any incentive to shop at a different store.
Warren Buffett says the newspaper business is 'toast'
Having the dishwasher as a choice is one thing, forcing it? That’s crossing a line. And you know you’ll get that all seeing eye watching who isn’t washing their cups and scheming to make their life hell.

Serenity is priceless for coders.
There is very little liability protection for a single-member company. You are usually going to be personally liable for your actions, and can get sued individually along with the company. Incorporation / LLC does not protect you from acts where you are also personally liable, and it does not shield your personal assets in that case either.

Edit: in the US, that is.
Labor is not zero-sum. This is a myth promoted by the upper class to scare workers away from unionizing.
Soviet submarine K-129 (1960)
This is also something that causes some pain when using C++ with RAII. Logically it makes some amount of sense that you have e.g. a C++ wrapper for a texture in OpenGL, and it knows to call glDeleteTextures in its destructor.

HOWEVER, the destructor can now only be called if the OpenGL context is active, and the texture may be deleted if the context is lost (which can happen). At some point anybody who's tried to wrap an OpenGL texture with a C++ class either decides to accept that RAII doesn't completely work here, or refactors it so that you manage something like handles to textures, which is a bit silly because you are really at that point managing handles to handles to textures.
So 3hp/sqft (power/(area/time) would be better but we don't know how fast the chopper is moving while it blows the water away). That's not that much power. That's on the same order of magnitude as snow blowers

Obviously not all hp are equal and you get into a discussion of cfm, specific impulse, etc, etc. but power/area should be a pretty ok proxy for drying power.

It shouldn't be that hard to build something that looks like the bastard child of a concrete pumper and a pine mulch blower that can either fit in the bed of a pickup or runs off a tractor PTO and can apply more than enough airflow to destroy your crop if you use it wrong. Maybe include a big rubber hose (like those temporary water mains) on the vehicle to give the tree trunks a good whack as you drive by.
Swift: Optional, throws, Result, and async/await
Retaliation is when someone experiences adverse consequences for doing the right thing. You wouldn't say, "Joe is a victim of retaliation. He didn't show up to work for two weeks and they retaliated by firing him!" The people who didn't like the Damore memo believed it demonstrated a fireable offense -- creating a hostile work environment by stating or implying that women are less suited to the job. They wouldn't view his firing as retaliation, because they view it as justified.

Of course, there are individuals like yourself who have a different perspective on that -- and for the purposes of keeping this discussion on topic I'll avoid sharing my views on that. Regardless, it is different from being fired or punished for reporting sexual harassment or racial discrimination. There is substantially no political group who, at least publicly, would espouse the view that such reports are wrong, or should be punishable in any way. Except I suppose if they are found to be baseless. So if someone suffers adverse consequences due to making such reports, assuming they are made in good faith, almost everyone would agree that that is retaliation.
Don't try to pin this on the Tories - it was generally acknowledged to be the DPP's fault: https://www.theguardian.com/law/2018/jul/20/mps-criticise-dp...
Yes great point. Thank you. So 2000 dollars in fuel and helicopter actually gives you good bang for your buck here?
I worked on projects that required complicated FFI bindings to C/C++ libraries. Creating, testing and maintaining such bindings always ends up a huge undertaking. Now I'd think twice. I imagine something like Wayland will have hundreds of functions and if one doesn't want to write C in Rust (which isn't that bad actually) then wrapping up such API is a Herculean task!
Yes, that was painful to see. The strings are even capitalized in a particular way so it doesn't look like it had already been processed to normalize the formatting.
You are never morally stealing a digital copy because you do not deprive the original owner of the item.
>Unions for trades/gigs, where the union is more guild-like, operate a bit differently.

It would be interesting to see something more of that in the US, and would allow for flexibility.

I do worry though that the situations that folks cite as a reason to unionize follow the path to the less flexible options.
I've been looking the something that's kind of the opposite of this. I'd like to be able to use an address in my city for all my mail - when a letter arrives I'd like to get a scan as an email attachment.

I usually get parcels delivered to amazon lockers or my office since I'm out all day.
That is all here: https://doc.rust-lang.org/stable/std/fs/struct.File.html

These failure patterns are handled by each method, for example,

pub fn open<P: AsRef<Path>>(path: P) -> Result<File>

that Result will return an error if the file can't be opened, etc. Let's say you want to write some bytes, that's

fn write(&mut self, buf: &[u8]) -> Result<usize>

This also returns Result, so if you've opened the file, but the disk is now out of space, this will return an error, etc.
No break statements!
Yeah, and when somebody suggested something they didn't like, they got him fired.

The Sorcerer's Apprentice was written about 200 years ago and is as current as ever.
Just for the historial record: Bitkeeper is much older than both git and Mercurial, hence Bitkeeper can not be said to have taken ideas from Mercurial.

Both was sprung in large parts from Linus' description of what requirements he had in order to consider using a version control system for Linux.
Yeah, I hear you.

Having written many open source libraries (my rubygems have been downloaded several million times, my node packages are close to that, and I've contributed to other libraries for over a decade), I personally will choose open source projects over closed-source because I don't want to be victimized by abandonware or corporate whims.

It seems like photo software (both closed and open source) is especially prone to dying on the vine. It's a common need, and it's easy (and fun) to write a simple script that makes thumbnails from a folder of images. I seen countless photo projects on github, but as complexity ramps up quickly, the installer script (if there is one) breaks, updates fail, there aren't any tests, and the author gets bored and moves on.

I guess I felt justified here because a) it is self-hosted, and b) I'd added my corporate mandate to open-source the codebase in case of business closure. (I don't remember a corporation doing this open-source-on-close before, do you?)

I've actually already open-sourced some of the trickier bits: https://exiftool-vendored.js.org/ and https://batch-cluster.js.org/. I expect that to continue.
There’s definitely an argument to be made about how this dev should only be shipping to hundreds, thousands, or millions of personal devices via Nintendo’s infra only what’s printed on the tin.

My hacker nerd side is all giggly.

My security and consumer conscious sides bristle at the idea some dev thought it was a great little in-joke to ship this to unsuspecting users.
Check out feltapp.com – Personal, handwritten cards. Sealed, stamped and mailed. All from your phone.
All projects that I have closely observed that went to GitHub for FOMO have NOT gotten more contributions afterwards. Among the real reasons are:

1) Every OSS project has its bureaucrats who contribute a modest amount of code but want to have an immodest amount of power. For these bureaucrats GitHub is like heaven: They appear productive, have power to silence discussions etc.

2) They work for someone or know someone who is associated with GitHub or in the Microsoft embracing strike force.

3) Legitimate reason: They want to show their employers a metric how much they contribute.

I'm pretty cynical about the current state of OSS. Major idealistic contributions are a thing of the past. It is all about attaching oneself to a project, get hired somewhere and then stop contributions.
People do pay for a la carte content. With a few exceptions, it's how people buy books. And a lot of films are paid for a la carte in some form or other. But the expectation is certainly shifting towards subscription streaming services and there's probably a difference between renting a new film release and paying to watch some random TV show to relax after work.
Hungry Hackers Use McDonald's App to Steal $1,500 in Fast Food
This is the general strategy when developing "2.0": do as much as possible in a backwards compatible way, and if we never need to make a breaking change, never call a release 2.0. The new features process that was introduced recently may result in a 2.0 release, or it may result in 1.999, so you will continue to see new features in each release for a while regardless of what the release is called.
A big change for me took place when I started thinking longer term. Do i want to get in shape in the next 1 month or 12 months? thinking in terms of 12 months or whatever is appropriate and just surrendering to the process helped a great deal.
Aren't you engaging in identity politics yourself by pulling out this argument?

And that said, obviously retaliation is going to vary on the scenario. You're essentially saying that they deserve retaliation for reporting sexual harassment etc because of an entirely separate incident.
> I do disagree that a) there are bad guys between me and the http://catpictures.com right now

I don't know how one can disagree with something that can't be known one way or the other.

Security features/processes are there to account for the small possibility that an attack is attempted. They don't become useless simply because attacks aren't happening 100% of the time. For example: your door lock (deadbolt) is locked even when there isn't someone actively trying to break into your house.

In your particular example, sitting between A and B doesn't always mean sniffing packets you send from A to B as a "passive listener". It could simply be that the attacker has fed you his/her rogue IP via DNS and you are connecting to his server that is pretending to be B.

At that point yes the attacker is sitting between A and B, but it's not like s/he is sitting on a router sniffing your packets. S/he does not have to be a malicious player near the target server, or part of the infrastructure that you use to get to B. S/he can be somewhere completely remote.
Security is a battle with convenience.

Sure, it's technically possible for someone to pull off a MITM attack on someone using a VPN; perhaps there's an attack vector before they establish their VPN connection, or they've compromised the server running the VPN service, etc.

But that's probably only a threat to government agents and Snowden, whom have real fears of targeted attacks like that. For the layman, VPN pretty much is a magic pixie dust that will let you browse unencrypted websites with confidence that the pages won't be modified, and your form submissions won't be sniffable on your public network.

Of course, it won't protect you from sites that already have malware on them.
I guess I understand the mental gymnastics, I just don't find it compelling as a justification.
Vaginal Yeast Infection Symptoms
I lived through this transition and I truly don’t recall any of the issues with ball mice. They always worked fine for me.

You had to clean out the ball every now and then, but I have to clean off my optical sensor fairly regularly, too.
Rust can handle event loops just fine; our entire asynchronous IO story is based on them!
Show HN: An open-source example multiplayer (.io) web game
Perhaps they already tried to find a different company with better policies, but wasn't able to? There's a few of them around, but not that many of them.

Are you the sort of person that tells people not to complain about the politics in your home country or to "move to China/North Korea if you don't like it here"? That would seem consistent with what you're saying.
I've never seen "no gaijin" signs here either!

Maybe it helps that I don't read Japanese :P

> or inherited

Sadly I failed to inherit property in major metropolitan area :( I suppose I tried?

Regarding prices I was thinking about rent actually. Owning a house in Bay Area is not something that pops into my mind in most circumstances!
FWIW, they do now. I just recently closed my younger brother's account (he died four years ago). They have a form for it, you say who you are, what your relationship is, and they ask for a link to an obituary. Then they delete the account.

Facebook, I think, marks old accounts as memorials. I don't Facebook anymore so I might be remembering that wrong.
The idea is you’re not paying for the takeaway cup, lid and (usually) sleeve, and you’re not using a store provided cup either.
Generating Fractals with Postgres: Self-Similar Fractals
> I would really hate to deal with a second level of bureaucracy when it comes to promotions and such....

I was imagining it more as peer-accreditation and peer-participation, as the other union members would be your peers. Basically more democracy rather than bureaucracy.
Are they allegedly progressive and left leaning? I thought libertarianism was the unofficial state religion of the SV elite.
Keynote just needs some rudimentary keyframe animation capability and it will be set!

Because if not keyframe, it would be something like After Effects for graphics based animation.
Framing this as a truth/not truth conversation is only going to cause a flame war...
Neoliberal "progressivism" isn't leftist or especially progressive. It has one goal- maximal utilization of labor resources. It just turns out integrating as much of the possible workforce as it can is useful (and helps ultimately drive down labor costs- see e.g. the rise of two-earner middle class households). It's not hypocritical, since these companies usually just talk about those ends rather than redistribution of ownership or other material reforms that would benefit their lower level workers.
Pick a smaller project, something you can finish in a few days or weeks.

For years I was thinking of creating video tutorials to teach CSS. I would sell these videos online, either as a subscription model or as a downloadable package. I spent months creating design templates that I would teach how to code. I also looked into screen recording software. I bought a microphone stand. I did some tests. But in the end, I hadn't written any content. I had only worked on the side aspects.

So one day I decided to just make the smallest project I could think of: a small ebook to teach CSS. The result was this: https://jgthms.com/css-in-44-minutes-ebook

I managed to write and launch it within a few months because the scope was way smaller, which allowed me to be more focused on the task because I could see the end of it.

As of now, I’m actually writing my second ebook, focused on advanced CSS techniques and concepts. It will have a lot more content, because I’ve learned how to launch something. The only difference is the amount of time I’ll have to spend writing. But in the end you realise that most projects scale linearly. You just need to learn how to finish a project before building bigger ones.

Same happened with Bulma: https://bulma.io

The initial idea was actually way bigger. But in the end, I launched it with the basic features I had in mind. It’s now grown a lot.
Kind of what https://recup.de/ is trying to solve I guess?
Author here.

>> A literal rewrite of a project to Rust is not interesting, it’s not useful, it just causes churn and splits ecosystems. Time would be better spent either working with existing solutions that already have the effort put in to make them correct or to come up with new green-field projects.

> This... I'm not so sure about. It really depends on what your objective is. For example, if your goal is to learn, you're not going to cause churn, and you're not going to split ecosystems. Working on project you already know well is a good way to learn, because you can focus on the language, not the project.

I was a little extreme with this comment, and I knew there were a bunch of footnotes like the ones you mentioned (pedagogically reinventing the wheel is great for learning!) I explicitly didn't mention those so I didn't water down my point.

Ultimately people can do what they want, and it won't really bother me. My comment was more of a critique on what is and isn't worth other's time. That is for them to decide, at the end of the day, it's just my opinion that I think they should question if all the effort they are going through is worth it. If they think it is, I wish them luck.

> The pain here isn't a re-write, it's an integration with an existing system.

I was conflating two ideas here that in retrospect I should have been clearer about.

wlroots-rs was definitely _not_ a RiiR, it was bindings. However as I came to butt against these problems it became obvious why other projects (like rlua and wayland-rs) are RiiR: because writing bindings is so difficult it is easier to start from scratch. At that point you are now rewriting a library for the sake of using Rust, which seems like a problem to me.

I don't know what Rust can do to make it easier to write these bindings. I think it's very important, but not something that has been focused on in the community because most of this work is very niche and there are other problems that are probably more interesting (async, web assembly, etc.)