skysight-inc/HackerNews huggingface dataset:
Dynamic languages don't do away with such types, especially uint/float, etc. They just hide it away from you. The only thing it gives you is false confidence, where one day you end up doing operations on two floats because your untyped function is supposed to get numbers in, and you're left with 36.99999999999994$ on your bank account because it wasn't explicit.

So, you write unit tests to make sure that you only pass the rights types when calling it. Doing a very bad job at just being a bad compiler.

Now, I'll agree, the languages you mentioned are absolutely horrible with types. Types in C are basically nothing more than suggestions because you end up casting const away while laughing, C++ has std::types<template typed<std::frobnicate<T, A, R>>>, C# and Java in the past were excessively verbose and required you to type every single thing. Java/C#/C++ finally got a bit better with that with auto/var.

Kotlin types and type inference are absolutely fantastic and make your code clearer.

2/ No, you don't write fooString, fooInteger, etc. You write foo(value: Int), foo(value: String) and let the type system resolve and tell you which ones are available, rather than relying on documentation and runtime type checkings that are plain bad. And if it makes sense, you can even declare them as extension functions, Int.foo()

3/ Yes you do. Unless you explicitly opt in to null values or you're using platform types, like calling code from Java with @Nullable/@NotNull annotation

4/ Nobody calls for generalizations all the time. You're not supposed to write generics for all your methods.

5/ Explicit definitions are uglier compared to duck typing and just going "yolo it has a .frobnicate() method that means I can call it" ? I agree that over time, they might become unyieldy, but once again, with a proper typechecker and type inference, they're a blessing. Using kotlin and writing

when(this) {
is Frobnicator -> this::frobnicate
is Zobtrinatex -> this::zobritnex
else -> this@caller::defaultBehavior
}.invoke()

gives you safety, checks that you're not mixing return types.

6, 7/ Depends. I've written some true abominations, yes. Typecript gets ugly when the libraries you're using abuse types horribly (React used to be absolute trash for that, declaring props was terrible). But then, you pay the cost once (at declaration), and get benefits through your entire app.

Don't write generics for a component, unless it makes sense. If you're exposing a Container<T> and you can access the data inside and you require its type, okay, it makes sense. But don't do a Page<T>, that's dumb.

Generics are a tool. Like C tells you to not abuse (void*), don't abuse generics. Use them with parcimony and your code will be better, give you more guarantess and literally write itself if you've got a competent IDE.
This is all an argument that there were perceptually worse times before, so how could it be bad now?

WW2 setup an era defined by one very unusual property: the absolute dominance of the United States and it's economy as the global hegemon.

But the US is not adapted to the notion that what it achieved from that era was a set of historically unique advantages that are not a property of "American exceptionalusm" but rather what you get when you're one of the few nations on the planet which didn't have its cities bombed.
You should already know about the company, its business (service or product), customers, and technologies used before you get to the interview. You should know the salary range and as much about the group or team you would join as you can find out.

To get the interviewers talking ask about what challenges they currently face, the roadmap for the next year or two, how they acquire customers. The idea is to get the interviewers to talk about their job and themselves.

Don’t ask about details of pay, working from home, stuff like that. You can negotiate on pay, benefits, and perks once you get an offer.

I’ve interviewed candidates who don’t seem to know why they’re there. They don’t know what the company does. Not a good way to start out, it shows the candidate didn’t do any homework.
A couple of reasons:

- Downside: though the chances of being affected by brain-eating bacteria are small, the consequences are large, so it makes sense to worry about it not just in proportion to its frequency

- Novelty/newsworthiness: we're pretty aware of the risks of, say, driving or smoking, and we mentally take those into account; we're not as aware of the risks of brain-eating bacteria or a novel coronavirus

- Imperfect measurement: Because being affected by brain-eating bacteria is so rare, the number of cases is almost certainly undercounted; similarly, because the novel coronavirus is novel, people are unlikely to be good at recognizing it 100% of the time

- Non-death negative outcomes: I imagine having a small part of your brain eaten by bacteria is pretty bad even if you don't die

We regularly see outage postmortems make it to the top of this same website, despite those outages only affecting one company and their specific choice of software, and only happening once.
Show HN: I made a website for 3D Printing freelancers
>we have to remember that the car industry is backed by a powerful lobby that makes car ownership particularly convenient.

Why is everything a government conspiracy to decide things against the better judgment of the people?

Have you considered that people in America just really love cars?
Where on Earth have you been typing capital letters? One does have to press the modifier first on conventional home and personal computer keyboards.
"Never learn anything you don't see immediate use of".

Such short term thinking could explain why dynamic typing is so appealing: simpler implementations, more possibilities than most mainstream static type systems, while requiring basically no learning at all.
> Coronavirus stories about individuals and long term complications.

Wat?

By definition, nobody yet has long term consequences from a virus that is less than a year old. Some people might have medium term consequences, but nobody has lived with it for decades yet.
Died for cleaning their nose with water?
Cara Gunakan Google Classroom Untuk Guru Dan Siswa
My summer 2020 road trip along the Italian Riviera
Maybe it's a case of problem complexity. I think of types as a tool to help cope with certain things. If you're building a garden wall you probably don't need CAD. For a 747, you probably do. Though aircraft predate CAD so it's clearly not impossible to do without.

I dislike types in 30 lines of python because they're unnecessary complexity. I like them in 10000 lines of c++ because they do some of the thinking on my behalf.
Bringhurst has already been mentioned, but before that what helped me was to learn the vocabulary. Knowing what Spur and Spine are, being able to distinguish between Counter and Eye, having an idea about Humanist and Rational, etc. The point is not so much the terms but learning their meaning makes you see a world you didn't see before. It will even be impossible to "unsee" it once you have it. It will help you to understand a lot of typography talk and help to distinguish between serious arguments and the nonsense talk, which undoubtedly is prevalent in design discussion.

My school in this regard was the early fontblog.de, but this was 15 years ago and I couldn't find a good example in their archive. It was all in German anyways, so not so helpful for most here. A more recent resource is maybe Stephen Coles' "The Anatomy of Type" which gives a compact overview of the important terms, has tons of examples and a good introduction to a basic set of standard typefaces.
> I don’t see Julia a good replacement of Python. Julia has a long startup time. When you use a large package like Bio.jl, Julia may take 30 seconds to compile the code, longer than the actual running time of your scripts. You may not feel it is fast in practice. Actually in my benchmark, Julia is not really as fast as other languages, either. Probably my Julia implementations here will get most slaps. I have seen quite a few you-are-holding-the-phone-wrong type of responses from Julia supporters. Also importantly, the Julia developers do not value backward compatibility. There may be a python2-to-3 like transition in several years if they still hold their views by then. I wouldn’t take the risk.
SimulIDE 0.4.13
All extensions published by the RISC-V Foundation will be freely available, with verification tools.

Linux distributors are attempting to define a base spec (see the Unix Platform Spec group at the Foundation) which will define a minimum set of required extensions, and all other extensions will be optional and detected at runtime. We (Red Hat) are working with Debian, SUSE and Canonical on this.

It's possible in future that extensions will move from optional to required if they become popular and widely implemented. Apart from embedded (where, frankly, like ARM anything goes) Linux will not be fragmented.
It's a functor, though the type system doesn't let you write a reusable fmap.
I'm afraid democracies are inherently unstable. Athenian lasted 200 years and got swallowed up by Macedonian autocracy. Roman lasted 500 years and got overthrown by the army. Polish lasted 350 years and the parliament voted to allow neighbouring empires to divide the country. The US is at 250 years and people are seriously worried about it devolving into either Gilead or Cyberpunk any moment now.
Someone posted a link on Hacker News with an interesting collection of resources collected around this subject:
https://github.com/goabstract/Marketing-for-Engineers#-twitt...

I'm still working through it, tbh. It's helped a bit, but YMMV, as the saying goes.

Not because of the info, as it's as prescritive as such a guide could possibly be.

It's just because of the nature of selling stuff.
There are probably a myriad of reasons, but I can think of a few:

* A good quality ontology costs a lot of money, it cannot be done automatically. That is the difference for example between the KEGG PATHWAY database and the GO ontology.

The KEGG PATHWAY database is a collection of manually drawn KEGG pathway maps representing experimental knowledge on metabolism and various other functions of the cell and the organism while the GO ontology is the product of computer scripts.
When students have no interesting results to show in an experiment, they do a "GO ontology enrichment" [0] and there is often funny stuff that shows up.

* There is a contradiction in having a large ontology to reflect some knowledge field and having to find relevant information in this large dataset. Many relations are weak signals, which one is relevant?

* An ontology reflects the limited knowledge and bias of its designers.

* You cannot express complicated relations because ontologies must have acyclic relations and even multiple inheritance is usually not possible, so they end using hierarchical relations which cannot be very useful. In addition there is no high level logic relations such as something being a function of one or several other items (high order logic). [1]

[0] https://en.wikipedia.org/wiki/Gene_Ontology_Term_Enrichment

[1] https://en.wikipedia.org/wiki/Web_Ontology_Language#OWL_Full
I anticipate things will go the other way - Less power in passports, stronger border controls for many nations. Climate refugees will prompt this response from nations. IMO we've been living in a golden age for anyone that wants to see the world for the past half a century or so.
ما هى اجمل هدايا للبنات؟
هاندي فاندي
منتجات يدوية وهدايا وتحف مصنوعة خصيصا لك. أول وأكبر منصة عربية للحرف والمنتجات اليدوية. منتجات يدوية تدوم العمر كله.
نشحن منتجات المبدعين لجميع دول العالم هاندي فاندي هدايا ومنتجات يدوية وتحف ,منتجات مميزة ,صناعة يدوية ,حرف يدوية ,فنون يدوية
https://handifandi.com
What languages have you worked with? As per the OP, there are certain languages where types are much more expressive and add something to the programming experience.

Learning haskell changed a lot about the way I think about programs and that is even as someone who primarily writes in java.
My main point is that:

- if Apple wins vs Epic then Google and Microsoft have precedent and they can lock down their platforms , previous legal precedent was with IE bundling

- because Linux exists that does not mean the Microsoft can do whatever they want, similar because at this moment Android devices exists and some power users can side load and an even small umber of users can root them does not mean that others can lock things down.

Your statistics are misleading and you are avoiding to compare apples to apples. Show me how much malware is on OSX because that platform was not as much locked,
I was a statically typed fanboy for most of my early career. C# and later F# were my daily drivers and still hold a fond place in my heart. More recently, I learned TypeScript and a bit of Haskell and Rust.

However, I think dynamic languages have their place. Most of my server side code involves parsing one string and transforming it into another (JSON to SQL or the like). Something like Clojure spec is really, really useful for this, and beyond that the remaining code doesn’t really materially benefit from static types.

At any rate for my typical web application, I now prefer dynamic languages, which is something I never thought I’d say.

One last thought: soundness is just one variable to optimize for, and it’s not as important as I once thought. For most parts of my application, rough edges are not a big deal. For the really important stuff (like payments), I always write tests and also do a fair amount of manual testing. And for that stuff, the bugs are almost always logic bugs that types wouldn’t have caught.
Well, Ik what I did and I did say that I learned the hard way. You have posted only 3 times up until "now" in a really short span of time. Doesn't take a mathematician to figure out when you're gonna post next at this rate.
For sure. I've been living a nomadic life for three years now, not randomized because I prefer picking my locations myself but I could do that. Good passport, so this problem doesn't apply to me. But I've also met plenty enough Indian or Filipino nomads in Asia. If you got the remote income stream then you can solve the visa problems.
From what I understood in the presentation, there is very little WSL-specific in the implementation and all if it is open source. This should improve RDP support in Wayland a lot and be usable for remote access to wayland based systems. This seems to have the potential to pretty much solve the network transparency problem of Wayland.
> On top of that, climate change is a slow moving disaster, and we are typically good at mitigating long term changes (at least way better than urgent crises). Scientists calling for the end of the world at every opportunity will look ridiculous 100 years from now.

I wish I could share your optimism. Climate change may be a slow moving disaster, however it is more a "high latency" moving disaster. In the sense that once the symptoms start hurting us, it will not be possible to administer any control inputs that will effect the course of climate change within an acceptable period of time.

And while we may be good at mitigating long term changes, I think "existential crisis" kind of long term changes may not have any modes of mitigation that would be acceptable to the current generation of humans (like accepting that 90% of world population just won't have a chance of long-term surivival).
good luck mate, I (used to be one of those people) always run into people in tech that treat science as a religion (scientism) and simply refuse to look at philosophical traditions of their own culture (save for foreign cultures) because of their narrow modern conception of religion.

On a separate note, I am interested in comparative theology (traditions in general) and the link you mentioned seems very interesting, thank you

----
Edit:
For context: grew up in the middle east and living in California now, studied a ton about middle eastern theology and western theology, would love more resources on the east
I’ve got a Skoda Fabia, can’t get three car seats in the back, nor two and an adult, so assuming a kid every 2 years you need something bigger for most of a decade. An Octavia might do
Do mushrooms. You will know, will no longer care, and want to maximize the application of said consciousness to the world.
News covers what is interesting, not what you should neccesarily worry about.

Brain-eating amobeas is definitely interesting.
Well, it rashes my galaxy so, whose default browser is chrome. Also crashes the phone if using Brave.

When I say crash, I mean I agree that the page can access the phone camera, then the page freezes, then next thing I know the screen is black folllwed by the phone booting up.

The phone is on Android 10, fully patched, and very stable otherwise.
LBRY App Banned from the Google Playstore
And also the other way -- most nomads are actually immigrating TO the warmer countries. Ultimately i don't see this ending up being gatekeeped at the national level but rather at the city-level.
did you ever consider that you may have only been to the places with train connections?
Yep me too.
For those who would like to delve a bit deeper into the Hinge of History, this is the link from the article and is well worth the read. It was submitted here 2 days ago and got zero points!

https://forum.effectivealtruism.org/posts/XXLf6FmWujkxna3E6/...

Its often a human mistake to think that right now is the most important time ever because it is literally the moment we are in. With the perspective of history and with the imagination for the future you can start to see how what we think is the most urgent things maybe not so, and you can see how small changes elsewhere might be the best thing for the future.

It can inoculate you against being manipulated by urgency-based calls for action.
This is weird because 2/3 of Go creators are the ultimate C and Unix hackers: Rob Pike and Ken Thompson.
Really? What key does it use instead?
American sued in Thailand over negative Tripadvisor review
I think the country needs less people telling them how they should live.
https://www.youtube.com/watch?v=OSYpYFEwr4o&t=15

> "Are people becoming obsolete?" (1946)
I wonder what percentage of people want to see huge historical changes at this point. I certainly feel that the past decades were too stable, then stagnant, and it feels like covid is accelerating the moves considerably. If anything, i want more of it
Aren't you falling into the same trap that the post explains? That there are nuances around when types are useful and not useful? An indie game developer might spend a lot of time designing methods of gameplay and artwork for the game, but that doesn't mean that types should go out the window for all levels of programming.

Wouldn't it be better to approach this by which problem we are trying to solve? A script that is run during development, where resources are unconstrained, and stability is not an issue, should absolutely value the time it takes to develop and maintain the script. So using a typed language may not be useful here. A situation where small optimizations make large improvements might benefit from a typed language, maybe a physics engine of a game intended for multiple platforms?

In the OP, the author approaches it from a "systems" perspective, that when you need either of the 3 scenarios, then you might consider using types. Type inference, Sum/tagged union types, and Soundness, which I think could easily apply to certain areas of game development. Ignoring the nuance around the issue, and being dogmatic that all scenarios in a given field do not need types is ignoring that what we're really doing is writing in languages that need to be interpreted by both humans and machines.
The police (and everyone else) ignoring the rules does not change the fact that you would save a lot of money on fuel if you obeyed the speed limit, nor the fact that you could be fined for speeding.

I’ve never understood the drive to go so fast.

I knew a guy in the UK who, when I asked him why he was doing 98 mph (speed limit was 70, we were one of two cars going to a stag do, the other car was obeying the speed limit and therefore arrived 25 minutes later), gave me the answer of “If I was going faster and was caught, I would have to waste time going to court to prove I wasn’t driving dangerously” rather than slowing down.

(He got a lot of speeding tickets and penalty points before this; penalty points are a UK road law thing, get enough and you lose you licence).
I disagree with you on pretty much every point and find your positions generally poorly thought out.

• All UIs are based around positioning and drawing things. There is no difference whatsoever between any paradigm in that regard: any UI can be scaled properly to whatever level you desire, it just needs to actually do it.

• Navigating through controls is far more common than you seem to imagine. On desktop platforms, a significant fraction of users (though still certainly a minority) will become extremely frustrated if your app doesn’t conform to platform norms; and it’s not just power users: in line-of-business apps, all the best interfaces use Tab for rapid navigation between fields. Mice are really slow as field navigation devices. On mobile platforms, this is more tightly integrated with the keyboard, so that in forms, the “Enter” key gets changed to “Next”. Again, you’ll frustrate a lot of people if you flout platform norms.

• Exposing an accessibility tree for things like screen readers, now that part is more commonly associated with overhead, especially on the web; I’ve seen one web app not do ARIA stuff by default, but have a checkbox in its settings to enable the accessibility tech, with the warning that it’ll make it slower. Can’t remember what app it was. The ideal might be to not build that until something requests it, but the web platform at least doesn’t provide the means of doing that at this time. I’m not familiar with the underlying protocols and whether native apps can work this way.

• Linear field navigation matches how people think most readily and how almost all apps work, and is a long-standing convention across all platforms, whether done with a Tab key or by other means. It’s what everyone is used to, which means you’d better have a really good reason if you decide to disregard it, and provide an obvious alternative. The most common alternative to linear field navigation is 2D spatial navigation with arrow keys, used in things like spreadsheets (augmenting Tab) or games (typically supplanting Tab). Gaming platforms tend to replace Tab navigation with this 2D navigation with arrow keys or a gamepad. But for most apps, 2D field navigation doesn’t tend to be as convenient as 1D.

• I’m baffled about who you think should provide for accessibility if not the GUI library. If you are saying “let the end developer do it”, I respond: are you serious? That would have the end developer duplicate basically everything from the GUI library, so people would abstract that into an accessibility library that wraps the GUI library clumsily, then hey, let’s merge the two so it’s not a pain, and now we’re back where we started. If that’s not what you’re saying, then I’m baffled, because those are the only two options I can see—unless you would have the screen reader do OCR on what’s on-screen and throw AI at it to guess how the app will work!
Most things have finite lifespans. The benchmark for a form of government is certainly not that it should be eternal and continuous.

Look at some cities in Europe. Many have waxed and waned, some even many times. They have been parts of different countries and empires. Many have influenced the world greatly for the better.