skysight-inc/HackerNews huggingface dataset:
When I was younger I had the same frustration as the author. Then as I got older and more senior and responsible for doing hiring I realized just how hard hiring is. I also learned to be more charitable with others. Generally people are trying their best. If you can come up with a repeatable interviewing method that works better, write about it and share it and people will adopt it. I came up with a method that didn't have a coding test; technical interview that takes an hour and really dives deep into what the candidate knows and has done via conversation. But it has the disadvantage that it is much harder to conduct and evaluate objectively especially when comparing multiple candidates. Their answers will not be directly comparable.
It's always the late additions that get you. Our wedding favor to our guests was a cookbook of recipes we collected with the RSVPs[0]. About the last thing I added was an About the Recipes page which included the following paragraph:

We have edited recipes for length and for typographic consistency, but we've done a bad job of it. This is in part because we did much of the editing with a drink in one hand; if we hadn't it never would have gotten done. We hope that we've successfully retained the color and character you put into the recipe while making the finished cookbook look at least somewhat consistent rhoughout.

[0] I cannot begin to describe how much work this was. If you're reading this and thinking "how lovely", you've been warned.
UCLA Team Creates Optical Computing Method for Processing and Encryption
`nvidia-smi` shows that my driver version is 550.78. I ran `nixos-rebuild switch --upgrade` yesterday. My nixos channel is `nixos-unstable`.

Do you know something I don't? I'd love to be on the latest version.

I should have written my post better, it implies that 555 does not exist in nixpkgs, which I never meant. There's certainly a phrasing that captures what I'm seeing more accurately.
Are you self-taught? How did you write the on-the-job code? Do you do well with take-home exercises?

Do you struggle with work projects that feel boring or abstract?
It's not unusual anymore for Software Engineers to be paid like mechanics... At least in some countries of Europe.
So, you're passing around textual source code chunks? How do you force evaluation?

I don't find this impossible. I have seen this in John Shutt's Kernel, for example. https://ftp.cs.wpi.edu/pub/techreports/pdf/05-07.pdf

But I'm just not seeing the mechanisms I expect for such a language.
Visibility Jam 2024
I don't come from TS, but this seems like a good intro to zig from that sort of perspective. There's a whole lot of paradigms to relearn when you switch to something like Zig and this kind of content is useful.

I'll nitpick with one complaint though...

const values = std.AutoHashMap(Point, u32);
defer values.deinit();
try values.put(Point{ .x = 0, .y = 0 }, 1);
// ~~~~~~^~~~ error: expected 3 argument(s), found 2

> The mistake here isn't on that line, and it doesn't have to do with the number of arguments. Rather, it's that I forgot to call .init() on the hash map

Well...

>>> class MyType():
... def test(self, a, b): return a + b;
...
>>> x = MyType
>>> x.test(1, 2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: test() missing 1 required positional argument: 'b'

How else do you want unbound functions to behave when you haven't constructed an instance of the type yet? (And FWIW, zls in vscode correctly annotates values as having type `type` for me)
Also as an FYI, dissociation can greatly reduce the efficacy of so many other treatments if not detected.

See here for a short primer on this: https://www.youtube.com/watch?v=jWRnewwMO2U

Also if it might help, I'd recommend doing a self assessment for dissociation. The MID-60 is the one that I'd recommend over the DES-II, as it gets much closer into real experiences without as much wiggle room.
This was common in journalism: https://en.m.wikipedia.org/wiki/Tick-tock_(journalism)

But I haven’t heard it in a while.
Excellent write up. This wasn’t a sophisticated attack. Seems like there is very little discipline at Salesforce when it comes to deploying production systems.
The aws examples take me back to when I worked for a business where all technical decisions in a LoB were made by the non technical LoB manager.

A particular LoB had ignored our warnings that their technology selection would not scale, implemented a website that was incapable of scaling, paid the developer of the tech for a cluster license (5000 bucks per quarter per server I was told) and implemented the technology in such a way that they could not identify when 1 member of the cluster had failed to automate fail over.

Instead of fixing it (a months development time to port to another web platform max), they simply planned to have a tech online for their high traffic events to manually pull cluster members that stopped responding out of the cluster, reboot them, then add them back into the pool for 3 hours straight.

Then they would throw more resources at the VM, and grunt about the infrastructure team not doing their jobs. It was insane. This platform would quit responding at <700M used memory and <1% CPU.

What was extra fun was when they paid a very large AWS integrator to move the cluster to the cloud. When the AWS integrator got a look at it they just walked away. So instead they paid a local mob to do it.

At the time, pulling a windows environment up and down via cloud formation was not something that automated easily. They got 50% of the way through and realised oh shit, this is either going to cost us 10x the contract value or might even be impossible, so that local group ghosted them taking 100% of contract funds (I got to be in the meeting where they actually read the contract, and they had a very good contract that no one had read that allowed them to declare a technical impasse and bail with all paid monies. OFC they paid 100% in advance) too. So they ate the spend, and just called AWS the "DEV" environment, deleted the cloud formation scripts, and started packaging deployments back to "Prod" which was running on the infrastructure they would never stop hating on.

Once that was done they called an all staff meeting to praise the team for completing their project only 3 years late.
Right, and that's where most of their growth is.
Conversely, my company, which interviewed me by having me write ‘for’ loops in all 12 or so languages listed on my CV during the technical interview, is a pretty decent place to work.

I cannot tell you how bemused I was after leaving that interview. I’d done months of degrading stupid ‘tell us some trivia about JS’ interviews, and here was someone that (apparently) just wanted to judge whether the information on my CV was true.
That is neat. I wonder if the antenna is there for aesthetics ?

Also, would've been better if it folded up like a clamshell phone from the early 2000s.
There's a joke that Mystery Spot bumper stickers are a communicable disease.
I've been playing around recently with a project I'm calling guish.

https://github.com/williamcotton/guish

It is an experiment in using *nix pipelines to put languages on an even footing and not just treat them as strings embedded in strings.

I guess take a look at the screenshot and animated GIF for a better idea of what it does!
Hope Sid comes out with a full recovery. I love that he engages with HN, though maybe that's dropped off when GitLab went public.
I would never do business with a company like that. Such a terrible way to get someone’s attention.
I find it intellectually unsatisfying, so no.

But the way semi-serious people kick the idea around, sure. Pony up. I don't think that my religious beliefs submit to rigor, either. But I'm not here pushing something labeled as "religious beliefs" as a "hypothesis", either.

By the same token, if someone wants to call it the "Simulation Belief" in a religious sense, then I will lay by my dish.
I don't see the point of passing the size to a "free" function. I don't see how it could be used to speed up de-allocation. Additionally most usage would probably not want to keep the size around.

But I concur that realloc is mostly pointless. For code that want to grow or shrink, I think it's much better for it to know the data block size. I think there's very little opportunity to happen to have free memory next to your allocation that can be "grown into". At least for slab like allocators, so the growing room is minimal.

It's a bit difficult to unify all APIs because data will be needlessly passed around, when in most cases you don't care. Aligned allocation may also need a slightly different implementation anyway.

realloc and calloc are warts in my book...
If you're "supposed to know", I would assume enough use to not need to brush up. Brushing up implies not used enough to keep in the mental model.
Seems mostly like hype.

The analysis below seems to show that GraphRag with @Neo4j offers minimal improvement in context retrieval and only slight gains in answer relevancy and faithfulness.

https://aiencoder.substack.com/p/graphrag-analysis-part-1-ho...
https://www.linkedin.com/posts/bohr_remember-my-aws-checklis...
Super cool. Well done! I've been wanting this for awhile; glad to see it.
Haha I wouldn't. People have made such a big deal out of this drug requiring set and setting but I've swum in the ocean, played soccer, watched movies and TV, played board games and all with great fun. Indoors and outdoors. It's fantastic.
> And a lot of the jobs are jobs that the person would do well in, but the employers don't bother to see it. I know there are jobs that I would have done extremely well in, but the companies were just black boxes.

Oh yes. One sticks in my mind. All of these details were present in my resume.

Job Ad:

> Expert level health insurance system knowledge and experience interfacing between EHR providers and partners.

Me: Director of Product for a claim benefits management software company (i.e. the software that insurers use to run their business, cut checks to providers, process premiums, calculate deductibles, etc., repricing, the whole nine yards). Also have worked extensively with EPIC, Cerner, ESOsuite. Have also worked in platform development, third party API integrations.

I get that it was probably the boilerplate, but stung that twenty minutes later:

"We apologize, but we are looking for someone whose skillset and experience better our aligns with our requirements for this position."

Huh. I may well not have been the ideal candidate, but not sure how much more closely my experience could have been "aligned".
altered carbon is a great show that deals with this
Agreed. The moment the iPhone mini comes back, I am buying one straight away
> AMD just works. I don't get the fastest ML machine, but I am just a tinkerer there and OpenCL works fine for my little toy apps and my 7900XTX blazes through every wine game.

That's the opposite of my experience. I'd love to support open-source. But the AMD experience is just too flaky, too card-dependent. NVidia is rock-solid (maybe not for Wayland, but I never wanted Wayland in the first place).
Are you using wayland or are you still on x11? My experience was that the closed source drivers were fine with x11 but a nightmare with wayland.
the 39.7-kilobyte turbo pascal executable doesn't include the (modest) pascal runtime library, because it is itself written in assembly, not in pascal. awk, being an interpreter, does have to include the runtime library in the same executable as the parser. awk is also written in c rather than assembly, and moreover using lex and yacc; lex compiles the lexer into a deterministic automaton written in c for speed, and all of this is compiled with pcc, whose optimizations were relatively weak by today's standards

i haven't compiled version 7 myself so i don't have a clear idea of how big it is

a slight correction to my above comment! on running `file *` in bin/, i see, among other things

at: PDP-11 pure executable
awk: PDP-11 separate I&D executable
bas: PDP-11 pure executable
basename: PDP-11 pure executable
bc: PDP-11 pure executable

if i understand correctly, this means that this awk executable is built with what we used to call the 'small memory model' on the 8088, using separate instruction and data segments. that way, awk could have data stored at the same address as executable code, so you had 64 kibibytes available for just the data. you didn't have to squinch your awk program and all its data into the 65-46 = 19 kilobytes left over after the awk executable was loaded

this, in effect, allows you 128 kilobytes for the functionality of your program: when you call an awk builtin function (usr/src/cmd/awk/proc.c lists seven named functions: substr, sindex, sprintf, printf, print, split, and instat) you're invoking code in the instruction segment, while the logic of your interpreted code shares the data segment with the data you're manipulating (strings or arrays or whatever)

so it's at least misleading that i said it 'ran in the pdp-11's 64k address space'

not all pdp-11s supported separate instruction and data segments (i think the more expensive pdp-11/45 did, but the pdp-11/40 and pdp-11/20 didn't) and most of the 7th edition executables didn't require that. but awk, adb, dcheck, dd, fgrep, icheck, lex, ncheck, refer, restor, sort, tar, tbl, uucp, uulog, uux, and yacc did. i'm not sure how you were supposed to run a unix system without dd, icheck, tar, uucp, restor, or adb (sdb and dbx didn't exist), so i think maybe at this point they had given up on supporting the smaller models
Apparently "Rust is named after a fungus that is robust, distributed, and parallel."

https://stackoverflow.com/a/16503989
Ask HN: Considering Living Abroad Given Political Instability
Things are obviously pretty crazy at the moment. Are there any places folks from the US have moved abroad and experience as enjoyable and reasonably stable socially and politically?
Only address space of 1 MB is reserved (which can still be a problem), actual memory usage is limited to the memory pages that are actually accessed by the program within that address space.
How is this related to Salesforce?
>but when they describe the process it adds up to around 4-5 hours total.

4-5 hours for an entry level role does seem excessive yes (if you're not a top tier tech company). How much do you really need to gleam from a new grad? Why does a new grad need to talk to the CTO to show their eagerness?

I've gone through longer hurdles (one interview I did for a potential 2nd job with 2YOE at the time was HR call, 2 stages, and an all day interview with 3 technical stages and 2 "culture fits". So evaluate the stages as you will there), but that doesn't mean I saw it as reasonable. I don't hold the cards in these processes though.

>I frequently have to convince people to do simple take-home problems

everyone's experience will vary, but I've never had a "simple take home problem". Ironically enough my shortest problems were timed 90 minute leetcode medium-hard questions. most other takehomes are just 4-12+ hour miniprojects or quizzes spanning coding, math, language domain questions, and system design. I did it for my first few jobs, but I really can't these days unless I am already far along. Especially when you get a few from last year that ghost you after you turn it in.
Can you help me understand the intention of this other than just being a DoS tool?
"body's response to an illness, injury or something that doesn't belong in your body (like germs or toxic chemicals)."

If you get a splinter in your finger and it goes red and swollen that's inflammation. It's like the first line general response before things like the immune system kick in.
This is much more basic than what I thought you meant. What you're outlining are critical thinking skills. And I agree, lacking them makes a programmer far less valuable.

But there's a whole other level of fluency around the theory of software development, and it comes from experience with different architectural patterns, and being able to see into the different futures of each architectural pathway,and being able to converse with other people who understand software at this level.

Although, calling it a level really undersells it. Multiply the potential capacity for this talent by every dimension of software building, and you start to see how people having even a little of this skill, but being able to work with others who have a bit of it in a related dimension can form a team that is more than the sum of its parts.
Apple II Hi-Res 10 Print *or* Robin vs. Applesoft Basic [video]
Are you sure shrooms? If chocolates or gummies the compound therein is not quite the same as recent news stories have noted.
Being at mid-level, there seems to be no demand for my skill level.

>90% of postings I see are beyond mid-level and seem to be inflexible in those requirements.

From where I'm standing, jobseeking as a senior looks like a candidates market.
Wow. Pretty neat stuff.

This is another great way to understand what computers getting faster by three decimal orders of magnitude means :-)
Doesn’t the watch also emit radiation?
Which service goes that low? The ones I know limit you from using 4k, but anything up to 1080p works fine.
When I was trying to choose a PhD supervisor one of the things I did was read through recent grads' acknowledgments. While no one ever mentioned their advisor with anything but gracious words, you could get a pretty good idea of what working with that faculty member was like.
At a glance it seems correct, but there's a lot of inefficiencies, which might or might not be acceptable depending on the interview level/role.

Major:

1. Sorting finishedPaths is unnecessary given it only asks for the most frequent one (not the top 3 btw)

2. Deleting from the middle of the unfinishedPaths list is slow because it needs to shift the subsequent elements

3. You're storing effectively the same information 3 times in unfinishedPaths ([A, B, C], [B, C], [C])

Minor:

1. line.split is called twice

2. Way too many repeated dict lookups that could be easily avoided (in particular the 'if key (not) in dict: do_something(dict[key])' stuff should be done using dict.get and dict.setdefault instead)

3. deleteIndex doesn't need to be a list, it's always at most 1 element
Wouldn't the extra money allow their message to get better "saturation"? If they can get their message out and cover more ground, be repeated more often, etc. Doesn't that give them an advantage?
I moved to Canada in 2019. It ain't perfect, but it's home.
Something like a DAO (decentralized autonomous organization) could be one way to go. DAOs are tricky however: very difficult to implement an effective governance structure in code. But I reckon it's possible to use some DAO concepts and develop a co-op type model. There are sources of funding available for 'community interest' type business ventures.
* 6. Arize LLM Otel (OpenInference)
There are hundreds of companies pitching some variation of this product. That includes startups with a narrow focus and also large companies like Microsoft who are integrating CoPilot directly into their Office 365 offerings.

The issue is not the idea, which is about as obvious as “b2b spreadsheets” would have been in 1981. The value of the pitched product is self evident, if it works. But why should anyone choose to try it over the many relatively mature alternatives?

If you want to win any slice of the pie, you’re going to need to find some way to differentiate, and some kind of growth hack or flywheel to systematically expand. Preferably you can identify one vertical and use case where you can offer features that are sufficiently specialized for buyers to choose your product over generic solutions.

In other words: don’t try to be everything for everyone. Instead of wasting your time building pipelines for 1000 sources that nobody will use, pick a cluster of them and hitch your wagon to that. Go deep on that use case, and if you find success, only then begin to expand “wide,” deliberately and methodically.

I admire your ambition, but personally I’d consider attacking the problem from a different angle. This is a crowded space with well-funded competitors.
Nah, that's what "float" status is all about. There's a voltage where it's safe to let the battery sit indefinitely. Float is less than full-charge peak stress blow-things-up-if-you-stay-here voltage, but IMHO that's to be avoided anyway. So I set the power supply for float, not peak.

Furthermore, all the lithiums have a built-in BMS that'll dehance the charge-path FETs if a single cell goes over its cutoff voltage. So even if my power supply were to lose its regulation and attempt to overcharge them, they'd just disconnect themselves.

The lead-acids in such an overcharge state would simply convert more of their electrolyte to hydrogen gas and eventually deplete the liquid, but because the power supply is so weak in the first place, it couldn't force that to happen at a problematic rate. The regular drafts and air changes through the house would keep the hydrogen below its LEL unconditionally.
Since there is no timestamps, it being in order is a requirement because otherwise it's unanswerable. Since chronologicalness is indeed virtually universal for any sort of log file, it's also a fairly safe assumption, but sure, if you want to double check assumptions then it's a valid question to ask. I do think it was obvious enough, though, and the question that came to my mind was rather about scale, like: can I assume the number of users and unique paths will both fit in RAM?

Btw, if you want CSV log files, look no further, and not all my data logs have timestamps either! :D The particular timestampless case I'm thinking of, I wanted to log pageload times for a particular service so it logs the URI (anonymized) and the loading time, though I think that's not csv but just space separated, one entry per line
Kinopio Blog on Kinopio
In other words, the university was terrible at pacing the material, and the high school could only salvage the first year. Very common at university.
A New Social Contract for the Age of Artificial Intelligence
>I remember getting into programming even in the 1990s and I can tell you a lot of the C world would still consider associative data structures like a hash table something to be a bit exotic and only to be pulled out if you had no other choice. It was very easy to not be very up to date on these things.

That's a little surprising, considering that the classic first book about C, K&R was first published in 1978 and again in 1988, the first and second edition, respectively.

One of the editions, maybe the first, had a simple hash table implementation, that just summed up the ASCII values of the characters in the given string, modulo some value, and used that as the key for the string being hashed.

.

https://en.m.wikipedia.org/wiki/The_C_Programming_Language
I feel like the most popular pre-app wide popular usage would’ve been the Ke$ha song.
An introspective person would wonder why it is so obvious to others that they have no experience with teaching in the classroom based solely on their views of teaching.