skysight-inc/HackerNews huggingface dataset:
Hmmm.

Any I/O is basically compression. So lets think about what we're actually outputting. We're converting a raw bitstream from two GPIO pins paired (Ex: 00, 01, 01, 01, 11, 11, 10, 00, 01, 11), into a singular message: such as +6.

There are two applications of a quadrature encoder that I can think of.

1. Virtual Pot -- Converting the messages into a kind of "-100 to +100 slider", such as a volume control knob. In this case, you want a regular update schedule at human-interface speeds (~1000 updates / second or slower).

2. Rotational Velocity sensor -- Converting the messages into a speed. You're willing to batch the bitstream up as slowly as possible, maybe waiting for a rollover event (+128 or -128). And you just interrupt on those overflows.

-------

Since the input format is already set, we now think about the output format: how to represent +6 and or -12?

Based on the PIO instruction set, it seems like +6 and -12 probably would be easiest as two separate registers in two different state-machines.

Every time an "increment" is detected, the FIFO-associated with +1 gets a +1 bit added to it. Every time a "decrement" is detected, the 2nd FIFO associated with -1 gets a +1 bit added to it.

----

In pseudocode:

IncrementSide(){
currentState = 00; // default

while(1){
nextState = in(GPIO0) | in(GPIO1);
if(currentState == 00 and nextState == 01){
push 1;
}
if(currentState == 01 and nextState == 11){
push 1;
}
if(currentState == 11 and nextState == 10){
push 1;
}
if(currentState == 10 and nextState == 00){
push 1;
}
currentState = nextState;
}
}

"nextState" and "currentState" probably is just the X and Y registers of the PIO state machines. The above is "very pseudocode" as I don't really understand PIO yet.

I'm saying "push 1", but "push 1 into the OSR". It looks like the OSR has some kind of auto-push mechanism, but if that doesn't work then a manual-push might be needed in the code proper. Hard to say from the docs alone.

DecrementSide would be just the inverted if-statements:

if(currentState == 00 and nextState == 11){
push 1; // Decrement side checking for a decrement
}

--------

This above methodology would only work for #2 ("velocity"), and fails for #1 ("positional"), because the increment-side and decrement-side would be updating at varying rates.

I probably can make a positional-decoder instead of a velocity one using similar principles. Or maybe by somehow ensuring that the +1 and -1 messages go into the same FIFO to be picked up by the host CPU.

The idea is route "0" messages to /dev/null, compressing the input stream. The host still sees the important +1 and -1 messages. The exact mechanism for that is up for debate, but the simple if-else state machine above seems to accomplish that to a limited extent.

------

EDIT: Hmmm, maybe a singular FIFO can be done if we have push1 and push0 for the two kinds of messages: 1 representing +1 and 0 representing -1.

Anyway, my point is that there's lots of solutions here. It doesn't seem very difficult to me conceptually. Just a lot of experimentation needed to know exactly how those 9 instructions work and the exact mechanisms of the ISR / OSR / X reg / Y reg.
The first one to support a "conversation" even if with same level of intelligence and understanding today will be a MASSIVE improvement. If it would listen while talking so you can interrupt it. Would be so much more useful.
Can I configure it to send the notification to my own servers as opposed to Google's?
Why wouldn't the site have HTTPS enabled?
Personally:

Python has a great type checker. Several, actually. They're not compile time, because Python doesn't exactly have a compile time, but still. 11/10, use everywhere, spend less time on unit tests, be happy.

Second, to me, these sorts of concerns about refactoring are. . . maybe not a smell, but worrisome, all the same. They suggest poorly-modularized designs with no internal component boundaries that might have limited the scope of impact of such a change. That said, even if you do find yourself needing to do a far-reaching refactor like that, refactoring in a dynamic codebase isn't necessarily harder, it's just different. Not being able to lean on the compiler to help you boil the ocean, for example, is fine, because boiling the ocean wasn't necessarily the best approach in the first place. The strangler pattern will help here, not just with type errors, but also with other problems the compiler might not have been able to help with, and will also be friendlier to the people who do your code reviews.
I just wanted to point out that this article is from 2017, so it’s definitely not part of some sort of recent hate fest.

Edit: The title should probably include the “(2017)” tag.
Well, the definition of randomness is basically the inverse of determinable... it is something that is not predictable.

The important characteristic for randomness is that there exists no knowledge that, if possessed, would allow you to predict the outcome. In that sense, free will meets the definition of random.

In other words, not all randomness is free will, but all free will is random.

So yes, anti-determinism does not prove free will, but determinism would disprove it.
I'm pretty sure it's not reactant grade MSG. But I wonder about breakdown products and adulterants that travel with kitchen-grade MSG.
Can anyone explain why systemd exists besides just saying "Leonart"?

The way people just replace things instead of addressing the issues in the old things bothers me.

init.d wasn't multithreaded. Ok, so give it threads. Etc.
Anybody have a mirror? It seems to have been taken down from GitHub.

Also I guess it might have been a not so nice from an almost direct competitor of AWS - salesforce - to publish something like that. Salesforce owns heroku.
I think this is partially correct. People write for themselves, but they also write for an audience. The latter is a problem because they can essentially ignore whatever they are responding to as long as triggers n upvote. This disincentivizes honest and productive dialog in favor of nitpicking, gotchas, or simple ridicule.

The former is like a bunch of drunk grandpas mumbling to themselves in a room, the latter is like a self interested orator playing to a crowd. Asynchronous written debate can be the one of the best forms of communication. Think about Jefferson’s letters or other famous correspondence. The incentives are just wrong on boards with ranking and voting
I'm not sure I have "advice". The route to getting out of where I was in the UK (my dad was a docker in Liverpool, we weren't well off) was to get to college and then start my own company.

I spent 3-4 years wooing an Apple VP at trade shows twice per year, which was the entire point (the exit strategy) for what we were doing - video asset management in the film industry. This particular VP wanted "Asset management" in photos and figured that video was harder than photo, so we'd be a good fit. We were actually aiming for "Final Cut" but we got "Aperture" instead. It got to the point where he'd send me a calendar slot to appear and demo the latest work/progress on the stuff we were doing at both IBC (Amsterdam) and NAB (Vegas) every year. They eventually decided to buy the (small) company and as part of that we had to come out and work in CA, which to be honest, wasn't too big a problem :)

As for how it started, myself and my co-owner took ourselves out to Amsterdam, walked up to an Apple stand at IBC and said "we've got something we'd like to show you. Can we have a slot with someone with the capability to make the decision ?" This actually worked (!) It still took a few years to persuade him, but I've since been at the company for 16 years. Sometimes you have to take the risk and tell yourself that being told "No" isn't the worst thing in the world - and I was pretty sure we'd be told 'No', but hey, we weren't.
I think the sensors on everything idea is losing its sheen. I don't need my shirt tracking my behavior along with everything else.
Yeah, those can easily be in the $200 range.
I find myself setting alarms too.. the problem is I'm trying to set timers haha

"timer 1 hour 30" is parsed into "Make an alarm at 01:30 named Timer."

Every time I do laundry I get woken up at stupid o'clock the next morning haha.

Edit: Sorry to those below for the confusion I seeded. To clarify I mean the 1 hour 30 is the bit that doesn't work. If I add minutes to the end of it it works perfectly fine.
You're not kidding. This is the most unreadable website I have ever seen. It is absolutely absurd.
Legitimately, if this was posted on 4/1 I would have commented that they did a great job with a non-obvious prank.

I can't believe this is actually real.
Go 1.16 Release Notes
At least a dissertation is a school project where you learn a skill to use in future.
I think it's fair to say that the art world's way of thinking didn't rub off on Graham. It's not clear to me that he ever had a genuinely creative attitude to art making. He didn't get the art world and it didn't get him.

As a technical term, "art world" refers to the professionalized aspects of art production—and explicitly not the business of actually working on your art or training as an artist. It's the nonsense and PR side of art.

When Graham says "Art galleries didn't want to be online, and still don't, not the fancy ones." it really doesn't reflect the reality of the most prestigious contemporary galleries like Gagosian and Hauser & Wirth. They are very online, but Graham clearly is just not keeping up with that. He might be thinking of some tiny stuffy and elitist gallery in New York, who knows. He is out of touch.
Based on my experience, the 100:1 ratio seems about right.

Excellent recruiters are invaluable. The challenge is finding them.
If the clothes could somehow tap into your smartphone battery and processor that would have at least made the whole thing simpler to use. As it stands right now, you need to have a separate “tag” that you charge separately and connect to your phone wirelessly. At that point you might as well wear a smartwatch or similar.
Yes please, thanks!!
Its untrue, peanuts and milk allergies were very common 30 years ago, probably more than now in percentage. My genetic grandmother can't eat most of processed food without having an allergic reaction. Probably people were a bit ashamed of their non-threatening food allergies (most food allergies just give a lot of gas and small stomachaches).

Also related, Distilbene did not only wreck fecondity, it gave a lot of children food allergies, and i'm pretty sure distilben distribution stopped in the late 70s, so maybe we should just get the numbers and compare, but i'd bet food allergies were more prevalent in the 80s.
Ask another developer for help – in VScode – This extension will knock you up
We use both AWS and Salesforce and I'm surprised about this tool being developed by SF after all the whistle and bells about the partnership between the two.
Thanks, the issue was Firefox's built-in "Enable HTTPS-Only Mode".
I'm getting "upstream connect error or disconnect/reset before headers. reset reason: connection failure"
I think you might be overestimating how much money pg's family had; I'm pretty sure they were squarely middle-class (e.g. the next sentence reads "The gold standard then was the Apple II, but a TRS-80 was good enough," and that took "years of nagging"). Strictly from a class point of view his background would have been risk-averse. But your point about the intellectual environment seems solid.
I'm pretty much in exactly the same boat, plus also looking at using separate systems to segregate my personal and personally-owned business accounts.
I disagree. The police should not be asking for blanket surveillance in the first place.

It should be on a per-crime basis, with specifics.
I was going to mention the smell of opening a booster pack of trading cards! It was probably the same smell as opening a new video game and taking out the instruction booklet (back when they still printed those).
Weirdly, HomePods do support multiple (optionally named) timers. Since they're also based on the general iOS family, there's a bit of hope for the feature eventually making its way to the phones. I'd assume it's held up on them having to redo the UI, if anything.
Yeah, but you'll have to power your modem too.
I'd just use a RS232-to-bluetooth dongle, and my phone. Nostalgia is nice, but no wires and less plastic junk are nicer.
There's a difference between engaging people in conversation over disagreements and flat out insulting people. Grown men throwing temper tantrums is never pleasant and should not be encouraged, and to be honest it was never "the way" for most people.
Well we all learn faster with effective feedback loops. Improve depends on what the end goals are defined as and by whom.
This is irrelevant to me unless they 1) do so while describing specific flaws that I'll actually care about, and 2) every honest seller is affected by it.

It probably sucks to be an honest seller affected by it, but I've yet to find a situation where I have unable to find a product I'm happy with, so clearly they're not doing this often enough to affect me much.
Totally disagree. Engineers are rational. If these were appropriately paid, engineers would go there and take the job.

The positions are obviously not underpaid at face value
nor are they underpaid on an absolute scale -- but they ARE underpaid relative to what is expected (experience, skills), and what has to be given up (cost of living.), and what you actually get (cash comp vs stock w/ vesting periods)

Cravath pays cash salaries, not step-vested stock that can fall long before it vests. There is no comparison. If there were a comparison, people would be flocking to these FAANG jobs. The fact that there openings again suggests there is something amiss.
Speeding up Python code with Nim
When a couple of large guys with badges and guns are at your door asking for video, it would take a very self-confident person to say "no." There's certainly adequate plausible deniability of coercion, but it would be a very different feeling than if, for example, a reporter were asking, or an insurance company investigator, etc.
Yeah my multimeter has it on it. And I’m not even in the US.
> You intervened in a subthread you weren't involved in

Thats a loaded way to phrase “you posted a reply on hacker news”
I'm unsure why you're being downvoted, it's illegal to film other people's space in Germany, so it seems certainly possible to me that this is the case in parts of America as well.
Red team exercises come to mind.
Ask HN: SQL or NoSQL?
Just came across this tweet criticizing the Parler social network for using a relational database:

https://twitter.com/sarahmei/status/1348477224467394560

My understanding was always that for relational data (e.g., social networks) you should use a relational database. Is the person in this tweet correct? If so what is a better option?
> Because it's silly to assume Google's using this for ad tracking and surveillance. The number of people in the world using this is practically zero. I doubt 99% of Google's workforce has ever tried or heard of it. HN has a tendency to jump to ridiculous conclusions.

Concepts and prototypes are typically created based on the company's overall vision. Of course very few people will interact with this particular iteration.

Really, do you think anyone here was concerned about how many Google employees were "subjected" to this internally?
Works great, very similar to LastPass in how it's implemented.
Seems it's back online.
I've just been getting to grips with the PIO, they are a lot of fun to program. Whilst the instruction set is very limited with only enough memory for 32 of them you can do some pretty sophisticated things. A key part of the flexibility is the ability to execute incoming data as instructions. You can stream in a mixture of data and instructions via the DMA, the PIO separates the two and uses the instructions to modify execution so a simple loop becomes a lot more flexible. You can easily sync several of them up to. The scanvideo library: https://github.com/raspberrypi/pico-extras/blob/master/src/c... which is for producing video signals (like VGA) on the fly with scanlines supplied by the CPU is a good example of what's possible. You can have multiple scanline PIO running at once, each decoding a compressed RLE format including transparency and it composes them all together on the fly.

If you've ever played one of the Zachtronics games (in particular Shenzhen IO) it feels like the programming in one of those games. Tight constraints but major possibilities when you think about it for a while.
This is "Checkmate, atheists"-grade rhetoric.
I think that the immune system "correlates" them with other harmful substances which are sometimes but not always present. The number of possible culprits is long: pesticides, random cleaning products used on the processing equipment, sometimes mold can grow on peanuts if they're stored improperly, the list goes on.

Our immune systems are in many ways similar to police forces, and if they hear "a problem being reported" often enough while peanuts are around, they may just bunch them together with the offender.

The problem is compounded by a dirty baseline environment. In the early stages, the immune system is "primed" with a "baseline" of what should and shouldn't be there, but if the VOCs and such are already there, it just learns that they are OK and doesn't react to them.
Bel is painting in code.

Like all good paintings it goes unnoticed in its time.

It might become a classic in the future, it might be forgotten.
Shout out to vinegar! The huge jugs of "cleaning vinegar" changed my life a couple years ago. I still use diluted bleach for the bathroom every once in a while, but vinegar is sufficient for almost everything day-to-day. And it's so much cheaper than most "cleansers".
Is the thinkstation rated for high(ish) temp operation?
Would love to know the answer to this. Epigenetics is a thing, so I could easily see later generations becoming more and more sensitive based on previous generations' exposure.
This seems to me like an apples-to-oranges comparison, and reflects the transition of computers from a niche field dominated by curiosity to a mainstream business asset (one facet of which is the focus of the article). Many people today are still having fun with computers and I dare say that the people who had fun with computers in previous decades would have fun with computers today as well.
Yes, there are plans for a headless standalone version on platforms where people want that. You can actually do it right now with Jambox pi dist, which includes SonoBus: https://github.com/kdoren/jambox-pi-gen
All of these protests, the BLM ones over the summer and the one on January 6th in DC were "mostly peaceful" by any definition of mostly and peaceful. Only the BLM protests got the "mostly peaceful" treatment from the media.
I'm guessing they're referring to the fact that he only answered questions from March to October 2009. That's a short time, but we shouldn't really expect people to donate time answering questions on SO either.
I don't think the i7 7700 supports ECC RAM?
They are not currently scheduled to discontinue the APIs these use.
This is a valid criticism for sure. I suppose the only truly cross platform options is KeeWeb but you give up some features, mostly on mobile, eg. fingerprint unlock: https://github.com/keeweb/keeweb/issues/1132.
> If you're not a local, you'd never hear and probably never care about such things.

Regardless of whether or not you're a local, the Underground Seattle tour is definitely a must-do if you ever find yourself there.
Agreed. When you start thinking “I have 25 years of work left to do everything I want” the phrase “I do not have time for this s**” becomes part of your everyday vocabulary. Not in a cynical way, rather you realise the time for playing and exploring is over; now is the time to get it done.
> Why not put wtf this is at the first opportunity in the simplest terms?

The "Technology" link is literally the third word visible on the page, after the Jacquard logo and a "Products" link.

> I have a pet peeve for company marketing people that say “We provide products and services to empower customers”. Well, no shit! It would be insane otherwise.

Companies manufacturing washing machines don't "empower customers" in that there aren't many differenciators between washing machine brands today. Nor does your average company selling toilet paper, that would be insane.

This project however aims to "empower customers" by introducing a paradigm change: make your clothes smarter (smart fibers woven in the base product) while deciding yourself how smart you want them to be (you choose what actions to take on what gestures).

Whether it succeeds is another thing entirely of course.
You know what's really not fun? That font and color against that background.

If computers aren't fun for you anymore, at what could reasonably be described as the apex of what's ever been possible with a computer right now, it's not computers that are at fault here, it's you.
Perhaps you haven't noticed the search field at the bottom of the page?

https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...
Seems to have been taken down. A shame id have enjoyed reading that code
The SIMTEL20 collection ( https://en.wikipedia.org/wiki/Simtel ) was maintained by the late Keith Petersen - W8SDZ.

Keith passed away in 2017, aged 80 ( https://www.legacy.com/obituaries/freep/obituary.aspx?n=keit... )

I was happy to have met him and thanked him for his services.
Download D Language, the Rust that compiles fast
I am not sure why the 'outside force' is required for free will. What characteristic does that provide that is needed for free will?

If the physical world is non-deterministic, then there is nothing stopping a physical thing from having free will. If an 'outside force' can exert free will, why can't a physical thing?
Someone asked (and deleted their comment while I was writing my reply):

> How does this compile in another language such as C?

It doesn't; the C language doesn't implement arbitrary size integers, and therefore most C compilers won't fold constants of such large size.

If you used a library that provided BigInts (arbitrary size integers), and and the library also provided a compiler extension to fold BigInt expressions at compile time, then you would likely get a large executable as well (most of the size would come from the data section).
Right. Colossus wasn't a general purpose computer at all. It was a key-tester, like a Bitcoin miner.

The big problem in the early days was memory. ENIAC had nothing writable that could hold a stored program. IBM had electronic arithmetic in R&D before WWII, and that came out as a product after the war, the IBM 603 (1946) and 604 (1948). Those were plugboard programmed machines with electronic arithmetic. Workarounds for memory cost, basically. Everybody involved recognized that with enough memory, they could get rid of the plugboards, but the hardware wasn't ready.

Many memory devices were tried. Delay lines. (Slow, not random access) Williams tube electrostatic storage. (Big and expensive.) High speed drums. (Slow, not random access.) Finally core memory was developed, the first thing that went fast and had random access.
That is not how evolution works. It can just be that the trait was not much in a way. Our that trait is innefective maladaption.

Evolution is not a god. And it does not build perfect organisms.
Having your relatives and friends finally take you seriously is such a relief when you're dealing with MCS.