skysight-inc/HackerNews huggingface dataset:
I once briefly experimented with the idea of a programmable fake server:

1. At startup, the fake server is tabula rasa

2. The "before" part of the API test script will call specialised POST endpoints of the server to set up the fake endpoints (and the responses they are supposed to send) required for each test. The state is in-memory.

3. When the service that is the test target is started in test mode, all its dependencies point to the fake server.

4. The test script then runs the test on the service

This required zero application level mocking code. All the mocks were defined in the test scripts.
> Look at research in prompting: chain of thought, react, reflection, tree of thoughts, zero vs few hot etc. Then completion vs conversational interfacing. Then memory management via vector databases and prompt expansion vs compression vs progressive summarization etc.

Wow, that's a list of things that's completely new to me - thanks! Do you have any particular resources that you'd recommend for learning about these different topics?
Your point about the inherent conflict between educating juniors & having lots of contractors is an important one. The most messed up teams I worked for were 1/2 (junior) contractors and this was a big issue. You basically have a team of bad developers you don't really mentor & expect to get better. As to the why, you can talk to management. The senior engineers lost that fight.
Vanity always provokes a strange mixture of disgust and pity in people but vanity over appearance is the saddest kind of all; it's the cherry blossom of folly but brings out sympathy because of that.
Thank you for that pointer -- the book sounds really interesting and I'd never heard of it, or the writer, before.
I'm surprised Microsoft still isn't pushing .NET 6 (and the MSVC runtime, for that matter) to everyone with Windows Update. They're not very large, most consumers will want them, and picky enterprises could opt out.

It's an odd annoyance that Windows developers have to deal with.
I don't see why. There are some type of code where I think unit testing is very beneficial and other types of code where I'd probably prefer a different style of testing. But for code where unit testing helps I find it useful independent of any of other types of testing that may or may not be happening as well.
Just draw a new camel and call it a day.
> And, those people are often trying to leverage worker passion to staff their companies.

Is there usually a good reason for an average employee to pour their passion into work? Seems like it's better to do a better job than your peers/coworkers but not shoot for the moon, unless you're getting a significant amount of that profit.

Most passions I see are usually poured into something separate from your earning potential, i.e. working a service job while writing music, auditioning for a movie or play, etc.

Unless they can afford to go all in, via startup funding or savings while working on their own project.
How and Where to hire top coders?
I want to build a tech team but i don't know how to gather really good coders to work on a project?
Good idea, I'll look into adding that feature. And thanks for the compliment.
I have the same problem on my 2015 Macbook Pro, I can do all usual work I want, but website are getting slower and slower burdened by heaps of JavaScript, autoplaying video and what not. Sometimes I even have input lag when typing in a search bar(!). The Ikea website is a good example of bloated website.

Adblock only helps a bit, and most websites don't work without javascript.
it's a few weeks away. However, voice messages isn't in the initial release; it will follow shortly though. Hopefully the entirely new codebase will help resolve lag and other issues (please make sure the current issues are filed on github.com/vector-im/element-android/issues though, so we don't accidentally port them in EX...)
+1 for the torrent compact. I does feel like the perfect middle ground. The top mounted PSU of the torrent is quiet limiting in term of water cooling though
Quoting Ygg2,

"However, most that want to keep interoperability with Java, in order to get benefit of huge deposit of packages. That often means having to repeat Java's mistakes to maintain compatibility"

Or going back to the comment Ygg2 is replying to, regarding any ML derived language?

Where exactly do I assert anything regarding running on the JVM having any relation to Rust's position on the language market?
As a note about repairability, ignoring various problems with the phone: while the FP4 does have more availability of parts from the manufacturer, is generally easier to repair, and is advertised as repairable, I found the Fairphone forums to be surprisingly and unexpectedly hostile to discussions of repair and repairability.

A significant portion of the forum userbase considers that Fairphone's primary focus is on fair trade, the treatment of workers, and the sourcing of raw materials. Regular posters, and highlighted users ("Fairphone Angels"), will often argue to users that the phone is not primarily meant to be repairable or longer-lasting than other phones. Concerns about outdated security updates and long-lasting, serious software problems with basic functionality often get responses about workers in phone manufacturing, and reminders that this is the point of the phone. This goes directly against Fairphone's own advertising, but it seems to be the general sense amongst users the company attaches their name to.

Coming from the Framework forums, this was astonishing and disappointing.
I have a Thinkpad p16s (amd 6850U), and while it's overall a good laptop, I would not recommend thinkpad again.

Aside from a hardware defect at the beginning (cpu cooler not correctly installed), they disabled S3 sleep in BIOS after an update and sleep is sill broken. Unless I boot with `processor.max_cstate=1` the graphics lock up ~once a day (even if you keep it idle and on AC), and resume is more miss than hit.

It seems to be a known and ignored bios problem. (Some say on windows, too. I didn't check)

Wayland/sway might be less capable than good old X on resuming from graphics lockup, but I really disliked Thinkpad BIOS this time.
Running Python and such is still, largely, done by hobbyists while the majority of software used in commercial embedded projects is still primarily C or C++. Maybe it’s been slowly changing but, slowly.
The AI-Pocalypse (2016)
Yeah, it does seem that filtering for high yields and monthly payouts tends to return a lot of leveraged funds. Pulling more quarterly paying stocks may add more value-oriented companies. I'll consider this, as well as adding more filters to accommodate that.
It has microG you can download the apps you want including the play store
I consider the Guild Wars wikis some of the best in the industry. The developer provides the platform, the community the content.

After over 15 years I'm always surprised how good we have it when I'm looking for facts about other games.
Will they also build a Fab in Newcastle? https://www.youtube.com/watch?v=AE0DEOictVg
Here you go: https://www.theguardian.com/technology/2022/oct/08/elon-musk...

Your examples are quite different from that. Buffet and Apple have profited/continue to profit off China but hope you don't notice, they aren't enthusiastically praising how much better it is than the US and saying things about Taiwan that the government wants. Especially seeing Google cited is funny since it was an exploratory project that got nixed when more of the company found about it, and they've been famously uncooperative with China.
This dive into the details was really interesting to me:

https://www.vrc.crim.cam.ac.uk/vrcresearch/london-medieval-m...
You could even say Earth geochemistry brute forced biology all the way to space faring monkeys.
Because FreeRTOS is written in C.
Tell me an alternative which ticks all the checkboxes and I'll switch immediately. C++ isn't it because the committee has completely lost focus since ca C++11, Rust isn't it because they completely forgot about ergonomics, simplicity and elegance on their quest to fix memory safety (and both C++ and Rust suffer from "design by committee").

Zig looks perfect so far, but it's too early to switch over yet.

Any other promising candidates?
This is because you are still assuming software being developed the same way. Could you give me an example of potential risk that is absolutely impossible to solve no matter how we change the entire computing process (from users running the app, to the app developer, and to the os developers)

I am not suggesting anything that would increase development time, in fact it is the opposite. Having to explicitly support multiple platforms is hell for both developers AND users
It's a shame then that nobody in the world fully understands C++.
My day to day over the past 15 years has been similar to you: Python, javascript, Clojure and clojurescript and some Java. In my free time, for a few years now, I’ve been writing C++ (17) and I love it.
cargo-semver-checks author here, thanks for the kind words :)

I've written several blog posts about how semver in Rust is particularly tricky and has unexpected edge cases, if you'd like to see specific examples of things non-obviously going wrong:

https://predr.ag/tags/semver/

Also, I've been working with the cargo team and the plan is to merge cargo-semver-checks into cargo itself, so it runs automatically on `cargo publish`. This would be similar to how cargo checks for uncommitted git changes: it will alert if it finds anything but you can override it if you think that's warranted.
Ok this is like saying let's make an interpreted Python program run fast, knowing full well it's not intended for that. .Net's intention by using bytecode is safety, sandboxing and performance.

Why not teach the right tool for the job and illustrate it being ported to C (or lower) if the aim is to make it smaller?

Can you imagine a mechanical engineer trying to turn a screw with a pair of pliers with the justification that it's just a simple screw and they want to see what the minimal number of turns is whilst shaving the screw to improve grip? You'd think they were nuts...
I've got a FP3 (so the older model) and I have had no problems with any app. I don't use Tinder, but Whatsapp works as good as on any phone I've ever owned.

As for the cheapness, I've been keeping a running tab of how much the repair is costing me vs how much it would have cost with a normal phone (ballpark estimate) and, considering the phone price, I'm currently saving about 200€, even factoring in the phone price. The biggest expense is shipping because I live in the middle of nowhere and I can easily get 10€ of shipping on a 15€ spare part (which is why I'm not replacing the protective cover even though it looks like shit).
> There doesn't appear to be a single mention in the forums of a repair shop willing to work on the FP4.

That's a good point as well, companies like Framework are doing a better job on that front (afair) with releasing detailed repair PDFs for shops that need the circuitry to debug electrical issues/replace parts. Haven't seen something from Fairphone yet.

> Apparently, for the FP4 (reportedly in a departure from some previous devices), all software development is also outsourced.

Oh, I haven't heard of that yet - till FP3 they had some significant in-house development ongoing. This would explain why FP3 will get an Android 13 upgrade (from 11) soon, while there is no announcement for Android 13 for the FP4 yet.
overall this is great. but I'm surprised that meeting acceptance criteria is under "implementation" and considered less important than api design. I agree that api design is harder to change later on, but the most important question is, does the PR solve a problem that currently exists? if it does, then you can think about whether it does it well.

it makes me wonder if the product/engineering split has grown wider than it should. we really should be pretending we're product managers more.
This wasn’t in Chicago, perchance, was it? There was a lovely museum of holography there that I was lucky enough to visit in the early 2000’s before it closed. Your description reminds me of that.
all compiled language systems must support a separate link stage, if they are to be of any practical use
Does he say it's a possibility? I haven't found it mentioned in any of the posts (haven't read them all yet)
I'd buy a Framework phone in an instant...
TDD gives you a testable interface, but otherwise doesn't help think what the api should be.

You can so TDD using only integration tests. This means tests are not added after the design. It only means that your individual functions don't have tests. I do this allowed the time, it makes refactoring easier.

The most common objection: how do you know what failed? Turns out to be a non issues, since I make my tests fast I can run them often and thus the failure has an obvious cause: the last thing I changed.
https://Wa.rner.me
Write about The Arts & Tech and how we must defend the former from the latter
You really wouldn't, finance companies have always wanted college degrees. You could however get a job at a dotcom if you could write basic HTML.
Ha, I love the 'Believer plan', it's much more honest than most of the vaporware sellers out there (errm... kickstarters) and to outdo them you have at least released.

Kudos. I'll consider becoming a believer, since the 'scrapbook' extension got murdered by FF leaving me with years of inaccessible notes I've been looking for a replacement, even if not perfect it will definitely have to be based on open standards and open source.
> it's an example of IFNDR, a get-out in which the language standard just washes its hands of difficult problems by saying in that case what you've written is silently not a C++ program, so its behaviour is arbitrary but you don't get any compiler diagnostics

How does this differ from undefined behavior?
Perhaps you would prefer so-called "Dividend Aristocrats" that have a long track-record of high dividends.
Very impressive and a perfect article for HN.
if the idea doesn't work out in general, maybe it can still be used to make air dehumidifiers more efficient?
https://archive.ph/UXyGN
Congruent with runtimes (both .NET and native) for Microsoft languages always being kinda weird. "Uh yeah don't use that CRT in %WINDIR%, that's not supported! Everyone need to bring their own... but not as loose DLLs, that's not allowed! Use the MSI package and install it whenever!" (I think most of those restrictions have been removed in the last couple years, and MS also settled down on VC++ ABI and VCRT changes and introduced UCRT in Windows 10, so)
You'd really hate my browser state. While on a project I can easily have a few hundred tabs open for days.
FWIW, I'm on mobile, and I too was concerned when I had to look around to see the price. It seemed like an "If you have to ask, then..." scenario.

But your $45 price seems really reasonable, so maybe worth showing it clearly on the mobile landing page?

Not my area of expertise; just my personal 2 cents.
Nice site! I agree, this information is generally pretty hard to find.

I hate that dividends have such disadvantageous tax treatment in America because I think dividends are the healthiest relationship between companies and investors. They try to make money and then give you some of it. As long as the dividend amount is healthy for both the investors and the company your interests are aligned.

Stock buybacks are such shenanigans in comparison: they make money and use it to inflate the value of their shares. Often they do this to hit certain price targets that help with executive compensation (or just image). And in order to actually get your profit you have to sell, which means you’re no longer an investor.
Hi! I don't have a website or a blogpost or anything, to be honest. If you want to chat about it, I'm happy to - my Discord is on my profile, my email is prisznyak.zsombor@gmail.com , or if you want to communicate with some other platform, let me know.
I read this as a “we are loved in Belgium” kind of statement.

No one knows bendingspoons. But they are European, so I guess they are slightly more known in Europe.

This, of course, seems stupid to me as it’s not like work location corresponds to brand awareness. And this could be a reason to increase brand awareness, not give up.

Just seems like stupid following more stupid. Or a decision is made for an unknown to us reason and they backed into an explanation.

I think it’s better to just say nothing.
That's actually American.[1]

[1]: https://en.wikipedia.org/wiki/I%27m_a_Little_Teapot
Tool author here. Your hunch is absolutely right. An analysis I and a few contributors did for Rust showed that over 1 in 6 of the top 1000 most downloaded Rust crates has broken semver at least once in a way our tool can detect & where we can produce a program that suffers a compile error due to the semver break.

This is obviously a lower bound, and yet it's quite a high number already.

I plan to write more about this on my blog in the coming weeks:

https://predr.ag/blog

In the meantime I put some more info (including a link to slides from a recent talk I gave on this) in another comment:

https://news.ycombinator.com/item?id=36653954
You had many answers.

You don't really start a project in C unless you target limited hardware or some low-level library that can be embedded in other things and interact with other language that can make us of C-style APIs.

C became the "new assembly", meaning it sort of replaces the role assembly had. The chips that are sold are not programmed in assembly, because they're sold with a C compiler target directly.

C is more than a programming language, it's an universal glue, so it often makes sense to use C because it gives access to everything. It's like english: you can't expect to use esperanto just because it's a superior language. Programming languages are the same.

Disclaimer: I mainly use python and C++.
good coders want good managers
heh - no.

Camera stacks on modern phones process many raw frames to make a single photo - sometimes as many as 100.

Collecting those frames is done in a second or so before and after the user clicks the shutter button. Thats a data rate of ~15 Gigabits - far faster than most phones can write to storage - and anyway would you be happy for each photo to take a few gigabytes of storage space until it was processed?

Therefore, the raw data needs to be processed (or at least preprocessed) in realtime. You can't store it and do it later.

And to do that, you typically need custom silicon - all the big phone manufacturers have ASICs dedicated to image processing.

And to make the trouble even worse, you often need to use data from some of the raw frames to adjust camera parameters for the next frame - for example adjusting amplifier gains. See patent US9196027B2 for an example of the sort of thing that is done 'in the loop'.
I think you could use pytest plugins `pytest-mock-server` or the `responses` plugin to achieve at least a partial coverage of your fake server idea.
Noob question: what's the diff between somatic genetic mutation and epigenetics?

This OC's working hypothesis is that somatic copy-number variation is the culprit. Is copy-number variation a form of epigenetics? Is there a clear cut boundary between what is a transcription error and gene expression feedback loop?

Way out of my depth here. I have a personal interest in schizophrenia and only seek to better understand what's what.

https://en.wikipedia.org/wiki/Copy_number_variation#Molecula...
> "Version 2 because it's been a while even though this is a logging change" sounds awful to me, as does "welp we've used our 99 releases so now it's a new big number" or "oh shit we used 1.1 so now we only have 10 releases possible".

That's not how people used to do decimal-based versioning. They instead tend to be more conscious about the relative amount of changes and how to quantify them. Some changes are worth 0.01. Others are worth 0.1 or 0.05. If many changes are expected before the actual major version, either increments are lowered (say, 0.001 instead of 0.01) or many changes are batched into a single release of the reasonable size.

> There are three major buckets.

That's too many, I believe---see my other comment. There is a good reason to have at least two components, and authors and/or users may want much finer increments (4 or 5 would be the practical maximum though), but three components as defined by the semver don't seem to be justifiable. I'm not against other existing schemes using three numbers.
Pocket could have been the 'Memex', but they decided to do it server side, possibly as a way to get people to start using Mozilla/FireFox accounts. If it had been local with an email backend (IMAP or so) that would have been great.
> The absolute best deal on a PC is probably a lightly used, name brand system from ebay

Hummm, i would caution against that, especially for beginners. PC manufacturer are notorious for producing awefull garbage, and it can be quite hard to someone new to discern the lemon from good deal.
Back then things were different. I'm talking c. 2008.
neither does the IDE tools I feel, it's going to take a while, and Rust has been here for 17 years.
I am afraid it requires "echo" runtime environment, doesn't it?
And $$$ for hot air workstation operators.
There's a caveat though, the challenger needs to be a world beater nowadays since so many things are intertwined, a mediocore ahole just adds noise.
That could be, actually. I don't know if it was release or just debug, but I remember obfuscation tools definitely being a thing, in large part because of this.
Tips for developers who want to write better
I was tempted after a colleague got the FP4. In the end I decided to get a pixel 6a for half the price.

I'm taking a bet on not smashing the handset. €300 extra was just too much for a replaceable battery. Atleast for my usecase.
I believe we explored this, but instead settled on a simple express-based Node.js server because that was the tech stack familiar to the team, and also due to the programmable nature of responses, a non-statically-typed language like JavaScript was preferred.
Yes, there definitely was.
cargo-semver-checks is the tooling you describe. It doesn't currently catch every possible semver violation, so it won't suggest version numbers for you yet, but that's the eventual goal!
Yes. But what OS would it run out of the box? And what would you run on it?
How about any of the modern .NET versions? They're on .NET 7.0.8 nowadays.
I'd probably prefer the philips to kill someone, but I've never killed anyone so what do I know :D
> You don't have to use an inefficient solution. You can always roll your own optimized solution or use a library

That’s not true. You for example can’t write a generic, efficient vector implementation in C - the language itself can’t do that. You either have to copy paste the same code for different sizes, or make use of some monstrous hack of a macro. Instead projects use hacks like conventionally placing the next/prev pointer in structs (linux kernel), and the like.

C++ is the de facto language for high performance computing, so I very much question that “you don’t write C as C++ part”, if anything you don’t write C++ as C as that would be inefficient.
> .py obviously isn't

Although .zipapp is to Python what .jar is to .py. Probably even closer to .war.

But for purely stand alone stuff, "nuitka3 /tmp/hello.py --standalone" does output a executable that can be used without the user to manually bring in the Python run time. In that case, the hello world is about 16Mb on Ubuntu.

It would be interesting to do this with MicroPython though.