skysight-inc/HackerNews huggingface dataset:
> Not encrypted, hashed.

I'm sure you know this, but to provide some context for others - this is one of the few spots where ambiguity between [password] encryption and hashing may have played a role.

OP stated they used crack(1) shortly before L0pth was founded. That puts the timeline somewhere between 1989 and 1992. Although salted MD5 passwords had already become a known thing by then, there would have been legacy setups where some of the password database entries were indeed outputs from ancient implementations of crypt(3). Which implies DES.

To this day, if anyone wants to take a look at the crack sources[0], or download a prebuilt package[1], the default mode of operation is "I want to run passwords through crypt(3)". According to crypt(5) manpage, the legacy DES mode is still supported - just look for the string "descrypt".

0: https://alecmuffett.com/alecm/software/crack/

1: https://packages.debian.org/sid/crack (has a link to "crack-md5" package; description states: "This package provides the runtime files for the crypt() version.")
To solve the hiring problem that seems rampant in the industry, I propose for all resumes that get past the auto-filter, we just implement a lottery system. Maybe it'll be even more effective than the current method!
A friend encountered this with Amazon, although their tool at least has some code help (at least when I tried a year ago). The interviewer tried to compile his code.
Yep. Apprenticeships solved this problem in the past (and of course created many others). Actually it’s almost a fun little exercise in economics.

Basically there’s two types of efficiency, investment efficiency and allocative efficiency. (There may also be other types I don’t know about.)

Investment efficiency means people are incentivized to make positive-expected-value investments. Think about how people are incentivized to invest in their house, e.g. preventative maintenance, because if the expected value is positive then they will recoup that value when they sell the house. If you’re renting you don’t have this with respect to where you live - water damage or no, not really the renter’s problem. Investment efficiency is maximized by private property, where you know that no one will take your property without your consent.

Allocative efficiency means things go to whoever is willing/able to pay the most for them. Renting does have this property - if both of us want to rent a house, and I’m willing to pay more, in most cases I’ll end up getting the house. This is why gentrification can cause displacement - when wealthier people come into a city and are able to outbid the current renters, they win and the current renters lose. Allocative efficiency is maximized by auctions and things like them, where the good goes to whoever is willing to pay the most.

Bringing it back to your comment, job training isn’t worth it because our careers as programmers are dominated by allocative efficiency, not investment efficiency. If you can train a programmer create $50,000/year more value in general (i.e. it’s not training that would only be useful to your company), they can now get paid about that much more from any of your competitors, and you will have to pay them about that much more to stop them from leaving. So you gain nothing from giving them general-skills training.

Another way of solving this problem is with sectoral bargaining. If you have a sector-wide union, they can make all companies start training simultaneously, or assume some of the costs themselves. It’s a win-win for the industry and for the programmers, but it doesn’t happen nearly as much as it could because of that coordination problem.
And it’s to weed out people who value their own time and who won’t take part in pointless company mandated bullshit.

If someone sits though 6 hours of interviews and pointless exercises that should instead be solved by consulting the documentation, they will probably just do what they are told without fuss, will work overtime for free and will let the company walk all over them with regards to sick pay, holidays, etc.
Currently making $430K. Upgrading to $720K.

That $300K gives me more flexibility, mobility, and choice in just about anything I want to do.

Totally removes any financial stressors.
I was going to mention Viola, which is a truly impressive application. Diving into the Viola docs, notably the paper and book, is strongly recommended.

http://viola.org/viola/violaIntro.html

http://viola.org/viola/book/preface.html

There's also BrowseX, a Tcl/Tk based web browser which supported, you guessed it, Tcl-based web scripts. It was notably included on the Linux Bootable Business Card (LNX-BBC) micro-distribution, see a Linux Journal review here:

https://www.linuxjournal.com/article/6890

There's still a Sourceforge project page:

https://sourceforge.net/projects/brx/

LNX-BBC:

https://archiveos.org/lnx-bbc/

https://web.archive.org/web/20050204083600/http://www.lnx-bb...
Google Adword Specialists
If there are teams interviewing candidates that are surprised to find that some applicants can't write basic code, then there must also be candidates that are surprised by that as well.

The longer a candidate has worked on very capable teams the more surprised they will be to have those problems presented in a job interview.
Show HN: Store Front and Audience
Are you referring to the EU or or an individual European country? I'd be curious what concretely you are comparing as from all I've ever seen and read the US always came off as 'here you can buy laws' while e.g. EU has extensive scrutiny and consultation procedures and policy is very consensus driven.
In terms of topical content it's a good question. The idea that the name is a link stored in a directory entry is a key part of filesystem architecture and anyone familiar with unix filesystems should be able to immediately talk about why.

The problem here is that what could be an invitation to showcase knowledge is reduced to a vague, one-dimensional and non-obvious trivia question. There are a ton of valid answers to this question, like:

* The file data

* Extended attributes (ACLs, etc)

The topic is fine, but the framing of the question is terrible.

If I wanted to test a candidate's knowledge in this area I would probably ask: "Why isn't the filename stored in the inode?" -- this initiates an architectural discussion, rather than a poorly designed guessing game.

Guessing games in general are a red flag for the employer. They tend to indicate the interviewer isn't competent freely discussing the subjects at hand.
So what I get is, write shitty confusing code and don't document it. Job security, got it!
What exactly are you attempting to achieve?

If you want to control who can withdraw what amounts on what schedule, then note that privacy.com lets you create virtual credit cards, and each card can either be set up to be a one-time use card, or locked to the first merchant who charges to it. You can also set various limits on each card, like total limits, per transaction limits, daily limits, monthly limits, or annual limits.

With these cards, you can look at approved transactions, denied transactions, cards that have no transactions at all, etc…. And you can temporarily pause cards or shut them off completely, configure notifications of when certain transactions on certain cards happen, and so on.

They’ve also got decent reporting of all this data.

So, tell us exactly what you’re trying to do (and why), and maybe we can help you.
You might prefer gron for this use case:
https://github.com/tomnomnom/gron
GNU tar can automatically decompress with -a, which might save some typing with these. Relatedly, you cannot append to a compressed tarball, which means those aliases will are improper if you try to append. Replace z with a for aliases that can append with GNU tar.
Ask HN: What to focus on career-wise as an inexperienced professional
Hi HN,

I'd like to hear your opinions on career development. I don't want to limit this conversation to sofware engineering/IT in general, so feel free to comment no matter your field.

To start, I've summed up some of my research for software engineering. Some things are more clear cut, others heavily opinionated:

- Learn as much as you can, try to have fun working, have at least x% of your waking day as quality leisure time, and don't burn out.

- Just get more experience

- Do side project work

- Contribute to popular open-source code

- Work at a big, well known company

Looking forward to your input!
naive question, but why can't you run the screen reader on the remote instance and wire key presses through? I do something similar when I need to remote desktop without using my hands - I install hunt-and-peck on the target machine, then I can say the hotkeys to bring it up and say letters to click things in the remote windows.

even if you have a crappy screen reader, it's better to throw your disabled users some kind of bone than to make them wait for some perfect solution that will never get properly funded.
The part about mastering English as a non-native speaker resonates with me. While starting with English is much easier than with romanic, germanic or slavic languages (because of its simpler grammar), pronounciation, idiomatic speech and the nuances of prepositions are almost impossible to get right unless you've got a talent with languages.
I think in order to discuss this we'd need to be clear about the actual solutions we're discussing...I'm not right now I'm sorry, so I can say no more than, in general, any additional data you send opens up the attack surface.

Tho I can say that, relevant to your idea, at least, in my RBI product[0], you can click somewhere in the viewport and say "Copy text" and then you get a HTML dialog open over the canvas viewport with the text. A screen-reader could potentially then read that.

But I think actual accessibility tools need to do so much more...Forgive me, I'm no expert in them.

Re the above tho, I don't see that as introducing a greater attack surface (tho I might be wrong) because on the server side we're just getting the innerText of the element the client clicked on, and sending that text back encoded in base64 (IIRC).

[0]: https://github.com/i5ik/ViewFinder
http://archive.today/2021.08.02-054731/https://www.bloomberg...
Yes, you are right, two mates getting to share a medal is a legitimate feel good story.

Some news outlets sell it like 'gamesmanship', which I guess I object to. It was totally not stupid.

Even for a random person if someone said, would I make them lose their gold medal so I'm the only one with a gold I think I'd chose no. But to make them lose it at the risk I might lose mine would be a little crazy.
I don’t know but I shudder at the thought of what state the world would have to be in for Feynman to be interviewing at Microsoft or any FAANG company for that matter.
I've been hired as both a Ruby on Rails and Go developer without prior experience, and managed just fine in both case. Of course there's a bit of ramp-up time, but it's not that bad.

I'm not even an exceptionally talented programmer: just a competent one. Of course there are real differences between languages that matter, but at the end of the day ifs are ifs, ints are ints, functions are functions, etc.

Relevant old joke: https://www.reddit.com/r/ProgrammerHumor/comments/4k994j/if_...

That said: there are some reasonable scenarios when you want to hire someone with prior experience; for example as a first or second hire it's probably a good idea in most cases, or if you really need someone who can hit the ground running.
The Frog Dilemma
This article is pretty ridiculous and lazy.

> After 40 years of allowing the market to play an expanding role in driving prosperity, China’s leaders have remembered something important — they’re Communists.

China isn't a true communist state and hasn't been for a while. Yet the author feels the need to dunk on this straw man and defend capitalism and venture capitalists who lost money in the tutoring crackdown. The muddy Shanghai construction photo is a nice touch too.
Indeed! I also would suggest people to use a CST implementation (parso / LibCST) instead of refactor if they intend do large scale refactors, but from what I can see in my previous attempts (e.g teyit, a unittest assertion formatter) when you deal with small code fragments (a single expression, or a small statement) then you generally don't need to worry much about the style. The only concern is the literals (especially strings, which there are a few different variations of the same AST) where you could resurrect them back from the token stream (which the CustomUnparser representative in refactor allows).

The real start point for this project was to find / replace all type(<literal>)'s in CPython codebase with type(type(<literal>)) (e.g type('') would become type(str)) which is very light weight transformation, and I was able to write a script which did it without having any major problems about style on over 2000 files. Here it is for the reference: https://github.com/isidentical/refactor/blob/master/examples...

Also one thing to note here is that; in the last couple of years, thanks to black (and yapf), the adoptance of code formatters have really increased which is very nice for custom refactoring tools like refactor since the end-code would be refactored anyways so that means if you convert a multi line call, or a list to a single line version then the formatter you use probably reformat that segment anyways.

But thanks for authoring Bowler! It is a very cool project.
That site has the most appalling cookie dialogue I have seen. There is no generic 'disagree' and an unending list of sites to deal with individually. I decided to accept all and delete as I left the site, but even as I went to do so the number of cookies was racing upward until it seemed to stop at 165. Having removed them I tried revisiting the page and even as the cookie dialogue came up I found I already had 51 cookies - for what possible reason?
The hiring process is like, 80% about marketing hype, right? Like you have to manufacture consent for the public to just accept that a private institution has a monopoly on search and browsers.

It's pretty clever, I'm surprised Microsoft didn't try it (or maybe I was just too young to remember).
I agree on your open source comments as far as, the only open sourced code a person has is personal pet projects. However, if you see someone has PRs and commits into something like the Linux repository or a major well known project, then their open source contributions could be very meaningful. As an example. If you are hiring for a position for a developer to work on garage band at Apple, if an applicant is an audio dev for FreeBSD, that is a pretty good sign the candidate knows what they are doing.
I agree it's subjective. Some people may prefer HackerRanks because it lets them do the work on their own time without someone watching them. For me, HackerRank problems almost always have nothing to do with my work, require passing an arbitrary test suite, and provide the interviewer with no insight into my problem solving ability. Who would you rather hire, someone who reasoned through the solution on their own, then dropped a hidden test case, or someone who saw this question before and just rote wrote it from memory? Perhaps both, but HackerRank won't give the former a chance.

Besides, if someone is duplicitous enough to have a good looking CV and no coding ability, what's stopping them from just cheating on the HackerRank?
I'd trust the world champion of chess to not mention physicality as a possible reason unless it had merit. She's been playing chess her whole life.
My single biggest improvement in getting somewhat organized and productive so far has probably come from getting comfortable with some amount of chaos.

I used to try and set up the perfect system for my notes. I got caught in endless cycles of coming up with some structure, finding new tools, etc. — only to then barely ever write down anything because it never quite fit into any of the boxes I'd prepared.

I used to try out a new todo app every other month, enthusiastic that this time I'd find the system that would finally enable me to never let anything fall through the cracks.

I'd plan out the perfect pipeline of bookmark - triage - read/watch/listen so that I could stay on top of every great talk, article, interview or book anyone had ever created and shared with the world. You can probably guess what happened.

Then, for some reason, I just got more... relaxed? at some point. Have a thought? Just make a note, doesn't matter if I'll ever look at it again or it will still make sense in a week. Sometimes I go back and expand on things. Sometimes I event write something out of it. Most times I don't and that's fine. Find something cool? Just bookmark. Maybe I'll look through them in a moment of boredom one day soon, maybe the never-ending influx of hot new content means I'll never get around to it. Whatever. Want to or think I should do something? Make a task, don't set a date, maybe I'll get back to it, maybe it turns out I don't want or need to do it ever. Got something you keep putting off? Maybe just delete it after the tenth time, it'll come back to you if it's worth it.
This sounds dreadful, on the positive side I had very enjoyable interview rounds in places like Goldman Sachs and Lehman Brothers (obviously this was a few years ago), 3 or 4 interviews hour long plus depending on if they were before or after work. These tested what I new, how I would approach things, and giving me a very good view of the people that worked there from more junior devs, architects and management in the teams I would be working in and those around it.

The best interviews aren't scripted but are created from around the interviewers expertise but based on the skills and qualities needed for the role.
That too, I agree
Unsurprisingly, the same word in Swedish is skuld, with the same double meaning.
> at Google you'll likely never see your interviewers once you start working there

Can confirm that this is largely true, with an asterisk.

The interview panel (for SWE candidates) is indeed drawn at random, but it's becoming more and more common to conduct fit interviews for specific roles. This is usually done by the hiring manager, in rare cases also involving other people (e.g. the tech lead).
Danger was great, right up until the moment they got bought by Microsoft.

Then they were pretty much completely and totally dead.

They weren’t the first acquisition that Microsoft effectively killed, and I’m sure they won’t be the last.
Reading this it just seems to me we're in for a really bad time with the new managerial class.
Maybe something like this:

https://semgrep.dev/

I found it last week. It may be able to detect a potential issue in multiple languages, but not sure if it supports refactoring.
> negligible percentage of revenue

But what percentage of profit? And far more importantly, are they large enough to serve as a disincentive for others to do the same thing in the future? I'd suggest that the popularity of binding arbitration clauses is evidence that the fines are noticeable.

(Note that I refer to class actions in general, not Zoom specifically.)
After travelling in Japan, I was really surprised by how cheap apartments are in Tokyo. For reference, this was 3 years ago near the big main Sumo arena/dojo, at around $800 USD/month, and fast food was around $4 USD/meal.

I don't know anything about the income tax rates, but 65-70% pay seems like you'd take home more than an SFer being paid SF rates.
The (Most Comprehensive) JavaScript Design Principles Guide
I bet the recruiter you spoke with wants everyone returning to the office.
> because one the interviewers lost the results.

yeah, no. You dodged a bullet with that one.
Is Python call by value or call by reference
Anyone managed to find a job paying over £300k based in the UK (you, not necessarily the job)? My pay has stagnated and I never see those SV rates advertised here. All contracts seem to top out around £750-800 p/d.

Looking for full remote, normal hours etc.

Golang, python, K8s, AWS devop. 8 years
This makes a lot of sense. If a person has good fundamentals and understanding of engineering and CS, then they should be able to master any tech stack. I think in software development, we are in a weird position. In other engineering fields, it is expected to have a base line knowledge and the ability to learn into new processes. Most software companies seem to not want hire engineers who can do that.
> Of course people should learn to use git "properly". What's the alternative, that they should learn to use it improperly? Everyone should learn to use everything properly

No, its not. The alternative is not to.

Time is not free. Learning a tool properly is an investment. Sometimes that's worth it and sometimes its not. E.g. i would never advise anyone to take the time to learn dc properly.
Back when I wanted to interview at google, I sensed some frustration between HR and the engineering. Some engineers just didn't make good interviewers.

HR wished I had gotten a different interviewer.
From wiki:

In August 2006, Perelman was offered the Fields Medal for "his contributions to geometry and his revolutionary insights into the analytical and geometric structure of the Ricci flow", but he declined the award, stating: "I'm not interested in money or fame; I don't want to be on display like an animal in a zoo."
“

Some people are built differently, what a legend.
Everyone wants to earn the money salespeople make until eat what you kill really sinks in.
No software system has reflected the true priorities in my life. Either it acts as a barrier to the chaos of multiple element priorities, or it tries to be an imperial filter of some sort, but no system has helped me truly prioritize in a way that’s meaningful.

I end up using thematic periods, where I prioritize some kind of epic that feels like it matters the most. Whether I’m the ceo of a successful company or the lowly person who is part of the two people eying success in the next one I experience the same problem.

Anyone else? I can’t be alone in this.
The native citizens will come to HN and offer some rationalization. The non citizens will offer others. The reason is very simple. The dictator is paranoid about losing control and getting killed. Simple as that
At one startup I did a couple rounds of phone interviews and a full day of in person interviews. Lastly I got to chatting with the co-founder. I can't remember the precise question I asked about how they were building out the team, but I clearly remember the answer. They made the interview process longer and more involved in an effort to narrow the field of candidates.

I understand the reasoning: if you think you have a special mission and want people dedicated to that mission, filter by dedication. But I'm not really sure there is a way for any one candidate to consume as much time interviewing for a role as that company could consume out of a pool of candidates. And that includes my smart-ass idea of trying to interview at Pinterest and stopping in the middle of the interview saying "please sign up to see the rest of this whiteboard solution".
Probably not. The free (as in speech) part of git is what made it usable for entities like google, Microsoft, github etc.
If git had been released with the same license model of BitKeepr it NEVER would have taken off.
> This is while even the main family line of Nizam of Hyderabad barely got enough money to live properly, and some of their relatives died in abject poverty.
The last of Mughals famously died as a bum.

They deserved it imho. Surprised the nizam wasn't prosecuted for his crimes against humanity.

https://www.thehindu.com/news/national/andhra-pradesh/surviv...
If plastics is recycled, it would have a better ecologic balance. Exchanging it with paper will also damage the environment further. It is only better if the plastic remains in the environment.

The problem is food packaging. Even if you use paper here, it often is coated with plastic anyway, any diary product for example.