skysight-inc/HackerNews huggingface dataset:
It seems it might be an issue with their development abilities or problem-solving motivation:

1. It seems that they write a ".d.ts" file manually in addition to using TypeScript for the code. This is dumb, since TypeScript generates the declarations automatically. However, for them "it was too much overhead and complexity when we attempted it before", which caused them to give up, a very dubious course of action.

2. They claim that changes take minutes to recompile, but TypeScript can compile incrementally, so this shouldn't happen assuming they are organizing their code properly. Also, you can just translate without type checking, which is no worse than using JavaScript instead.

3. They claim that "having two Body classes is obviously wrong" (?!). Of course having two classes with the same name in different namespaces/packages is perfectly fine in properly designed languages (including both JavaScript and TypeScript). Their "Header" shadowing problem also might be due to a lack of understanding of namespaces.

4. They seem to conflate JavaScript vs TypeScript with single file vs multiple files. Of course you can have a single TypeScript file or you can have multiple JavaScript files and bundle them with any JS bundler or just concatenate them.

Given that their codebase seems to be complex according to their compile time claims and that they don't seem particularly skilled given their claims, using a type-deficient language will most likely result in software full of bugs.
Interesting.

this one seems to show the boundaries of the display plane : https://random-roads--edwardcunningh2.repl.co/#1592753917190
There are quite a few projects like this, though this is the first one I’ve seen for Mongo specifically. The most well known is probably PostgREST, though I recently saw a project on here that encapsulates the other relational DB providers as well (MSSQL, MariaDB, etc)
just a heads up, casting `as string` isn't safe since the request param could turn out to be an array.

If the request ends up with the query param as an array, there isn't a runtime to validate the cast and now the variable is typed as `string` but is actually `string[]`.

I think a safer approach is to use a validation library or refine the type with an if stmt and returning an error when it isn't a string.

I use the following lint to prevent all casts except `as const`: https://github.com/typescript-eslint/typescript-eslint/blob/...
I didn't read that types were causing problems. My understanding was TS, itself, was causing problems. Specifically waiting around for it to compile.

Strong typing is from OOPS, itself an optional programming methodology. There are many JS programs that simply access other (JSON) objects directly without going through an interface. In these instances, typing is counterproductive.

One of the beautiful things about JS (and Lisp) is that variables and functions are interchangeable and, the case of JS, both can be accessed directly without worrying about an interface.
Durham represent!
Currently our image is mostly determined by the gypsies spread all around the EU. One year ago when I was in Spain, people looked me very differently, depending if I introduced myself as a romanian or a hungarian (I am a hungarian living in romania)
I think the primary culprit is the power management on both the host and client

I have an MX Master and a K380. The MX Master has a noticeable lag in Bluetooth and both will have a noticable delay when first used after a period of inactivity before springing to life. The K380 seems to have a key buffer to mitigate the delay.

If however I have my Bluetooth headphones powered on and active to the host, keeping the bt radio active, most of the issues go away.
You forgot about drone strikes.
We do that all the time in high-performance computing. You keep a packed representation in memory and unpack it in small pieces to operate on it. Sparse matrices, compressed columns, etc. This is not evil, it’s an adaptation to the way the machine works. Saying that Kenton’s definition of zero-copy is unconditionally better is an aesthetic argument and I don’t buy it.
Yoga Burn
I don't remotely see TypeScript as the end state of statically typed JavaScript. I think it was the first major project to prove how static typing could work and benefit browser applications. Flow and TypeScript are just the first generation. In the future I expect the type system to be integrated with the runtime. While there are projects that give you this (Elm, Reason, Bridge.net, Fable, etc.), they are nowhere near as universal as TypeScript nor is that really their aim.
Just study history, information is power.

Data harvesting and processing technologies were what enabled the efficiency of the holocaust.

https://en.m.wikipedia.org/wiki/IBM_and_the_Holocaust
I would say for me, typechecking part of ts is less useful than the information it provides me about the project. I can jump in a new project and quickly see what kind of data structures are there, what are the parameters, get really nice intellisense and documentation.

All of this is possible with jsdocs and flow but they are not nearly as powerful as ts and often times verbose. I don't like polluting the comments.

You don't need to use typescript everywhere although the popular zeitgeist will tell you to avoid any or ts-ignore. It's fine to write some parts in ts and others in js. Think of ts as eslint, jsdocs or flow. You don't need to be religious about it. Take its benefits wherever you can or do you think all the other tools are useless as well?
It takes less than 10 minutes to attach or detach the wings on my experimental. Many of them are designed to fit into a trailer and be 'assembled' at the airport, and then hauled back home after. There are three bolts holding on the wing and one bolt for the control cable.

Some day I'll have a house where my car gets to park inside the garage too. :) https://i.imgur.com/fanxM86.jpg
And has explicitly stated that the piece-by-piece authoring and publishing of twitter threads works better for them.
As seen in XScreenSaver: https://www.youtube.com/watch?v=dCCVgBOVD0E
Why is it one or the other? Type errors also certainly occur.

If you eliminate a class of errors by doing so, isn't that still less errors overall?
AI Podcast #101 with Lex Fridman – Joscha Bach
I found this interview very interesting. It is rather long but Joscha Bach had something to say to plenty of vastly different topics with some pretty unorthodox ideas. I was wandering whether there is someone here with an interesting impression or critique to share.
Also by the same guy
https://www.scotthyoung.com/blog/sales-pages/learn-more-stud...

Quite spammy.
But VIA already has a license, why couldn't apple acquire them or just the license? x86 licenses have been transferred before via acquisitions.
Not an expert in this kind of low-level stuff, but bluetooth is mostly implemented in hardware. I don't imagine you could get a compact lightweight headset that can last 10 hours on a charge if it needed to run even something as lightweight as a C library. And obviously, you can forget something like Airpods.
Haha I bet somebody got their naked pictures printed and sent in mail.
This is enough reason for me to completely forget Deno. They clearly cannot write code or organize it without using classes, which is the core of their current error. The fact that they would choose that stupidity over the organizational benefits of interfaces and static types is not something I can reconcile.
Firebase Analytics quick start (Android)
I’m a long time fan of TS, but I think this is a very exciting decision —- I have always been of the opinion any reasonably large project should workout a doubt use TS, so hearing about how this goes for them in 2/5/10 years in terms of how easily people are able to maintain code they didn’t create, how readily large refactorings can be made, how often runtime type errors occur (not just the literal TypeError, but all the things TS can catch, like null checks, index typing checks, etc) will be quite interesting.

I wish them luck!

One note of concern though: in their design doc they say incremental compilation is the number one problem and list multi-minute compile times. That’s huge! I wouldn’t use TS either of it took minutes to compile my projects. However, I think there’s room for improvement in their tooling if they took some time to explore what other large TS projects do instead of just giving up on it entirely —- VSCode for instance has incremental compilation in hundreds of ms or less.
But does this actually have "reactivity"? If I was to update variable, would that state propagate to all its dependants in the DOM automatically?
May as well drop tests and code reviews if it feels like it's slowing you down. For one-person or very small teams who have full context of a'll changes this can actually work very well. It's with more contributors participating in a mature project that you'd wish these things weren't dropped. Types can be added later so it's not like using php and later wishing you'd used Kotlin.
The CS degree is not for the job, it's for the individual
That's appeal to popularity. At least lisp is strongly typed. JS happened to be created first, and the world was stuck with it as Web grew and no other alternatives came out.
Many people complacently or willingly use wireless technology for fixed-location devices. While I can appreciate that running Ethernet cable can be a bit frustrating, seeing a desktop computer using wifi makes my head hurt.

Especially in the current work from home era, I've seen a resurgent enthusiasm for desktop computing. The simple rationale is: if you're going to be stuck at home and have a decent home work environment, why suffer the downsides of portable devices? Why not leverage the upsides that come from fixed-location workstations (large displays, faster higher-wattage CPUs and GPUs, wired full-size input devices, wired networking, and so on).

It's been amusing to see how many people have had their eyes re-opened to the advantages of high-end desktop computing thanks to environmental circumstances.
Anyone else notice how the first diagram contains the word "SEX"?
+1 to calling out the holding out stuff. Lots of people assume commercial means you can start flying people for cash - so not true.
> Well, you called it a "weird object" that throws errors if you "look at it funny." They tried to demystify it for you in just three sentences.

I never said it was mysterious to me. I described it as concisely as possible. It is an object that has a grand total of two array-like methods (and it took the standards bodies two years to add forEach to it). And it does throw an exception on invalid input.

So, to work with it without hassle, guess what, you'll have to recreate that "corpse of familiarity" from jQuery: throw an Array.from at it, and wrap it in a try-catch.

And that is true for every single improvement to the DOM API. If you look at all the efforts to get rid of jQuery, you'll see people re-implementing half of it for one simple reason: all the improvements are still stunted, underdesigned, and need quite a lot of additional boilerplate to make it useable in any hut the simplest scenarios. (Notable exception: classList. It weirdly behaves and works the way that doesn't screw up developer experience).

> And with your end-cap comment about the pipeline operator that they were already, helpfully, pointing out was going to be introduced in the future, you just sound like sour grapes. What gives?

The pipeline operator proposal has been there for three years. Excuse me for not jumping with joy when someone quips that there will be no difference between arrays and NodeLists in some glorious future. I prefer reality.
Right, but when it comes to selling software to people who have iPhones — there's a market for that, right? — Apple clearly has a monopoly in that market.

Imo it's more like saying, "Foocorp in the US doesn't have a monopoly, since you can always move to Canada and buy from BarCo or one of its competitors there!" Well, Foocorp is still the only seller in the US, so they have a monopoly in that market.
Submission inspired in part by the McCandless story a couple of days ago.

https://news.ycombinator.com/item?id=23574673

Wilderness, even in the lower 48, can indeed be wild. You can find yourself in trouble, and walking dead, quite quickly.

That said, there's beauty in even the starkest landscapes, and a respectful and properly prepared visit will reward with memories for a (long, prosperous) lifetime.
Right but the parsed form is exactly what I meant when I said it’s an aspect of the implementation. The generated C++ code you get from Google’s protoc is a sparse thing, to be sure. But that is an artifact of the implementation. You can do anything you want with a protobuf and there are numerous independent implementations in the wild, in many languages.
Your argument carries an assumption that all possible government action is hopelessly broken. I'm generally libertarian myself, but this viewpoint is ultimately a coping mechanism for a societal death spiral. Why bother working for results, when the results are always bad?

But even accepting the assumption that the government has become a malevolent attacker, then there is still an argument for goading it into hampering data collection - every bit of data collected by private companies is also available to the government to abuse and oppress us! Government power and corporate power are not in opposition, but rather two sides of the same coin of disempowering individuals.
Whenever you believe you are so certain of a thing that you’re prepared to say something like “x could never do y” you should search the internet for x doing y.

Heat pump water heaters for either space heating or hot water production are most certainly a product you can buy today.

Eg, Rheem sell these two models in Australia https://www.rheem.com.au/products/residential/heat-pumps
Jim Keller interview in same podcast is great too.
https://www.youtube.com/watch?v=Nb2tebYAaOA
Of course. The people caught and punished for those crimes are not likely to repeat it at that location.
Often times you write code to defend against other developers who don't know any better.
The most important example of a non-square matrix is a (column) vector.
It's also fascinating when the other end of the visual system (the brain) has issues.

My aunt had a very small stroke in her visual cortex. Incredibly it only impacted the visual processing in the upper right quadrant of the right eye. Everything else was fine.

She was telling me that the affected part of her field of vision wasn't black (as you'd expect). She described it as "empty". It just wasn't there. There were no good words to describe how that looked visually.

Interestingly as her brain recovered somewhat, the "empty" area got a bit smaller, then her brain started to do "error correction" and to her, the "empty" part is gone, but it doesn't provide any visual information. Similar to the tweets, it's just filled with "background".
I've vastly improved the quality of my wifi by upgrading my routers and my devices.

The important thing to remember is that wifi always performs as the worst device on your network. A dead-zone device hurts every device on your network. A G-only device hurts every device on your network.

So, 2 routers in my sms house, hooked together wired. All my priority devices have new dual-band hardware and are on the 5ghz network. Old devices are relegated to the 2.4ghz network, which is quite spotty owing to that.

Unexpected things can do real damage too. I had an older PC that had its wifi dongle plugged into a USB 2 port and it would frequently get multi-second ping spikes. The same wifi dongle worked fine on a USB3 port. I ended up wiring that one in.

Personally I've abandoned all wifi hardware companies other than Asus - every other one has let me down at least once, if not repeatedly.

In every other respect, Asus seems to be incapable of making devices that rate higher than a B plus, but in the lowered expectations of the world of wifi hardware companies where "occasionally functional" seems to be considered good enough, Asus' spotty quality is a huge step up.
This depends a lot on your particular situation and equipment. I ran the ping test exactly as shown, with wi-fi and wired, and there is negligible difference in average latency or standard deviation.

Even when using ethernet, the PC connects through an Orbi mesh router, two hops away from the base station. A round trip to local IP addresses is between 9-10ms. Switching to wi-fi adds 2-3ms to that.
Instead of ts-runtime, use io-ts (https://github.com/gcanti/io-ts). That one is actually maintained, unlike ts-runtime!
Sorry, where are you getting 19,500 sq. mi.? The Wikipedia article says 4,500 sq. km., or ~1,700 sq. mi.

Not that it matters much. I spent several years stationed at the Army's nearby Ft. Irwin and the area is so desolate the actual number hardly matters.

Edit: Reading further into the Wikipedia article, I think you took the number for the size of the controlled airspace around China Lake, which isn't the same as area enclosed by the land perimeter.
I've vastly improved the quality of my wifi by upgrading my routers and my devices.
The important thing to remember is that wifi always performs as the worst device on your network. A dead-zone device hurts every device on your network. A G-only device hurts every device on your network.

So, 2 routers in my sms house, hooked together wired. All my priority devices have new dual-band hardware and are on the 5ghz network. Old devices are relegated to the 2.4ghz network, which is quite spotty owing to that.

Unexpected things can do real damage too. I had an older PC that had its wifi dongle plugged into a USB 2 port and it would frequently get multi-second ping spikes. The same wifi dongle worked fine on a USB3 port. I ended up wiring that one in.

Personally I've abandoned all wifi hardware companies other than Asus - every other one has let me down at least once, if not repeatedly.

In every other respect, Asus seems to be incapable of making devices that rate higher than a B plus, but in the lowered expectations of the world of wifi hardware companies where "occasionally functional" seems to be considered good enough, Asus' spotty quality is a huge step up.
Great article with good explanations. Almost made me miss the good old transistor days.
I don't know much about genomics, but I think there are at least FPGA based accelerators in production, for example, Illumina's DRAGEN.

https://www.illumina.com/products/by-type/informatics-produc...
Both products (ipad pro 2020 and macbook air 2020 i5) are similarly priced (ipad pro being ~25% cheaper), yet the ipad pro has longer battery life while having a much better display, and much better raw performance (~1.6x faster !).

The first i7 from apple starts at ~1.6x the price of the ipad pro in the macbook air 2020, yet the results of comparing the a12z with that show that, performance wise, nothing really changes: https://browser.geekbench.com/v5/cpu/compare/2626721?baselin...

I'd suspect the reason is that these benchmarks are long enough, that the Intel CPUs just end up completely throttled down after the first ~30-60s, while the A12Z does not.

Either way, the trade-offs here have multiple axes, and honestly die-size is not something I as a user care about. I care about performance / $ and battery life / $. The A12z seems much better along these two axes than either of the Intel CPUs in the Air 2020.

To find something competitive in terms of performance (but worse battery life) from Intel, one does need to go to the Core i7 1065G7 that you mention, which delivers approximately the same performance as the A12Z: https://browser.geekbench.com/v5/cpu/compare/2627162?baselin...

However, the first machine with that CPU is the Macbook Pro 13' 2020, and that starts at ~2x the price of the ipad pro. From looking at the upgrade prices, the cost of that i7 alone might be by itself ~50% of the whole ipad pro cost, or larger.

So while you are right that these two are comparable in terms of raw power, I doubt they are comparable in terms of performance/$ and battery life/$. Without knowing the exact costs of each we can only speculate. If that intel i7 is 2x more expensive than the A12Z, then perf/$ would be half as good, and since raw battery life is worse, the battery life/$ axes would be twice as bad.
For dynamically typed languages, the idea is you make up for that class of bugs by incorporating TDD and having lots and lots of unit tests.

So, instead of waiting a minute for the typescript compiler, you wait for the engineer to write tests.
Reminds me a bit of P vs NP. It's easy to verify, hard to generate.
I like typescript not because it prevents most errors in my code, but because it prevents some errors. Those errors, in my experience, tend to be ones that are time consuming to identify and solve.

A value of the wrong type passed forward because it's almost the right type can cause errors that make their way into production.

I hear you say "so unit test your code!", and to that I reply, we're a c# shop that has only recently started pushing some of our code to the client. If you can convince management that we should shift our paradigm to allow for the time to write tests that don't add much to the sprint we're in, I can send you their email address.

The fact is, a large portion of unit tests solve the same problems that strong types solve.
esti prost
Due respect, these are issues with how the Deno team uses Typescript, not with the language itself.

> TypeScript compile time when changing files takes several minutes, making continuous compiling an excruciatingly slow process

Umm, you can compile single files, and serve them individually. It's no different from bundling (e.g. with webpack) Javascript.

> The Typescript structure that they’re using in the source files that create the actual Deno executable and the user-facing APIs is creating runtime performance problems

Then use a better structure?

? TypeScript isn’t proving itself helpful to organize Deno code. On the contrary, the Deno team is experiencing the opposite effect. One of the issues mentioned is that they ended up with duplicate independent Body classes in two locations https://github.com/denoland/deno/issues/4748

Then consolidate the two classes...? How is the the language's fault?

> The internal code and runtime TypeScript declarations must be manually kept in sync since the TypeScript Compiler isn’t helpful to generate the d.ts files

Well, it can be. Fix your build rules.

> They’re maintaining two TS compiler hosts: one for the internal Deno code and another other for external user code even though both have a similar goal

Again, not the language's fault.

---

We've been using Typescript for a couple of years now, and it's been great. By trying to do things the right way, it actually forces us to organize our code better. I think the Deno project would benefit from refactoring their code to solve their issues, instead of blaming the tools.
Why remove it entirely rather than split off compilation and type checking? I’m not familiar with the Deno codebase, but a similar problem with large webpack projects is solved by having the type checking be an async process. This gives the best of both worlds as you transpiling alone is near instant.
If it’s only 10k lines of glue code how are they running into minutes long compiles?
I too was unable to replicate that experiment. I took it a step further by not only having an analog stop watch, but also having other things close by that were constantly moving. Even though my timing resulted in variable durations to the next tick, some longer than others, I did not notice any “paused” effect from other things.
Some efforts like this, https://mapwith.ai/
> One of the issues mentioned is that they ended up with duplicate independent Body classes in two locations

... choice of programming languages is irrelevant here.
Saw this last week. The guy is awesome. What a life he has led also!