skysight-inc/HackerNews huggingface dataset:
Bee genetics are wild. When I was a beekeeper we learned that queens lay two types of eggs - normal fertilized eggs, which will hatch into females and grow into workers if fed pollen, and queens if fed royal jelly, and unfertilized eggs, which hatch into males (stingless bees called drones) who will fly off and mate with the queens of other hives in spring. [1] At the time I had never heard of unfertilized eggs hatching, and the implication was that by creating male clones of themselves (haploid offspring, [4] not exact clones), queen bees are directly mating with the queens of other hives.

This information applies to the Italian honeybee subspecies kept in captivity (Apis mellifera ligustica) - the OP's article is about the african lowland honeybee (Apis mellifera scutella). The different honeybee subspecies are interesting: italian bees are nonaggressive, russian bees are hardy, etc.[2]

There's nothing special about workers having offspring either. When a honeybee queen gets old or weak, brood pheremones stop being able to suppress worker reproduction (worker policing fails [3]), and there are workers running around laying eggs in brood cells. Because workers have never mated with a drone, all their eggs are unfertilized and therefore hatch into drones [5]. This south african subspecies with a self-cloning female worker is really something unusual and unexpected, since those females should only be able to lay haploid eggs.

[1] https://en.wikipedia.org/wiki/Drone_(bee)

[2] https://www.perfectbee.com/learn-about-bees/the-science-of-b...

[3] https://en.wikipedia.org/wiki/Worker_policing

[4] https://en.wikipedia.org/wiki/Haplodiploidy

[5] https://en.wikipedia.org/wiki/Laying_worker_bee
> Despite how it sounds, I'm not in favor of regulation. I'm all for people learning lessons the hard way.

If your neighbors pile their trash up on their lawn they might learn a lesson about rats the hard way, but the rats aren't going to stay put on their property.

While people are "learning their lesson" the number of scams are growing, the scams grow more sophisticated, the money the scammers earn gets funneled into other kinds of crime.
I feel like there's a common but naive sentiment that you can take a "social Darwinism" approach to petty crime without the small fry growing until their activities start impacting you and your loved ones.
Scamming is an ecosystem like any other and it will grow healthier and more robust if you let it flourish.
Is telling NK people to use GitHub already a crime?
I love proton, I sure you like it too, but it's not an existential threat to Windows in any way.

People always take the path of least resistance which is Windows on the laptop/desktop that they bought at Best Buy. They won't reinstall their OS because they don't know what it is.
Solution: drastically lower your annoyance threshold. You'll be more grumpy but much more productive.

I get antsy when my test suite takes more than a second or so.
Beyond the Centralized Mindset
Running BGP in large-scale data centers
> it’s a currency not a stock.

It's a digital asset that you buy with dollars (or equivalent). If your position benefits from the price in dollars increasing, then you're long.
So, people answering on quora for example, are wrong? https://www.quora.com/Can-a-helicopter-having-a-power-to-wei...

I am even more confused now.
Analyzing what impact removing a piece of software has is typically harder than thinking about what my addition does. This is especially true for libraries where it is hard to know exactly where and why something may have been used. Removal might require significant re-testing while addition may allow to get away with targeted testing. Cleaning up code may be the right thing to do if one knows what one is doing but some system are too big of complex that you can only pray you know what you are doing.
Well, that's Haskell for you.

Haskell folks love arrows and one letter variable names.

I don't know why, I guess it's the algebra background of most Haskell folks.

When I wrote some things in Haskell, I tried to use full words for function names and variable names, but it felt I am the only one. People just love to name stuff `a` `b` `m` `f` `k`
Reading that page, the “user consent” is dependent on third parties who are monetizing their app through this service to inform their users. I … um … doubt the third party app developers give a crap to accurately describe the traffic that will subsequently emanate from their users’ devices.

Just like everything else in this industry, the retort will be “but it’s the users fault! They didn’t scroll through the 2,375 page privacy policy, user agreement, hold harmless indemnification agreement, and terms of use when they agreed to an ad free experience for their mahjong app! What a stupid user! Ha!”

To that I say, enjoy the coming oppressive regulations. It’s already started. As a kid, I always wondered why we required stupid laws to regulate common sense. Now I know why.
Well I am more interested in personal safety than scoring justice points. If I was a woman I probably would avoid dressing provocatively in certain neighborhoods/times of day and drinking heavily with strangers, so I guess it's only fair.
I agree, it would be impossible for sites to block individual customers behind carrier grade NAT without blocking other customers sharing that NAT endpoint.

Of course, the websites can raise an abuse complaint with the ISP, and they may take further action.
> the phrase "avoid success at all cost" in a certain context which may have had some role in making Haskell seem Ivory Towerish.

This phrase is often misunderstood, it's "avoid, success at all costs", not "avoid success, at all costs". In other words, don't optimise for mass market adoption at the expense of everything else. Languages that have arguably done so, have ended up as extremely complex and ridden with corner cases.
I ran an incubator and I saw future billionaires at their worst. You need a social form of exercise, and a focused technical/industry community to interact with personally. This is neither of those. If you can, pick one old friend to go with you that you wouldn’t mind working with for the next 10 years. You’ll be amazed at how well this can work out for you.

Also. If you’re on Tinder/etc because you’re depressed, just try to find someone nice. Nopeing on popular profiles will boost your chances.
> Only to have you and these other people in HN tell me I'm just trying to "feel smart". Your arrogance is so off-putting to me.

When did HN become so anti-intellectual? If you don't understand something, then either learn it or don't—but you don't need to bash other people for their own efforts.

Listen, I have both an advanced degree in mathematics where I mostly did algebra and I have work for large software projects with hard constraints in the aerospace industry. I have nothing about people learning category theory. It's an interesting intellectual endeavour but people who think they are learning domain theory and category theory in order to be better engineers are just dicking around. It's not anti-intellectualism. It's a fundamental misunderstanding of what and where the problem actually is. Actually this last sentence sums up my issue with Haskell pretty well now that I think about it.
> just semantics

To expand on this, I think we can drop the "just". Conveying semantics is one of the core benefits of using a high level language.

Modern languages have recognized this and promote conventions that are more in line of what the author is suggesting.

Go and Rust tell a story about re-usable interfaces/traits. Naming is even more important here, since an overly specific name for an interface would make it confusing to use it in different context (which has stronger support since you can supply interfaces/traits on the consumer side of a type).

The exception examples are indeed very good and well reasoned. The context is implied and even enforced by language constructs here.

On the other hand there are cases where explicit verbosity is useful, not necessarily in regards to naming:

I sometimes like branching logic to be explicit, so you don't need to understand all of the execution context (by reading/testing the code) to understand an isolated branch.

Another case can be data modelling. Temporal records can provide a transaction_from and a transaction_to field so the record explicitly states its temporal validity in isolation.

Being explicit here is more verbose but has benefits for reasoning. I assume this is the intent of the (overly) explicit naming convention in Java et al. But it goes too far too often.
>GitHub is prohibited by the US OFAC sanctions regime from offering service to North Korea

Surely Github would have blocked the range of north korean IP addresses if it was illegal?
I do think you're correct, but one particularly sticky issue is what you do with all the subtle cheats. Rather than developing an exploit with wall-clip, radar, auto-headshots and so on - all obvious to a human moderator - what if you make one that just lowers recoil by a smidgen, 20% or so.

If you're watching the game as a moderator you could never tell that's what's happening. Yet -20% recoil, especially for a competitive esports player, would be such a massive advantage as to make that player the best in the world, but a way that looks quite legitimate.
wow... thanks for sharing.... is it all free... sorry could not find pricing info...
Something being legal has nothing to do with it being ethical. Many terrible things used to be entirely legal. Some still are. Having said that, this kind of thing puts your job on the line. Standing your ground on ethics will always come with a price.
So if it's a scam but everyone knows that it is, you think there is no risk?
Brilliant post!

This system reminds me of Bullet Journaling (https://bulletjournal.com/), which I have used on and off for a long time now. Folks who have adopted Bullet Journaling have come up with some very interesting symbols to capture parts of the day (some which I have found more useful than others).

I do find that any paper-based system breaks down for things that are recurring, and I have to resign and use some calendaring system to accommodate those (think changing the air-filter on the HVAC). I also feel that longer-than-a-day projects are harder to track on paper (If anyone has suggestions here I am all ears). I often find myself thinking of a project, breaking it down, then using paper to take one or two everyday till I feel like I am done.

My approach to finding balance between paper and electronic is

- Use paper daily (for the same reason that the OP suggest). Object permanence is real. I can't tell you how many times I just _remember_ writing something down on the left-hand side near the top that has saved my life.
- If a recurring reminder comes through, add it to the list of Todos for today (on paper)
- At the end of the day I usually end up transcribing my day into markdown notes (using https://bear.app/)

Over time I have learned that not everything works well in one format (I have been thinking about getting the Remarkable but my god that's steep)—What I end up doing is "linking" from one medium to another.

For example, if I start by writing an entry or a note on paper that I feel will be better described in a diagram or a code snippet I simply put a note on paper telling me to go to Bear (Since all notes are dated this is relatively easy). Or vice-versa—if I doodled out a diagram on paper, I simply put a "See notebook" in my Bear notes.

Looking forward to seeing how others are doing this.
https://venturebeat.com/2019/01/11/samsung-is-using-computer... says

”There is no planned release date for Bixby Vision for refrigerators, a company spokesperson told VentureBeat. It’s more of a concept than a feature today”

On the other hand, that’s from over 2 years ago, and https://www.samsung.com/us/support/answer/ANS00062803/ says

“Did you ever think the day would come when you could talk to your refrigerator, and it would actually listen? With Bixby on Family Hub, you can ask to see the contents of your fridge or even start playing music without lifting a finger.”

So, the camera is there. Whether it has machine learning to detect contents and connects that with you tv, I wouldn’t know.
Wouldn’t it be the duty of the platform in this situation?
The main issue with hiring an agency to do marketing is that your incentives are not aligned.

They almost always charge based on your marketing spend. Which means it's in their interest to make you spend as much as possible. They are only rarely willing to base a part of their compensation on your conversions. And often that's only structured as a bonus.

They are never willing to base on it CAC.

So, you often end up in a situation with thousands in ad spend that is basically useless.

That's what I've been struggling with as well. I know I need to learn to do it myself but it's quite time consuming.
I think if they were really "obsessed" they would've wiped Mongolia off of the face of the earth by now...
Part 1 got a certain amount of discussion on HN about 3 months back [0]. As well as a different set of workloads, one significant point of interest to this one is that it appears the high idle package power they saw back then was due to the board/system, not the chip. There'd been a bunch of speculation about what changes in Milan might have caused that, but it just being the system all along means the value is even better. The extra power can then go to cores too resulting in a notable 7-13% performance improvement in some workloads. Interesting to me anyway and surprising if only in that I'd have expected AMD to want to put their launch in the best light.

----

0: https://news.ycombinator.com/item?id=26466933
I kinda use Google docs in same manner. I have separate documents for different professional projects and personal goals. I use them in append mode only, and simple colors to differentiate to-do and done items- red/black.
Avoid Vanity Metrics
Sure, but 128 kB is really small even if you do that properly.

Seems like it would be more sensible if the stack space could just grow when required. Surely not that difficult?
Usually bad ideas die in a test phase. This is a pure money grab completely at the expense of the consumer. The question they asked themselves was, “how inconvenient can we make the shopping experience without alienating our customers completely, in order to extract more revenue at the expense of their experience in our stores?”

Because this has zero benefit for shoppers.
I'd say "be aware of stack sizes". If you can get away with just the appropriately sized stack in a thread, that's a nice performance gain over dealing with multithreading heap allocators.
In a similar spirit: I have a naming rule that I haven't read about yet because not everybody uses signals and slots. So the framework that I use most of the time, Qt, has signals and slots. Signals are emitted when certain things happen and slots can be "connected" to them to respond.

Sometimes I see signals and slots named like this:

// signal in one class (generic name because it's a generic control)
void valueChanged(int value);
// slot in another class (part of "this" software package)
void handleValueChanged(int value);
// connection
connect(spinbox, &SpinBox::valueChanged,
client, &HttpClient::handleValueChanged);

I prefer to name them like this:

// signal
void valueChanged(int value);
// slot
void setServerPort(int value);
// connection
connect(spinbox, &SpinBox::valueChanged,
client, &HttpClient::setServerPort);

The bad example is a strawman, but my point is that, if the signals and slots are well named, one can see in the connect() "if X changes then Y happens". Such naming is not always possible, because sometimes, the effects of a change are extensive enough that "handle X changed" is the best reasonably short and unchanging description.
Right. My takeaway was "verify and validate once, then put it in a specially marked datastructure, or if your language allow it make the typesystem guarantee some conditions of the data, then work with that from there". Where does parsing come in the picture?
This is one of the reasons I wish there was more bigger European companies. Then we wouldn't need to deal with the bullshit US sanctions and cancel culture.
This may be lost on you but perhaps can be clear to others. You woke up on a Saturday morning, made a new account, just to post an anti religious/anti Jewish comment.

What's your life/set of priorities/spiritual balance like?
The Stoned Ape Hypothesis: Did Magic Mushrooms Influence Human Evolution?
They will get a cut in the ad revenue and in their number of customers.
> A Kosher phone would be an adapted feature phone to the “special” needs of a certain community of the Ultra Orthodox Jews. The community in target asked for a phone that is more dumb than the dumb phone, a phone that suffers from complete retardation. The general idea is that they don’t want to be open to the outside world in any way, but they still want a means to communicate between themselves without breaking the strict boundaries they made.

An interesting challenge. I imagine the market is large enough to support such a device.
Ask HN: Does Anyone Trade Bonds?
We’re building a platform to simplify the credit risk research for bond trading and I’m leading customer development efforts. Would love to have a chat with someone in the space.

Cheers!
So I want to store historical sensor data, like room temperature, for many sensors across many rooms.

And then events that happen less frequently. Hourly. Daily.

There is no need to ever change that data, only append to it.

Does anyone here know what I should be looking at for append-only data storage technologies?
It's 2021. Does dog whistling 'intellectual dark web','alt right' etc still sell?
> This laptop I'm typing from now was installed 2014-07-06,

It goes beyond anecdotal evidence. I mean, if you look at the Arch news feed[0], there are a good few updates since then that are labelled "requires manual intervention". I like Arch and it's great they're posting those notices, but I don't think it can be claimed that upgrading an on-the-edge system is always problem free.

[0] https://archlinux.org/news/
> " with user consent."

things like this are ... iffy at best:
https://www.vice.com/en/article/pga9yk/your-tool-to-access-n...
Exactly my concerns.
> It's weird how long it's taking for people to rediscover why strong static types were a good idea.

I don't think it's weird. Most of those languages were not popular in industry for various reasons, and the ones that were (especially in say, the 90s) did not have particularly capable static type systems. The boilerplate/benefit ratio was all off.

The way I describe this dichotomy personally is, I would rather use Ruby than Java 1.5. I would rather use Rust than Ruby. (Java 1.5 is the last version of Java I have significant development experience in, and they've made the type system much more capable since those days.)
Sure, let me just develop my own monopoly on all real estate information.
You clearly didn't get the memo. You don't outsource the business side. The business side outsources you!
"I don't worry I've left the oven on anymore. Now I worry some else turned it on."
Orbitron is “Cardware”: Useful? Send a postcard
Private equity for honey bees
They already are rootkits and running in VMs. That's exactly why were talking about this. Most anticheat programs attempt to detect running in a VM host too and stop that..
I think the original formulation is "make illegal states unrepresentable" from Yaron Minsky: https://blog.janestreet.com/effective-ml/ and https://blog.janestreet.com/effective-ml-revisited/ (or maybe there are older sources than 2010?)
When BASIC e.g. redefined what "variables" are and what the equals operator means, it did cause a generation of programmers to drift away from the long established mathematical definitions. This persists to this day in languages like Python. I have had to explain to my daughter that Python variables and equals are not like those in her maths lessons. Dijkstra was right to call out the bad decisions that were made, although I do concede his methods of doing so were not ideal.
I've read some of the cryptocurrency subreddits recently and it has been absolutely fascinating. The degree of group cognitive dissonance is something else.
> Programming languages are just tools and as such, they should be reasonably easy to use.

I'd like to argue on how reasonably simple is simple enough. If I need a carpenter to build a stairs I'm my house, I would expect a good carpenter to know and use all the tools appropriate, no matter how complex. Of course, most things are doable with just a hatchet just fine, but I d expect a professional to choose a hatchet because it's better, not because they never bothered to learn proper tools.

So whenever a language puts "easy to learn" as their main feature, I see it as a guide "how to build stairs with just a hatchet".
OP seems to be himself an Israeli and presumably a Jew. I did not read his post as being anti-Jewish or anti-religion in anyway.
How much time / $ would it take to update discontinued audio interface driver?
I would like to get a new MacBook since I need better performance but this will brick my audio interface (Edirol UA-25) which only works with Mojave (at a push).

The business of Edirol / Roland is to force new hardware purchases, so they don't want to make any new drivers.

This is quite annoying. I hate the idea of unnecessary waste and obsolescence and the hardware is still good.

I am daydreaming about having an unofficial driver written for it. Crowdsourced, open-sourced, I don't know... but I just have no idea how complicated or time-consuming this could be and whether it's a stupid idea.

Does anyone here have experience of making / updating audio interface drivers? Could anyone say roughly how much work this would be? Hours / weeks / months?

I guess it must be fairly difficult otherwise there'd be loads of unofficial drivers out there but I just have no idea...

(btw sorry if this is the wrong type of post for HN - I didn't know where else to ask)
It's a shomer phone.
I have the similar experience to the OP. The last time I had 700 packages or so updating, pressed Ctrl+C (apt or brew never left my system in a broken state after Ctrl+C) and the system no longer worked after reboot. Had to update all packages via a bootable Arch image on a USB to fix it. Also had KDE and Gnome behave weirdly after update to the point of having to reboot immediately – never happened on Ubuntu LTS. Arch is amazing as long as everything is fine but if you do something wrong, it’s far more fragile. I guess it’s ok for a pro user distro but my servers will remain on Debian. Also, I had Arch on an old laptop I use from time to time and it happened at least a few times that if I did not turn it on for 3 months or so, the system was no longer upgradable.
You're asking why super smart people can go over the top in pursuing nerdy hobbies?
> Most programs do not need arbitrary access to the file system, and it should be the OS's job to whitelist which files a program has access to. Again, a safe language is not going to save you from bad behavior on the filesystem either. It really only solves the memory problem.

Except that it is often a memory-safety problem that enables an attacker to make a program misbehave, through things like buffer overflows. A memory-safe program is much harder to exploit.
And the mistake people make is thinking it's a win or lose thing, it's not. It's about reducing the impact of cheaters and raising the bar high enough that an average Joe isn't willing to put up with the hassle needed to cheat. Just vexauwe you can't detect everyone doesn't mean you shouldn't ever try.