Some people actually prefer that layout too, it's an orthographic layout, which is likely less confusing that the slightly off layout of the full size reform. On the full reform the second row is 1.5 units over rather than 1.25, and the third is 2 units instead of 1.75. It messes you up a little at first, but you get quickly used to the layout and even switching back to standard is not an issue.
Many handheld devices in the age of physical keyboards used grid aligned qwerty keyboards, so it's not unique here.
I think you mean "ortholinear". But yeah, I use a 4x12 ortholinear as by primary keyboard. Took a week or two to get used to, but I prefer this alignment to the usual staggered one now. With staggered rows I always felt like I was kind of guessing where certain keys were. Now every key is either under one of my fingers' resting position, or one key away from one (if you count diagonals as one key distance for tab/return).
Besides safety they have the added benefit of significantly longer lifespans (charge cycles) compared to Li-ion. The downside being their lower capacity. The high capacity LiFePO4 in the reform are current 1800mAh (it might be 2000 on the new cells they swapped to after supply issues of the originals). Which is fairly low for a 18650, but not terribly worse than the 2500-3000mAh of li-ion 18650 cells.
It is, just like the regular full sized MNT reform. You can reprogram the keyboard firmware (or even get a different PCB made as some people have done for the regular one). Part of the limitations on the layout is making it fit in a standard size while using off the shelf keycaps. The full sized reform only uses 1u and 1.5u key caps so the row spacing is off, but it eliminated having a bunch of odd sizes. Which also meant the space bar was split in two. Honestly for such a small device there's always going to be compromises in the keyboard. Either excessively small keys, or non-standard layouts. Just look at any of the UMPC offerings from the late 2000s, the Pocket CHIP, or even more modern ones like the GPD handhelds.
One of the reasons that they prefer not to have them linked here is that the discussion inevitably boils down to "why did they post this on twitter as a thread instead of making a blog post and writing it out long form." As well as complaints about them getting distracted.
It's just that the community here tends not to like twitter threads, but likes the content.
I feel like comments like that on HN are pretty easily ignored though, no? Unless people are seeing the article posted here, and then going to Twitter and replying or DMing @foone about it - which I would agree is a bit out of order.
Ah I see. There's not much to be done then, because I can guarantee that with the ~140k followers foone has on twitter and the number of people who submit on HN there's no way short of HN blocking URLs (which IMO won't happen) that would resolve this, except if foone individually blocks the bots as they show up?
Maybe this just comes with the territory of being popular on twitter :(
Just a little heads-up though, foone indicated their pronouns as "they/them" on Twitter.
You can install a sysvinit based stock debian if you wish. I've done it a few times recently, on low memory systems (<512MB) it does make a noticeable difference. It's mostly supported in terms of running, though the install is a bit manual:
There's also instructions for converting a running system, but I've had no luck with that. It just resulted in an unbootable system for me as it couldn't fully remove systemd there.
Sure, but there's still the license at play here. It's not like they trained it only on public domain/CC0 code. What happens when it verbatim outputs a significant amount of code that was originally MIT, or BSD, or GPL licensed without the appropriate attribution. It can create unintended copyright violations and potentially open people using it up to liability.
>What happens when it verbatim outputs a significant amount of code that was originally MIT, or BSD, or GPL licensed without the appropriate attribution
You would sue.
And then Github would argue that their algorithms did not spit out verbatim the code by copying but rather it generated code that looked exactly like the other code based on learning from millions of codebases. ¨
And the judge would really not care about the "we did not copy it, we made an algorithm that created the exact code" technicality. It's their job to see through such things and consider the case at a higher level.
So the judge would look at two pages of exactly the same code and then decide whether the "not really copied" part is big enough to be considered an original work or not. If it is big enough it is a copyright violation. Nobody cares that you used an algorithm in between, you took the original as an input and ended up with exactly the same thing as an output, copyright violation, case closed...
I suppose it really depends on if they spit out verbatim reproductions of code or whether it is the equivalent of a 10-year experienced programmer who has just seen a lot of code but isn't reproducing anything verbatim.
We shall see, by Googling some of the code it spits out.
FWIW GPT-3 doesn't really tend to spit out verbatim reproductions of copyrighted books.
I have worked a bit with transformers, the model underlying GPT. They absolutely learn to copy training data, and that’s perfectly normal.
What is happening here is we’re running into exactly what modern ML is NOT capable of: deductive reasoning. It does not think “I need to query the Twitter API for some posts, then filter them. Right, the API works like this…” No. It doesn’t think at all. It is a regression machine. “This sequence begins/looks like something I have seen before, here’s the corresponding output modulo adaptations.”
ML does not self-reflect, question motives and analyse causes. It’s just a complete lie to suggest otherwise, and to call this “pair programming”? What an absolute joke. It’s a lot like Tesla calling its glorified lane keeping an autopilot.
> FWIW GPT-3 doesn't really tend to spit out verbatim reproductions of copyrighted books.
But it does spit out whole paragraphs at a time. This is easy to test by going to any of the GPT-2/3 playgrounds on-line (e.g. AI Dungeon), and playing with prompts. Very specific prompts work best, but sometimes even with a generic prompt, if you let the model continue on its own past the first output, it might just shunt itself into a path where following the most probable continuations happens to reproduce a substantial portion of some work verbatim.
Maybe they should train the ML to read the license? If the ML can undertand the license, then we'll have to bow down to their superiority. However, if it did understand the license, then it would do the right thing.
So sue them and a court opinion can demonstrate where the line is and how much code can be replicated before attribution is required (and the product can be refined to ensure compliance).
They could push boundaries and publish one trained on all of Microsofts internal source code. Would for me be a great demonstration that they believe the "it's fair use and not violating copyright on the training data" argument.
It's more likely they'd sue someone who used it to develop something that ate into their lunch by saying it infringed on one of their 'secret' Linux patents they sabre rattle about every now and then.
The product is already dead. It's not just Microsoft that would be violating the license but any company using the application and Microsoft can't shield them.
In C reaching the end of a non-void function is not undefined behaviour though. It's equivalent to ending with a return; However attempting to use the return value of that function is undefined behaviour. It'd be fine to have that warning be an error when compiling for C++, but not for C.
C89 3.6.6.4 (http://port70.net/~nsz/c/c89/c89-draft.html#3.6.6.4):
"If a return statement without an expression is executed, and the value of the function call is used by the caller, the behavior is undefined. Reaching the } that terminates a function is equivalent to executing a return statement without an expression."
I’m sure that rule comes from the time when “void” didn’t exist, so functions were defined to return int, but nobody ever bothered to actually return anything.
It's definitely there to retain some backwards compatibility with existing K&R C programs. Though it does still somewhat exist in the C11 standards.
From 6.9.1 - "If the } that terminates a function is reached, and the value of the function call is used by the caller, the behavior is undefined"
Though 6.8.6.4 also says "A return statement without an expression shall only appear in a function whose return type is void"
So it seems like a non-void function hitting the end of the block without a return statement is allowed (provided the value isn't used). But having a "return;" in that function would not be in C11.
Didn't they try basically this before, then had it fail and discontinue in the form of iGoogle(2005-2013)? The idea of google going back to that is just nuts.
At least DuckDuckGo has got the search page concept right.
They definitely discontinued it, but that doesn't mean it failed. What do you think made them kill it? At the time, it felt like textbook Google capriciousness (see Reader, etc).
Many handheld devices in the age of physical keyboards used grid aligned qwerty keyboards, so it's not unique here.