skysight-inc/HackerNews huggingface dataset:
Depending on how versed you are in typed languages, but it looks like you're describing type inference, which exists in Haskell and in some other languages as well. I.e you don't need to add type signatures everywhere.

But gradual typing means avoiding typing alltogether in some parts of the program and in some sense going against the inferred type. This is probably most relevant in Haskell where IO is typed, and less so in others, e.g Clojure.
Everytime I read such comment in HN, I smile and remember the days C programms on 8 bit micros and later MS-DOS, were made of 80% inline Assembly statements, because the compilers were quite lousy.

Fran Allen is the opinion that the adoption of C delayed the field of compiler optimizations research back to pre-history (Coders at Work).

It took 40 years of optimization research and clever use of UB defined in the standard, for C compilers to achieve the code quality generation they have nowadys.
And who do you trust to do such certifications? The US government struggled with what was essentially an easy site for Obamacare exchanges. State and local governments are partying like its 1999 for the most part and the “big” enterprises like Equifax, various large health insurers, banks and Yahoo are subject to nearly constant reports of vulnerabilities and hacks.

Really the only people I might trust would be google, but there is a conflict of interest I think considering they have a vested interest in enabling things like tracking.

So who does this “certification?” Hopefully not the same people who call for 8 digit passwords you have to chance arbitrarily every three months or people who’s idea of security comes from circa 1996 Microsoft documentation.
The ICO market is already adjusting to celebrity endorsements: Mark Cuban's Mercury ICO has completely flopped.
People still play Cheatgress? Definitely the pioneer for Augmented Reality game rule violations and the general concept of griefing in an AR setting.
You're describing type inference.

An example is Crystal; [edited] example from the website:

if rand(2) > 0
my_string = "hello world"
end
puts my_string.upcase

Execution:

$ crystal hello_world.cr
Error in hello_world.cr:4: undefined method 'upcase' for Nil (compile-time type is (String | Nil))
These comments are breaking the site guidelines. Would you please read them and follow them when commenting here?

https://news.ycombinator.com/newsguidelines.html
so, roughly a lifespan.
Are there any languages that do it beyond the first value assignment, or outside the current scope? Also, any languages that subsequently revise the type definition?
You can also use org-mode to create reveal.js slide decks. It gives you the benefit of editing in plain text with a pretty nice looking output.
I work in Powerpointing and even Prezi is just too obscure for most of our clients. Nobody wants to learn a new tool or download anything just because the new tool has a few silly layout improvements. But if you don't need others to work with it, it probably doesn't really matter.
"potential to destabilize"

Potential evil vs actual oppression today?
Excellent point. The article was kinda hazy, but the original Amazon press release is here, and it confirms your take: http://phx.corporate-ir.net/phoenix.zhtml?c=97664&p=irol-new...
Not quite. HN is a forum about anything that gratifies intellectual curiosity: https://news.ycombinator.com/newsguidelines.html.

The reason most political stories aren't a good fit here isn't that they aren't about tech or startups (both tech and startups overlap with politics quite a bit). It's because they inevitably lead to battles that destroy what HN is for. We can't be both, the same way a park can't be a war zone.
Where are you based now?
What do you do about two types with methods that have the same signature?
Most of the time there just isn't any need to make a difference between the three. There are basically just two common situations where you need to be able to tell the difference:

1. Telling apart optional arguments to a function that weren't given from arguments that were given and were NIL. Typically giving a default value for the argument is sufficient to avoid the problem, but you can also add an extra parameter that tells whether the argument was given.

(defun foo (&optional (x :default-value xp))
;; X holds the argument given by the caller, or the keyword
;; :DEFAULT-VALUE if nothing was given.
;; XP is T if the argument was given, or NIL if it was not given.
)

2. Finding an item that may be NIL. Functions such as GETHASH (which looks up a key in a hash table) usually allow you to specify a default value, and they will return a second value to indicate whether something was found.

;; Increment the value of KEY in TABLE, or if the key doesn't
;; exist, use 10 as a default, increment that and set the
;; result to the table.
(incf (gethash key table 10))

(multiple-value-bind (value existsp) (gethash key table)
;; VALUE holds the value if it exists, or NIL if it doesn't.
;; EXISTSP is T if the key exists, or NIL if it doesn't.
)

Notice that in CL additional return values can be ignored if you're not interested in them, so you only need to use MULTIPLE-VALUE-BIND when you actually need it. You could also wrap it in a trivial macro if you're using it a lot.

(defmacro if-some-let ((var form) &body (then &optional else))
(let ((somep (gensym "SOMEP")))
`(multiple-value-bind (,var ,somep) ,form
(if ,somep ,then ,else))))

(if-some-let (val (gethash key table))
(format t "Found: ~a~%" val)
(format t "Didn't find.~%"))
I think it depends on how you want to frame what I said. Helping the poor at least around you is good for you. Now, you could say equivalently not helping the poor around you is bad for you. Rephrase what I said if you feel uncomfortable with how I stated it.

If in a mafia controlled city you tell a friend not to publicly expose a mafioso for else he and is family is in danger, are you blackmailing your friend or are you simply stating facts?
I suppose depends on the country? In Austria employees are generally entitled to natural light through an actual window (must be possible to see outside). Exceptions are only granted to places only open at night and a few other exceptions like stores underground.
It is interesting to checkout their website:
https://centra.tech

They were either too lazy or out of money after hiring Mayweather that they don't even put a pretense of a "whitepaper".

The rudimentary "roadmap" page here:
https://centra.tech/roadmap/
There it says partnership with major bank and registration with Fincen is completed. But I skimmed and there doesn't seem to be anything there. Not on their blog @medium:
https://medium.com/@Centra. I could be wrong so someone can correct me on this, if they find this information.

The funniest part is the products page:
https://centra.tech/products/index.html
Everything says "Click Below to get more details today!" but there no button at all. So there is no way to know what spending 500 or 100 ETH will get you.

From the looks of it, the product is so called "wallet" and a centralised one at that. So I am sure interested in the first step of their roadmap "Concept of connecting digital currencies to fiat". What did they figure out? ;)
From Karma to Mocha, with a taste of jsdom (2015)
Are there really fire safety concerns in such small spaces?
Is there a tool for that? In the current climate that's a really smart idea. Twitter seems to be full of people getting satisfaction from ruining other people's lifes.
I think databases are a great architectural choice for just about anything. It makes persistence and querying of complex data essentially a solved problem, especially considering "most" web apps have their foundations in some CRUD-flavored thing.
Lisp Programmer here,

- quicklisp is the default for package management. If you need to load a different version of a package you can use the local projects dir. I've never used Qi before, so I really can't say anything on it.

- For a framework I would recommend either Clack[1]
(relatively small but featureful) or Ningle[2] (micro-framework).Both support multiple backends including Huntchentoot.

- There are object store databases and serializers like cl-store and cl-prevalence, but if you really want to take full advantage of Lisp I would recommend you use hash tables and reader macros. There's also plenty of mature (by lisp standards anyway) SQL APIs and ORMs like postmodern[3].

- For hosting I use AWS, haven't used anything else so can't say much on it.

[1] https://github.com/fukamachi/clack

[2] https://github.com/fukamachi/ningle

[3] https://github.com/marijnh/Postmodern
I edited my comment to explain further -- I'm talking about going beyond the initial assignment...
A Point of View: Chess and 18th Century artificial intelligence (2013)
Definitely agree, firing someone for performance reasons is so rare that unless the person is generally disliked, and generally thought to be really bad at his/her job morale will take a huge hit.
What? The Anarchist Cookbook isn’t even accurate, it’s a novelty a best.
If you’re hoping to use a lispy language professionally, I would suggest looking at Clojure. It’s a much smaller language than Common Lisp and has a very active ecosystem.

Leiningen is the standard build tool: install dependencies, run tests etc.

http-kit gives you the minimum needed for implementing a web server.

There are several key-value stores written in Clojure, but I would stick with SQLite (with the Korma library for nice composable syntax).
Potential _global_ evil vs actual country-wide oppression. The strength of a corporation capable of population-wide cultural and psychological manipulation shouldn't be taken lightly.
It will need to be a language without method overloading.
The biggest value of static types is when you go to edit some code written years and years ago and you can tell what the hell the intended usage was without digging through the method
Replying to myself; the last line of the article explains why celebrity ICOs are flopping now:

> “What’s important is Centra is being endorsed and they have a product,” a Reddit user named islandsurf wrote back to the critics, explaining his own investment. “That’s what matters to investors!”

Investors thought other people would care about endorsements. Once they see others not caring, the cycle stops almost overnight.
Is Quality NaN?
Windows Live Movie Maker 16.4 Crack 2017 Registration Code Full Free
Anecdata will vary, but my experience has been those bugs get filed, marked "not important", and PMs have no way to sift the security impactful dozen out of hundreds to thousands of small defects in a large product's backlog. (And sometimes that backlog gets deleted, disappearing knowledge of those bugs.)

I'm hoping we'll eventually be able to flag bugs with the types involved, and let systems automatically look for combinations that have a set of types that could be dangerous.

My point was that it's not enough to focus on good intentions -- or culture -- you have to talk about mechanisms and technologies if you want a reliable system. Because the parts, humans in this case, are highly unreliable in isolation.
more countries need to do this, just because you have no local physical presence doesn't mean you get to avoid paying taxes
As much as I think blockchains are cool as a technology, I am dumbfounded by how rich the history of fraud and failure surrounding them is. I get why people are skeptical about regulation, and I think it's always worth questioning orthodoxies. But it's as if people set out to reenact the sordid history that got us modern anti-fraud financial regulations.
I didn't catch that. I stand corrected.

It should be said that is Reed is anything like other small liberal arts schools then I am surprised that this isn't already happening:

"There should be an articulated understanding that “foundational texts” are subjective and that the importance of the course is to foster student’s abilities to read, write, and listen/respond. Before this is accomplished, Hum 110 should be conscious of the power it gives to already privileged ideas and welcome critique of that use of power."
Yea, you caught me. I repeated the same argument because I think it works. And I don't see how your argument addresses it. In particular, this sentence:

> Compounding means that since you only pay sales tax at consumption rich people will pay much less as they will invest before the tax and have gains on all that pre-tax money.

doesn't really make much sense. Of course investments are pre-sales tax. The sales tax applies after the investments are liquidated to cash and the cash is used to purchase stuff.

Let's say our hypothetical person is "rich", but it doesn't translate into extra consumption spending, then what's the point of being rich? It's not like he's getting anything out of it.

You do have a point about estate taxes not affecting the majority of people, but estate taxes do affect estates with value greater than $5MM, and I'm working with the assumption that you and I are discussing "rich" people. The marginal estate tax in the U.S. ranges from 18% to 40%, which is higher than any sales tax.
Desperation to create the next new hot thing so one can get their 15 min? It's the only thing I can think of.

As much as most developers eschew the idea of the rock star developer, some are definitely taken by it.
Working beside a pizza oven, gas stoves and hot cooking oil?
I guess the concern is "if it catches fire, you're dead" but it's still an issue...

Edit: small spaces and hot cooking oil, youch - have the restaurants employing these chefs told their insurers that they're doing this?
Yes. It works well as long as you have all the pieces and don’t have to worry about nominal subtypes.
What you're arrested for and what you're prosecuted for are really two totally separate issues. Arresting someone who fought in Syria is pretty reasonable. Finding out that they fought for the Western-backed "good guys" is a great reason to drop the charges, which they did.

Charging him for owning a book is what they did too.
Can we please stop with these bullshit human comparisons that happen in every AI comment section?

Copying pictures is not efficient within the scope of this problem. The whole point of these algorithms is to extract (or ideally understand) essential features of some class of objects and to be able to represent an object of such class with radically smaller amounts of data that would be required for the full description.

That is the only definition of efficiency that matters here.
Service workers, maybe?
I come from a C++ background, with a recent interest in JavaScript and Go. I'm trying to envision something a little more than simple inference. I'm imagining how I would take an untyped codebase and how I will infer the data type of a variable or a parameter by studying all its usages within the code.
Here’s a poster from this weekend’s march in Tennessee: https://apple.news/AfKOmGwqSTZu9hYV9jzry7A

It includes a member of the Nation Socialist movement. You know - the Nazis. If he’s just an outside agitator, then he successfully conned the organizers to the point they listed him on the brochure.

It’s not a hoax. This is real.
Yeah, there does seem to be an undertone of "it's such a pain to have to prove things to the compiler that I know are right", even though the vast majority of the time the compiler is right and you messed up. I never quite understand the feeling that one wants to pin the blame on the compiler when you make a mistake and get that feedback right away. I guess in some cases, like Rust, where the compiler is really particular about enforcing certain rules, that might be frustrating, but one reaches for a tool like Rust because of those rules and the guarantees they provide, so it's kind of silly.
Adobe Captivate 9.0.2 Cracked Serial for Mac OS X Full Download – Crack4Mac
You don't RENT in that area. You have to buy. Then you can sell it later, and get back all that extra money you were paid for living in a place with high housing costs.
> I'm always going to favor the option with the best static type system, because I know it's going to help me (and anyone else working on the system, especially newbies) keep things sane

This is the usual general claim from one arguing for using static type verification in a given situation, but this is pretty fuzzy statement, no? "Keep things sane." We need to have more clear reasons than that, don't we?

In my view, the end goal in business is to optimize productivity throughput over time (i.e., make sure that we can deliver business value as quickly as possible.) But I realize this is not as simple as today's immediate throughput at tomorrow's throughput's expense. So there is this goal of keeping things maintainable (probably what you mean by "sane") -- but to be even more clear: it's productivity/delivery throughput we are talking about, no?

And if that's the case then we have to really justify that the static type dance is truly giving us that overall throughput. How do you do that? What is your general decision process about when to introduce type verification and when not?

To be specific, let's say I need to ensure that the value for my "title" doesn't ever exceed 80 characters. I imagine that even in Haskell you would make this a String, no? So you would defer that length constraint to dynamic validation/logic? (Correct me if I'm wrong.) Well, then why are you choosing dynamic verification in that case but for other cases like "publication-date" choosing to have the type checker verify that it is a proper date value? What is your criteria?

In my experience programmers usually just do what is idiomatic or most convenient in their programming language. Okay there is a Date primitive, I will use that. There is no Title or MaxString<Length> primitive, so I will just use an unbounded String. In other words, it's not a like a reasoned choice. Which makes me think, in general, the reasoning behind using a static type language is more fuzzy than usual.

But if you have even a loose criteria for why you pick static typing for a value versus doing the value's verification dynamically, what is that criteria?
Personal attacks are not allowed on HN. We ban accounts that post like this, so please don't do it here.

https://news.ycombinator.com/newsguidelines.html
Could you explain a little more about the complications of nominal subtypes?
I should say they don't have real reasons, but they have plenty of weak ones. They see their toolchains as part of their competitive advantage, which is weird because FPGA toolchains are some of the most annoying software applications around. The market as a whole could only benefit from additional third party involvement.

Especially at the high end, the manufacturers commonly introduce new hardware constructs -- high-speed transceivers, clock generators, memory controllers, that kind of thing -- and they don't really want to document and disclose the inner workings of these components at a level that would allow third parties to write tools for them. It could potentially take a non-trivial amount of documentation and customer support work. Meanwhile they want to preserve their trade secrets, and they also don't want to attract infringement suits from either patent trolls or legitimate competitors. Disclosure of bitfile formats would open those particular kimonos a bit too wide for comfort. This is largely why Linux users can only get GPU support via binary blobs.

At the low end, some good reverse-engineering progress has been made by people like Clifford Wolf on the Lattice parts. This work is certainly important, but as long as there's reasonably rapid technological progress on the hardware side, reverse engineering is never going to be enough to sustain a healthy third-party tools industry.

It's a real shame. Imagine how far we'd (not) have come if Intel and Motorola had walled off their instruction sets...
This is more or less true, big layoffs are pretty easy in Sweden, but some organizations can easily kick out people for performance issues, even though it's supposed to be hard.
And yet Google refuses to allow web apps / PWAs on their Play store.
Show HN: Dompeg – A sometimes-working bookmarklet that saves the page to jpg
The JVM is a fairly nice platform overall if somewhat heavy (though with modules in JDK9 you can ship an executable package competitive in size to a Go binary).

All that aside, performance is great and has a massive ecosystem of mature libraries.

I’m not saying it’s always appropriate, but it’s not a bad platform.
One of the things I liked about Amazon early on is that they were on my side. They were very customer focused. For a while, though, they've been shifting to make me the product. Their site has become filled with sponsored products and ads. It's definitely reducing my trust in them.
I guess it doesn't really matter. In Clojure "+" is namespaced, so if I need to have it support a broader range of inputs, I could just switch my usage to "new-+", or I could call my new version "+" and import it from its namespace.

Clojure does have a few features that support dynamic dispatch, so there may be some games there to play as well.

The key point though is that "+" is really just my name for something that "adds two numbers together" -- that is strong enough semantics for me to express my function/business problem in terms of it. How I grow the supported range of that function...there are a number of ways I could go about that.
The guy is a serial abuser of his girlfriends & wives. No reinforcement necessary.
There's a rule (I forget who pointed it out first, I heard it in 1994 or so) that the structure of a software system will exactly mirror the structure of the organization that created it.
Please don't invoke the astroturfing/shillage meme here unless you have something specific (i.e. more substantive than someone happening to hold a divergent view) to point to. It isn't that what you said is wrong, it's that this topic leads to bottom-of-the-barrel discussion quality, like the below. It's always the same and it's tedious. That's why we added a bit about it to the HN guidelines: https://news.ycombinator.com/newsguidelines.html.

Real astroturfing and shilling exist, but internet users also frequently imagine it. There's no way out of this hall of mirrors—discussions just die there—so we all need to have the discipline to avoid it by default.

If anyone thinks they're seeing real astroturfing on HN they should email us so we can investigate.
- the global folder of Quicklisp works for most purposes. It is built on top of ASDF, which you can configure too. But I would not worry about that first.

- for a URL shortener, Hunchentoot is already enough. Hunchentoot comes with an "easy-acceptor" scheme, which requires only (defparameter server (make-instance 'easy-acceptor :port 8080)) followed by (start server). But maybe you will need to define you own subclass of "acceptor" instead, I don't know.

- For storage, you can use hash-tables and serialize them with cl-conspack.

(let ((hash (make-hash-table)))
(setf (gethash :name hash) "YourName")
(conspack:encode-to-file hash #P"/path/to/hash"))

Note that conspack:decode-file returns a list of values.

You can also interact with databases.
Ireland with the UK as runner up.
https://jeffknupp.com/writing-idiomatic-python-ebook/
To be fair, that's basically Floyd's entire brand. They don't call him "Money" Mayweather for his charitable contributions.