skysight-inc/HackerNews huggingface dataset:
My view of the job market might be skewed, because I'm twenty-odd years into my career, and the people that are looking to hire me and often different than the people looking to hire a recent CS grad.

That being said, I wonder how much of this is just that people who have a bad interview experience are more likely to post about it than someone who has a "normal" experience.

Like you, I had one interview, when I was fairly new out of college, where they asked me how many golf balls it would take to fill a school bus. I've had a handful of interviews where I've been asked to do some live-coding; these were all less than two hours.

I've never been asked to go through six rounds of interviews, or do a take-home test, or tell them which color dragon my code is. Of course, I intentionally avoid FAANG, which is where I hear about a lot of this dumb-assery.
Yeah I think there's a lot of sense in that. I think it's likely that the ability to use these tools in a disciplined fashion will grow to be a significant differentiator between more effective and less effective programmers. The former taking a considered approach to design and then using the tools where they're a real force multiplier e.g., writing unit tests, and the latter prompting them to spit out large swaths of code they would have previously written by hand: "write an endpoint that does X".
I completely agree. It brings you back to more fundamental aspects of problem solving that sometimes you miss with higher level programming. There are a lot of things I can do on a modern web server with a language like Go that are pretty cool, but not particularly interesting because it's kind of trivial. There are so many resources available to the program, things to fall back on for resilience, plenty of common problems are ironed out into popular libraries, etc.

Trying to automate something truly reliable and consistently with a microcontroller on the other hand can be simultaneously soul crushing and exciting — there are so many edge cases and challenging problems.

Sometimes I'll spend hours trying to figure out how to interface with a single sensor, and while it isn't important or impressive in the scheme of things, I really enjoy it.
If you're concerned about data leakage, it's worth noting that model weights can very easily be used to reconstruct the original data that it was trained on: so it could be misleading to claim that user data isn't being shared over the network. To avoid this, you'd need to look into techniques like Secure Aggregation or local differential privacy. Flower does provide some of this, FWIW.
That's not true at all. Mortgages are based on a combination of interest rates and principal. This combination (plus taxes) create a monthly cost to purchase and live in a home. As interest rates go up, asking prices will go down so we end up at the same monthly price. Unless there's a big change in what people can afford per month.

Rent is based simply on what people that want to live in a property are willing/able to pay. Again, if there's a big change in what people can afford (lots of unemployment would drive down, inflation of wages would drive up) then rents will change. Otherwise they won't.

In the end, the price of a house going down as interest rates go up just means that the bank is getting more of the monthly payment.
You're thinking about it all wrong, like it's some kind of blame.

Seeing a problem and fixing a problem are two completely different things. Seeing a problem is a mental exercise, fixing a problem is an economic exercise. In this case, fixing the problem involves "just" buying, leasing, or otherwise occupying the most expensive premium public real estate. There's nothing "just" about this idea. It's expensive AF, and the person who wants more safety than current infrastructure can offer also wants lower prices than infrastructure can offer. How do you propose to square this circle? Where does the money come from?

Shouting "showstopper!" is not an answer, but fortunately the EV movement has a plan, one that will actually work. They plan to first address the needs of enthusiasts who are willing to put up with high prices and patchy infrastructure, and then use that money & mindshare to fill in the infrastructure to serve everyone else, both through destination charging (so you don't have to sit with the car) and through gargantuan factories that can drive the economics of scale to compete on lower price brackets.

Blaming men for not building this all yesterday is a bit silly. It'll happen. It's been the goal since 2006. There was no way to make it happen yesterday, but it will happen tomorrow. Patience.
That only makes sense if you have an ever increasing workforce, which doesn't seem to be the case anymore.
It's not so much about having another language to learn, it is about sharing code.

Suppose you need a meaningful data structure to encode something very domain-specific (for example a dynamic filter you could build with arbitrary boolean operations).
On the front-end side, it will be like a user-facing DSL that you can build with UI elements.
On the backend a recursive algebraic data structure you need to parse and that should go through standard algorithms to obtain (most likely deterministic) results.

So what happens if you have two stacks? You'll need to code a number of these parsing and processing algorithms twice, and each inconsistency will be a bug.
Every time we had the need for something like that in a project, it was done in the backend easily and correctly, but the frontend was lagging and missing features.
So even if the backend language is transpiled to run in a browser, it does change the game to be able to run the correct algorithms directly.
The cost difference, if anything, has narrowed since the start of the pandemic.
Original DIX Ethernet was standardized by my manager, David Redell of Xerox. It was the bare minimum to do the job, 6-byte station destination, 6-byte source address, 2-byte packet length, a 2-byte Ethertype field (the latter 2 were combined for networks with hardware framing), and 32-bit CRC. NO arc in the hardware. It leveraged the move to byte-based memories and small CPUs. It followed the end-to-end principle in system design just about optimally - the most minimal MAC design of all time. EASY TO BUILD UPON AND ENHANCE.

Ethernet (CSMA/CD) is a protocol that copies human speech patterns. After someone stops speaking people hear the quiet (carrier sense multiple access / CSMA) and wait a very short and randomized amount of time and begin to speak. If two speakers collide they hear the collision and shut up (CD - collision detection). They both pick a randomized amount of time to pause before trying again. On the second third etc. collision people wait longer and longer before retrying.

The thing about original ethernet (1981) is that it wastes 2/3 of the channel because a highly loaded channel has too many collisions and too many back offs. But deployment and wiring were expensive so running a single wire throughout a building was the cheapest possible way to start (enhanced by thinwire Ethernet and twisted pair to have a less bulky cable a few years later). The frame design was PERFECT and within ~10 years people were using ethernet frames to build switched networks and today only radio networks are CSMA/CD = Ethernet.
I've been thinking more and more about this concept where people, how you put it: "disturb the local economy with their purchasing power".

My grandparents lived a couple of miles from the city where Grandpa worked, but then when he retired they moved maybe 30 miles out where things were cheaper. I knew other folks whose parents or grandparents retired to Florida to take advantage of a lower cost-of-living and no income tax. That's just what people did - why pay a premium to live near the jobs if you aren't working?

More recently I've read complaints about folks from richer areas (often California) moving to cheaper areas, driving up the cost of living, straining local services, etc. Some of them are retirees, although remote work has added to the issue, leading to "go back to California" sentiment in Portland, Boise, etc. I've heard similar stories about expats driving up rents in Mexico City and Portugal, making those areas unaffordable for locals.

So I've got a healthy 401(k) balance and will be retiring one of these days. What are the rules for where I can retire if I want to move somewhere my dollars will go further? Is it still thought of as OK at all to exploit another area's lower cost-of-living in this way? Does it depend on the degree, like it'd be fine if I move to a nearby suburb that is 10% cheaper but not if I move to Thailand? Does it depend on economic conditions in an area, like how many existing residents are being priced out?
I thought what the OP was suggesting was if people are not buying houses then they are renting them, which may put pressure on the supply of rental properties which are not the same set of homes. In the short term a given house does not instantly transition from for-sale to for-rent.
This. I wouof look at total cost (including power) for a year of the amount of compute you need. I suspect starting with a single modern massive core Epyc will start to look more attractive long-term than 10s of old Xeon boxes
Buried lede: this is less common now than it used to be. Will it become more common? "Maybe", says one professor of economics. So maybe. Or maybe not.
> It is less that we are more distracted or distractable now and more that our current tasks are significantly affected by distraction.

Clearly both?

Processing dry material on a screen, that also offers endlessly seductive doom scrolling opportunities?

Sandwiched productivity & entertaining unproductively closer than its ever been!

It would be like a scribe trying to copy an endless and far too familiar religious text, while avoiding the pull of the odd pages, which all depict explicit colorful animated scenes of delicious sin.
I’ve been doing this for a long time now, and I’ve had good results from companies with humane interview practices.

Places that treat candidates poorly tend to treat employees badly, and companies that drag out the interview process tend to miss out on in-demand talent.

As a result, places that respect your time and well-being have been more likely to have good engineers who have stuck around. Places that are toxic and/or bureaucratic tend to combine bad hiring with high turnover and create a terrible environment.
Yes they share in the blame as they got greedy, but the Fed enabled it. Why else did First Republic Bank have a loan-to-deposit ratio of 113%? They were emboldened by the Fed thru the use of RRPs and zero reserve requirements.
Ask HN: Is remote going away? Why?
I hear stories around me and it seems like the remote is ebbing atm.

More and more companies are cutting down on it increasing the needed presence. At the same time they just don't have the real estate capacity to do it decently which means (at least in my personal experience) that you land in a noisy subpar open space (worst invention ever) for n days a week where you can hardly do any work.

Not to mention wasting time/energy in commuting.

It really beats me why a company would waste resources like that and I cannot explain it. The best I have is that this is some kind of power play but I'm not convinced. Am I missing something?
I like how you probably spent more time looking up your multiple-year-old comment that could have instead been used to make sure that you’re not sounding like a fool that doesn’t know what he’s talking about.

They have already committed to releasing it to all editors Copilot supports. So, you know, the exact opposite of editor lock in.
I remember someone on this site pointed out that GC-languages is inherently unsafe.

One example is Ruby, it’s a language with GC, so it should be safe. But it’s written in a unsafe language (C), therefore Ruby is unsafe.

Personally, I don’t know if I agree with that and if that logic can be applied to Go aswell.
I said what Chrome does. It has integrations. I have to use Chrome to log in at work, that's been the case at 3 companies I've worked at now. It is insane that Firefox doesn't see that as an obvious threat and build similar integrations.
+1 for copilot is good for ffmpeg. Recently did a project involving complicated ffmpeg filters, it could handle them on it's own quite well.
Working for a non-tech company can feel different though, because they are less developer-centric. Especially in the early days I remember many weird conversions I never had before: why do you need this weird software on your computer, or even admin rights? Do you really need that expensive computer/phone/monitor for your development, it's not the company standard? Why do you need to access non-standard ports via VPN?

On the other hand, I really enjoy working on things that benefit non-tech users and solve "real-world" problems.
No, I send the code causing the error as part of the prompt, and it responds with that code with corrections (if it can). The only English is the prompt describing the role and response I need from GPT.

I could write the code myself, but the thing is, if this program works then in theory it could address trivial errors at any time of day, at very high speed. The better it gets at doing this, the more useful it could be.

Most automations start out very inefficient, and many stay that way. I mostly do it to learn but I also see a real opportunity to remove a certain type of task from my plate if this service works well.

Of course, other companies (like GitHub) have likely already prototyped this and whoever runs with it will do a far better job than I'm doing. That's totally fine though, I'm just doing this to learn.

At first I was thinking I would have this inspect errors from something like Sentry, try to solve the issue, then spin up a PR or something if it succeeded (I have a version which also writes tests to verify its changes succeeded, but it's flaky when the intent in the code isn't crystal clear).

I realized though that this would probably be better as an extension in an IDE which can intercept error stacks in a terminal or over a port. That way there's full control over apply patches and no need to arbitrarily run code, which requires a whole virtual machine approach. Anyway, fun to learn, might be useful somehow, but totally cool if ultimately I do just write the code myself.
It seems like small fish in dollar amounts compared to other things, and I wouldn't even call it bribery so much as just unethical considering it was coming from political organizations that are responsible for helping those politicians getting elected. Plus the intent was getting the books on best sellers lists, money was just the means.
From what I have seen in major OSS projects like systemd and PostgreSQL, nothing seems to support static linking, to the point where some contributors get annoyed when you ask for it.

Seems like the C/C++ ecosystem will stay dynamically linked, even with a lot of the industry shifting towards statically linked, fat binaries as disk space is pretty cheap.

I wonder how much simpler Linux packaging would be if everything was statically linked...
brainwashing at its peak.

When USA does things, it is for the good of society, democracy.
When Russia does things, it is hurting people, bad for society.

Come on buddy, time to wake up and understand every country does things for its own good and whatever your media is telling about Russia is bad, it is because they're applying 3 letter agency brainwashing methods on to you.

Code is open source, if you read code you will not get under Russian propoganda.
> Unless a novel disease emerges or is manufactured that totally outclasses everything nature came up with in earth's history

What makes you think this is unlikely? Even putting aside that bioengineering is a very real thing, there is historical precedent for terrible novel diseases (e.g. black death, Spanish flu).

I'll also point out that "humanity is totally wiped out" and "we're going to be fine" are not exhaustive. A disease killing 10% of the world's population would not be fine.
Hmm, interesting. I'll try to avoid that pattern of speech in the future.
There are reasons. It's a reasonable security boundary. It integrates with other things that use Docker as the primary abstraction, and there's good odds I've got other docker things that aren't single binaries like databases and other tools. It puts it into a uniform control interface that works with other things as well. It doesn't cost much additional resources over simply running the binary directly because the real runtime cost of a docker container is the mini-OS they often bring up, not the target executable.

It isn't necessary, but it's not nonsense.
No, the AI will work for us, it's our pet.
Oh, cool! A summons!

Hey, nerds! Do some real hacking and program with solder and a 555 timer!

Regards,
The EE who showed up to drag you all
Ask HN: Are you trusting GitHub Copilot with your private code?
I'm curious how confident others feel about the code in a private repo not being leaked somehow by using copilot. Eg. by having it used as training data
I'm talking from perspective of Rust's async/await implementation, I'm not sure if the same holds for other languages with async like C# or Kotlin. Nevertheless I can do a loop like this:

let mut buffer = ... // create buffer for holding data
let mut input: TcpStream = ... // connect to remote endpoint
let mut output: TcpStream = ... // connect to remote endpoint
loop {
select! {
_ = input.readable() => {
input.try_read(&mut buffer)?;
}
_ = output.writable(), if !buffer.is_empty() {
output.try_write(&mut buffer)?;
}
}
}

The mutable buffer is shared between the part that reads from input and the part that writes to output, and reads/writes happen concurrently and independently. Yet there is no explicit locking anywhere!

Synchronization is achieved implicitly by the fact that sequential code executes in only one place at once, so when it executes the reading branch, it does not execute the writing branch. You can apply exactly same reasoning as with any single-threaded, sequential code.

You cannot model this easily with threads. If it was a single thread with blocking I/O, then it could block forever in one branch and stop reacting to events on other branches. If it were multiple threads, then they would somehow need to synchronize accesses explicitly to the shared buffer.
Interesting, how does this know what executables are available on your PATH?
She will preside over the Great Recession 2.0 just like Bernanke. Nothing wrong due to her really, she just inherited the mess that never got cleared since Bernanke time. By then she will need a Nobel to match Bernanke.
The land under the house doesn’t depreciate like the house does. Can always put a new house up. Hard to get new land, so unless regional demand goes down it’s a value-growth proposition.
Alternately if the EU or some other government were concerned about privacy (both in the "don't collect dossiers" and the "don't harass people with popups and unwanted features" meanings) and competition it could fully fund Mozilla or a fork of Mozilla that is free of Pocket and similar distractions.
I currently use copilot and 80% of the benefit I get from it is boilerplate and refactoring, the rest is just using it as smart autocomplete where I can zip through adding a bunch of properties or arguments. I use it for a lot of greenfield stuff though which is really where it shines since a lot of that work is just standing up all the essential bits and pieces before you have to do anything complex. It's helped me massively with going from an idea to a working implementation both by getting rid of a lot of the boring typing and by keeping me going when I started to get a bit run down or uninspired.

I can understand why you might not like it if you were using it for critical things that needed to be well planned and debugged before running. I don't find it very good at intricate work but that's ok with me since I want to really slow down at those points and think about what I'm doing.

As a side note, using ChatGPT with GPT-4 or even just GPT turbo is an amazing unblocker for projects where you need to use unfamiliar packages, APIs or languages. You can just talk to it about what you're trying to do and it'll provide you with great examples and explanations. It won't be right 100% of the time but it's right enough to get you unstuck and a lot faster than searching through docs or stackoverflow for a good answer. It helps to be very precise with your problem statement as well, like specifying the version of the package you want to use or a time frame. Those little prompt tricks remind me a lot of the Google-fu we had to learn to search effectively. I'm excited that Copilot is going to be moving to GPT-4 with chat built in, it'll unify the whole process.
wow, that is both very neat and hard to find
This was the case 4 years ago with GPT-2. Can't find the paper now, but the ratio was something like 48% vs 52% of people could tell whether an article was AI generated
Bootstrapping in SQL
How curious that lately there are a lot of "scientists" finding "evidence" that mysteriously fits with Christian narratives.
That's nonsense though. Yes cost/space was a factor but it's not like they built the first one in the absolute cheapest acre they good find, then put the second one in the second cheapest...

Proximity to amenities, to neighborhoods with high ev ownership, distance to the nearest charging station, traffic etc... Dozens of factors.

Meanwhile of course: will women (~50% of the population) be willing to use this is itself an economic consideration.
a headset is not a suit of AI products. it's kinda...irrelevant. meta has a headset, and that's working out great for them, isn't it.

so far, there's nothing. there's only vague rumors, or not even - just assumptions that "surely apple will do something about this", "they'll turn to ai eventually". well, they have siri. which doesn't exactly inspire hope for much.
Blaming the current situation on the Ukraine War reminds me of the crash in 2001. Things were going downhill already long before but when 9/11 happened, suddenly everybody blamed the crash on 9/11. I am pretty sure the current situation would have happened without the Ukraine war. Maybe a little different but the writing was on the wall long before.
> "A 2000 global study on homicide by the United Nations Office on Drugs and Crime found that men accounted for ... 79% of the victims"

I don't want to spell it out for you, but women are disproportionately the victims of different kinds of crime than homicide.
Ask HN: What are you most excited about and most afraid of in the AI space?
Afraid: fake news and spam apocalypse
Excited: Having a super powerful assistant that makes me more productive for e.g. drafting emails, writing code, creating legal contracts, ...
This makes no sense. Property/land doesn't depreciate. The actual home structure does but you forget that homes aren't static assets. They are continuously being improved. In essence, from the day a house is built, it needs to be rebuilt piece by piece over time. This affects the price.

Also you need to consider the lifetime of materials VS the inflated cost of new materials and labor to built an equivalent today.
Yep, it really just works with key/value pairs, so config overrides happen to individual keys. The config system itself doesn't really have a concept of nested objects or arrays. The config provider that reads the json file takes the path, like JobSettings[0].JobName, and transforms it into into a key like JobSettings:0:JobName (IIRC).

I tend to avoid using arrays in config because of the unexpected behavior, and the risk of overriding something you didn't mean to. Anywhere you'd use an array you can usually use an object and bind it to a Dictionary<string, Whatever>, then ignore the keys.