skysight-inc/HackerNews huggingface dataset:
The steps to stepping into a leadership role are largely two-fold:

- Express to your manager your interest in stepping into a leadership role over the next 6-12 months.

- Write down a list of responsibilities / behaviours a good leader has in your company. Take on one of these responsibilities one at a time to show that you both interested and serious about a leadership role. Advertise to your manager how you are progressing with these extra responsibilities each month via email so they had a written record.

A leadership role has much higher responsibilities and so your manager (if they are a good manager) will not promote you into the role without knowing you can do the job first. Leaders lead by action, not be theory. I know some great leaders who have a very poor theoretical understanding. And I know some horrible leaders who know the theory inside out.

Focus on action.
Agree.

A few years ago I was on around AUD90,000 and driving my wife's car which to me she had failed to register.

I got a AUD990 fine.

So I equate this fine to Meta getting busted for driving an unregistered car.

Not even close to a drink driving charge.
Running a general AI and self driving with reusable rockets!
No, definitely one of the major reasons for me as well.
> I guess software engineers and technical experts cannot be trusted anymore to keep their machines safe. :-/

I think we never could in the first place? While we are more cautious than the average user, we might occasionally shoot ourself in the foot. That’s part of our job.

The extensions shown in this example would not have ended up on my machine, simply because of the red flags they come with.
Hackers using Google's .zip TDR
Sorry, what was just for a minute or two. Fixed it pretty much immediately, Vercel decided to terminate my Pro trial account without warning, but it's all sorted out now
This article is a good example of how to write a misleading headline. They found 3 extensions, one of which has 45k downloads (because it name squats on a popular package), and another with 1000 installs.

The 45k dowload extension (Darcula Dark) collects some data that I would define as telemetry, and the python-vscode extension which is clearly trying to hide what it's doing. Now, whether you define telemetry as malicious or not may shape how you feel, but let's be honest, there's a world of difference between sending your OS versions to a telemetry server and injecting obfuscated code.
AoE space civilization with a dash of neon lights... Sign me up!
Trying new (work) positions is underrated imo.

You could try being a manager for a while and see how it goes - you can always go back to what you know.

Ofc you have to find a company where it allows for such options.
Hej!

I agree with you in that there are many languages where skipping parsing altogether could still result in a good formatter, and I would love to see a Topiary-like project attempt it.

I don't feel confident in saying that that holds for most languages however, worrying that it can lead to a lot of ambiguity in languages with more complex formatting conventions.

Regardless, the eventual goal of Topiary is to be able to format the widest possible spectrum of languages, and so limiting ourselves to just lexing didn't seem like the right choice at the time.

Like you mention, this does mean we give up being able to format broken code. In fact, we currently even ensure that TS is able to parse the entire input before formatting. This is a shame, but ultimately what we decided was the best approach for Topiary to achieve its goal.
Get better maintainability in web projects with model-view-controller pattern
Everyone knew IE was going away. Chrome is not, from what we can see, and is not going away any time soon. If anything, Chrome/Chromium-based browsers are eating other browsers' lunch, just look at the numbers. I absolutely hate Chrome doing their own non-standard things, but you live in a special bubble.
Congratulations on the launch of your new game app! I'm sure it will be a great success and provide hours of entertainment for gamers everywhere. I'm looking forward to trying it out and seeing what it has to offer.
At uni, different styles do cluster.

There are the circles in which the nerds cluster who are really in the tunnel about whatever subject it is, here it's programming or CS in general. They do it for fun, they come home and sit at the computer all evening and half the night. Occasionally they do the homework assignments, and if those are interesting, they nerd out about them endlessly. And they are really good at it. They don't really go to parties and are a tad (or a lot) anti-social. But they don't care. Typical minor subjects are math or physics. It's beautiful.

Then there are the circles of the in-it-for-the-moneys. They do homework assignments because they have to, they go to classes because they have to, they read business news, go to parties, feel important and have dollar signs in their eyes every time they think about graduating and finally making big bucks. If lucky then they get help by some of the nerds (see above). But they actually detest the nerds, just as the nerds detest them.

There are more circles and I don't want to deep-dive here, but I actually this also reflects at the workplace 10-20 years later. It's easy to see from which of those two groups the high-performing ICs (some of them a bit socially awkward) come, and from which their managers, and why there is tension between those.
Do you check _their_ dependencies though? And do you check every file?
This is a non-issue at this point. The truth is that people don't only tolerate, but deliberately purchase malware if it's more convenient. It's a tradeoff people are willing to make. How many of you run a backdoored CPU with IME? How many of you are fine with telemetry? You have been asking to be spied on for over a decade now and that's just what I can remember.
Perhaps it was simply causing so much snark that google offloaded it.
Reminds me of

https://david-gilbertson.medium.com/im-harvesting-credit-car...
dupe kinda https://news.ycombinator.com/item?id=36028845

OTOH it's behind a stupid paywall
National Semiconductor Strategy
Pytrees
So just like lots of Objective-C code, including the old NeXTSTEP Kits?
>I guess software engineers and technical experts cannot be trusted anymore to keep their machines safe. :-/

When SEs could be trusted?

We run so much 3rd party code that it would be insane to expect SEs to verify it.

Security industry is also heavy of bullshit

Instead of performing reviews they run some "scanners" and fill checkboxes
I absolutely love this. From the ascii art homepage layout to the psychedelic anxiety metaphors. This kind of creativity really pushes me and I want to find the secret communities where people hang out and make things like this.
I think if it's a large org you should treat engineer machines as threat vectors by default, PoLP and all that jazz.

Someone already posted here how they were able to use PIP to hijack Google developer machines because on their machines defaults were to resolve to public repo first (even for private packages). Google just closed/ignored the issue because this was engineers problem and official build was setup to resolve correctly (this is my from memory summary)
> “As they work on it” is essential. As a team member, you don’t wait until you have finished a feature or story to integrate your code to the mainline. Instead, you frequently - at least once a day - put your code into a healthy state that passes tests and integrate it into the mainline with everyone else’s current work.

Maybe I work on very different code bases to the author, but having half-done work merged into `master` is a terrible idea. The sands are always shifting under your feet as a developer and it's almost impossible to successfully integrate manual testing into your process (testers need a stable base to test against). Yes, you could feature-switch, but it's easy to make a mess of things and it nullifies some of the "integrate often" benefits.

> No form of code review is more effective than pairing. Feedback is immediate, so there is a far higher chance you will use it to make improvements.

So pull requests are too costly, but pairing isn't? Pairing may reduce one class of errors, but it likely exacerbates others. If the reviewer is "too close" to the code being reviewed they'll miss many of the same things that a single developer would. Not to mention, it's exhausting for a lot of people (myself included).

PRs aren't magic, but there's a reason they've become so popular. And no, it's not just management liking "control" or something - they make the codebase better, which makes the developer experience better.
Pros:
For years America has disproportionately benefited from post-hoc enforcements (I mean mostly it was New York DAs suing banks for 2008, money collected from around the globe and then put into a single State)

(sane) Tech regulation is a long time coming and it's not coming out of the Five Eyes nations - good to see EU taking a lead

cons:

I wish this had been for a "harder violation. Yes it's bad. yes they are ignoring EU law. But it's you know drawing a social graph.

This leads to a fundamental issue - global capabilities (drawing a graph between all the people you know) should not be limited to arbitrary geographical boundaries. Social graph is fairly obvious - I have friends in US, where do we process the edge between those two nodes? If we cannot sort that one out we are going to struggle with epidemiology and medical inferences across boundaries.

Where data is processed should not affect the care with which it is processed.
I can conceive of some verifiable processing package that ensures data can be processed wherever and still meet regulations. Can that be part of the future?
Weeks ago, while I was searching for NeWS related papers/material, I stumbled upon some japanese papers about a window system called GMW (Give More Windows).

It is pretty much obscure, and all I found is that was made at Kyoto University (who also made Kyoto Common LISP), and it used a virtual machine.

Unfortunately the papers are o ly in japanese.
- https://ir.library.osaka-u.ac.jp/repo/ouka/all/65804/oksn_07...
- https://ja.m.wikipedia.org/wiki/GMW
- https://ipsj.ixsq.nii.ac.jp/ej/?action=pages_view_main&activ...
Ones that used to annoy me were in the standard library, in particular the unitest module with camel-case functions (assertEqual and so on), I've seen this justified by it being old and predating the snake-case conventions, but surely assert_equal could have lived alongside the older names. Moot now that I've switched to pytest of course ...
The fact that the number two executive [0] at Facebook/Meta is a former legislator and politician who's responsible for lobbying governments shows just how much of an existential threat Facebook face.

Facebook/Meta are at the "cigarette company fighting for its right to operate" stage of its existence. They know they prey on people, and are ultimately "responsible" for a coming mental health crisis, disinformation, and potentially worse in some countries.

My bet is, just as with cigarette and oil companies, we will discover in 30 years time that Facebook had unpublished research into just how bad for the world some of their activities are.

0: https://www.bbc.co.uk/news/uk-60410636

> The move puts the former Lib Dem leader on a par with Mr Zuckerberg himself

> Mr Zuckerberg said Meta needed "a senior leader at the level of myself... who can lead and represent us for all of our policy issues globally".
Because I own it. And the idea of apple being in control sounded nice in the beginning but wore off after about a week.
BianLian Cybersecurity Advisory [pdf]
No, there are no features on HN that help us network, and I rarely, if ever, even look at what user posted a story or comment, so at least for me it is not social.

Just because it is user-generated content does not make it a "social network"
It’s a joke on the original anecdote’s timeless formula of double-filtered appeal to patriarchal authority (the father relaying the wisdom of the boss to the son).
With so many LLM options out there, how do we keep track of which ones are good?
I do embedded and it's fantastic. I could never do the cloud/web grind.
About £10m in Meta shares, apparently.
Ah, I see! You of course pick puzzles from the most popular movies first, and GPT of course lands on the most popular ones too. Interesting dynamic, makes it much easier in the beginning. I was wondering how it can work so well with only three emojis.
No, because if the function that includes those lines is itself async, it will now block, while the equivalent go coroutine will still preserve the stackfull-asyncness. I.e. you can't close over the yield continuation in rust, while it is implicitly done in go.

For a more concrete example: let's say you have a generic function that traverses a tree. You want to compare the leaves of two trees without flattening them, by traversing them concurrently with a coroutine [1]. AFAIK in rust you currently need two versions of traverse, one sync one async as you can't neither close over nor abstract over async. In go, where you have stackful coroutines, this works fine, even when closing over Context.

So yes, in some way Context is a color, but it is a first class value, so you can copy it, close over it and abstract over it, while async-ness (i.e. stackless coroutines) are typically second class in most languages and do not easily mesh with the rest of the language.

[1] this is known as the "same fringe problem" and it is the canonical example of turning internal iterators into external ones.
The logic of the app I currently work on lives 99% in the database... As a C++ plugin to the DB.

Not stored procedures, or triggers, or anything like that... Just a giant plugin loaded when the DB starts that provides business specific functions that can be called by the client instead of SQL queries (think "CreateAccount" or "GetFooDetails").

Oh, and probably 50% of the columns are giant JSON objects.

It's.... interesting.
I used to love the long periods of focus in my 20s, but ever since more life started happening, I can't do those anymore. It turns out my stress tolerance is incredibly low and when the life outside my work is not completely in order (like it rarely is after the 20s), being able to get into the flow state gets very difficult.

I wish I was one of those people who could just forget the problems at home, etc. when they sit in front of the computer and start coding, but I can't, and as a result my ability to focused work has gone down a lot, and nowadays I do more "people work" simply because that's easier to do when my head is not in it 100%.
That is an urban myth.

If that was the case, they would have adopted Dart instead of keeping an high dependency on the Java ecosystem for Android.

Android Studio, Gradle, Kotlin compiler, the libraries that Android depends on from Maven Central, all Java.
I never understood the reference "It really whips the llama's ass"

Was the llama a competitor or something? or some kind of weird in joke?
It had direct access to Facebook content before it got encrypted for transit. How is that not backdoor access to social media? That sounds exactly like what it is alleged TikTok has.
I'll focus on your question of how to move into a management. Or at least, my perspective.

To get into management, you generally need experience in management. I know that sounds silly but it's true. If I'm interviewing for a management position and I have two candidates, one who has experience and one who doesn't, I'll take the person with experience.

So your question becomes how do I get the experience. I would start with finding a work place that values the concept of promoting from within.

From there you need to advertise your intentions of wanting to move into a leadership role, without being annoying. You need to socialize and relationship build. Gently broadcast your intentions.

You need to be able to tell people why you want this role. It needs to be clear reason. This is more or less your sales pitch.

If you do these things listen to people's feedback. It should be enthusiastic and positive. If it's not it means that people don't see your potential yet. Figure out why.

This is your feedback loop. Take training, work on your presentation skills. Find another mentor. Keep building your network. Ask your manager if you can take over a meeting or take over a small responsibility for them. Gently reshape your role into a lead role. Do this until you get some positive feedback.

From there start to interview. Your first couple of interviews are likely going to be terrible. Don't lose heart. Ideally these are internal interviews. If you don't get the job reach out to the hiring manager to get open and honest feedback.

Keep interviewing and keep working on all of the above. With a little luck one of your connections will pay off and someone will take a chance.
I quite like the architecture, but I think it's all form and fails badly on the function part :)
Thanks for the recommendation.

I quite like Canetti's Die Blendung, so I might also have a look at his non-fiction soon.
How many tokens/second on an average machine?
It is enough that it is the Java Virtual Machine, not Kotlin Virtual Machine.

Hence why Kotlin only really matters on Android.
100%

The author also seems to have missed that you can still use CI on feature branches. Merge `master` to your feature branch regular, run the CI. Sure, you're only integrating with other complete-ish work, but it gets you a long way without making a complete mess of things.
Honest question:

If a Facebook user in the US are friends with a user in the EU, how are they able to communicate and share profiles without transferring data from the EU to the US?
And why is that necessary knowledge?

Don't get me wrong, once you go down to embedded you sometimes do need to know and sometimes it just improves your understanding (and it's kinda cool anyway), but if you do high-level work, perhaps web work, all you need to know is the abstract interface of floats as a data type. What operations you can do, what is guaranteed about the result of those operations (loss of precision etc). In other words, why would a Haskell programmer need to know the IEEE FP standard?
Ask HN: Engineering managers, how do you onboard new hires?
What are your best practices for welcoming onboard new developers?
Thanks for sharing this tip on how to use a global gitignore file. I didn’t know about this feature and I think it can save me a lot of time and hassle. I’m going to try it out and see how it works.
I think parent has hit on the how and GP has hit on the why.

How LLMs are able to give convincing wrong answers: they “can predict the correct ‘shape’ of an answer” (parent).

Why LLMs are able to give convincing wrong answers is a little more complicated, but basically it’s because the model is tuned by human feedback. The reinforcement learning from human feedback (RLHF) that is used to tune LLM products like ChatGPT is a system based on human ranking. It’s a matter of getting exactly what you ask for.

If you tune a model by having humans rank the outputs, despite your best efforts to instruct the humans to be dispassionate and select which outputs are most convincing/best/most informative, I think what you’ll get is a bias towards answers humans like. Not every human will know every answer, so sometimes they’ll select one that’s wrong but likable. And that’s what’s used to tune the model.

You might be able to improve this with curated training data (maybe something a little more robust than having graders grade each other). I don’t know if it’s entirely fixable though.

The brilliant thing about the parent’s comment about the “shape” of the answer is that it reveals how much humans have (uh, historically, now, I guess) relied on the shape of information to convey its trustworthiness. Expand the notion of “shape” a bit to include the medium. If somebody bothered to take the time to correctly shape an answer, we take that as a sign of trustworthiness, like how you might trust something written in a carefully-typeset book more than this comment.

Surely no one would take the time to write a whole book on a topic they know nothing about. Implies books are trustworthy. Look at all the effort that went in. Proof of effort. When perfectly-shaped answers in exactly the form you expected are presented in a friendly way and commercial context, they certainly read as trustworthy as Campbell’s soup cans. But LLMs can generate books worth of nonsense in exactly the right shapes without effort, so we as readers can no longer use the shape of an answer to hint at its trustworthiness.

So maybe the answer is just to train on books only, because they are the highest quality source of training data. And carefully select and accredit the tuning data, so the model only knows the truth. It’s a data problem, not a model problem
Yes, because Kotlin hardly matters in regards to the JVM.
Maybe it came from the future warning us about the AI craze
There was never any way to implement a modern GC while keeping compatibility with Objective-C, which was the primary design goal of Swift.

Apple had a bad experience with GC in ObjC with libauto and learned their lesson that C and GC just don’t mix. You can never have a truly modern GC in C, because C cannot provide any of the guarantees that a GC needs to move objects around.

Using a modern GC entails sealing the language off in a bubble. Since Swift is mostly used to interface with system frameworks, you would end up paying a cost when interfacing with the system frameworks written in ObjC, making your modern GC useless most of the time.
1.2B euro fine for Facebook as a result of EDPB binding decision
It's funny watching this "AI revolution" as an industry veteran because it's like watching people in a zoo playing as animals.

There was an AI revolution, it happened in the 1950s-1960s with the invention of LISP, and then there was an AI winter because it never played out.

There is no reason to think it's going to play out this time either. This is just a hype cycle. When someone tells you about "AI" replace it with "blockchain" and laugh in their face.
Do Simcity 4 next. Heck you can train it on actual buildings off of Google Maps or others like it.
Some parts of RationalWiki aren't that rational any more, unfortunately.
I fail to see the real world benefit of this approach.

Replacing pull requests with pair programming doesn’t make adding features to the main line necessarily faster. Review still happens, just synchronously, and you have two people working full time on the same thing, instead of one.

Personally, I have never worked in an environment where a few hours delay in reviewing a pull request, was such a big of a deal.

It also seems to disregard the fact that continuous testing can and does happen, because a feature branch may run against all the usual test fixtures, e.g. plan branches in Bamboo work for this.
I would recommend reading “Tribal Leadership”. Also, I just started but I would look at “Primal Leadership” too.