skysight-inc/HackerNews huggingface dataset:
I keep getting drawn back to Go.

I left it a while back, with a lot of the same frustrations. But then I tried a bunch of other things, and nothing seemed to work better. There seem to always be some frustrations with whatever language. And I found myself craving that simplicity again.

I might get annoyed with it again, and try some other stuff. And that might stick. But I suspect Go is the worst language except for all the others [1].

[1] http://www.goodreads.com/quotes/267224-democracy-is-the-wors...
You are still talking about immutable data structures, which has nothing to do with generics.
I didn't read it that way, but that makes perfect sense. I don't really see another way they can sell it for less than $1k as the article indicated.
It's one less thing to worry about, and cut out some tedious overhead for the developer?
>“Red,” for instance, is a translation of the phrase “620-750 nanometer wavelength.”

only sometimes.
Cold in general also makes your brown fat more prominent relative to the white fat. The brown fat is the good one, and its purpose is to dissipates heat. If you are never cold, it will get reduced to the minimum in a 'use it or loose' it sense.
Read "48 Laws of Power" by Robert Greene. I find it to be a far better book than The Prince, well explained with examples from history.

It is a skill though. A lot of people have contempt for politics, but I believe you have to embrace it and work with it to get ahead. Much like dealing with black hat hackers, sometimes you just have to know the techniques to defend yourself wherever needed.
It's not just Exchange. RFC6530 support is pretty spotty.

Fastmail, which is pretty popular here, only allows a-z0-9_ in usernames. I don't see a "250 SMTPUTF8" reply when I connect to their server and EHLO. So, it's likely they don't support it either.
If his "open borders"' "free to move" does not include "free to move across borders", then it's a troll piece. If it's "free to move, if immigration law permits", then it's a tautological piece.
I want to do this - to expand my senses and mind (what else is technology good for) - but I really don't want something that will wear out and which can't be easily replaced. I respect the pioneers in this field, and look forward to the tech becoming more advanced and mainstream.

To those who believe it will never become mainstream - the same could have been said for tattoos and piercings a mere few decades ago. I remember a time when visible tattoos were a sign of a counter culture, not a normal part of life.

Heck, Google Glass was shunned for its camera, but the Snapchat Spectacles are actively embraced only a few years later.
Even with the algorithmic challenges, games and graphics, and most AI at the moment is short lived and in my opinion easier, because you can deprecate things quicker. A lot of the foundations of what your building on in those fields is rapidly changing and many of the products are built for a single purpose. That makes things easier because you can escape bad choices quickly.

On the other hand if you're building a service for a business, like an auth layer or a payment system, the mistakes you make will live on and on and on. And usually you only get one shot at creation before it's in support for a very long time.

But to be a good at programming/developer. I would say know enough too know what questions to ask and make sure you talk with people on the client side often. Focus on whats important to them, and get change management and security onside before going near prod.
I encourage developers thinking of doing this to check that they aren't required to have their website be scraper-friendly first.

The company I work for does a large amount of scraping of partner websites, with whom we have contracts that allow us to do it and that someone in their company signed off, but we still get blocked and throttled by tech teams who think they are helping by blocking bots. If we can't scrape a site we just turn off the partner, and that means lost business for them.
> IIRC Occitan and French are not that compatible either.

Maybe you're thinking about the Basque language instead? I'm from the south of France, Occitanie really. Occitan is certainly different from French, but not completely alien. It's a bit similar to Spanish in closeness. Basque on the other hand is very different and is an isolated language.

https://en.wikipedia.org/wiki/Basque_language
<sarcasm>

Yeah, because toxins do not exist, right ? And you can't ingest them or be exposed to them chronically. It only makes sense that we all live in perfectly clean environment and eat perfectly nutritious food 24x7 ...

</sarcasm>
So O-Juices and Eggs are a sin, to the holy church of body now? Well sorry, if i sin on like a old heathen, while you drive up your blood pressure in your schisms, popes and anti-popes.

Seriously, fruit was a base part of our food source - since we walked out of the djungle. And we have cravings for it, wherever we go- to get some honey, some overripe mango. If somebody wants to declare that unhealthy, he is free to experiment on himself.

And yes, those monkeys did binge mango eating. Binge Banana, we did alot of binge, and alot of starving, when the source of food was gone and the hunt was on again. To try to fight these instincts, with self-moderation is kind of funny.
i feel like a train isn't going to get anywhere on a tablespoon. That's enough for a few engine strokes perhaps, but that's hardly 30 times better than a mile by a human, no?
There are ways to raise an issue. An easy method is to question the reasoning with an open mind. Point out flaws in the plan without it being an attack. It's more likely to be viewed as an attack if raised in front of people.
Absolutely. With respect to this article and immutability, the strongest arguments I've seen for it are for concurrent programming, like the very successful Erlang solutions used at Ericsson, which I generally don't have an interest in. So, it is reason #4 on your list. For the types of program and the types of problem I need to solve, it's a moot point - people have been getting along just fine without immutable state and continue to do so, and to learn how to do it differently would just be more trouble than it's worth, if not an outright regression.

This is the major problem I have with this sort of article; people never talk about languages in the context of actual working programs, just engage in dry theorizing or armchair programming. If the author put the complaint from this article into context, I'd not have a problem with it. But because it's a toy example with no relevance to actual programs people might want to write and use, it's unhelpful and misleading.
The government never made those claims. The media has fanciful ideas of what our imagery capabilities are and it isn't in the government's interest to correct them.
This is a no go im impressed by the upvotes i think HN community is not well informed on the subject
Awww, thanks for the mention, and glad you like the podcast.
Using standard practices like iterators elides the bounds check, because the iterator is guaranteed to never go out of bounds.
> If by "bounds-checks indexes" you mean "panics when given an out of bounds index, even if it's a compile time constant" then sure.

Er yes, it's safe as in memory-safe, as in an OOB will not own the entire application let alone machine. Error on OOB is a very common (if not quite universal) strategy — and incidentally also the one Go uses, the other primary one being returning null (which would be difficult in a language where most types are not nullable).

If you want panic-safe, use .get.
Then I could take almost any reasonable language, and transpile it to Go source. This worked for years for Javascript 5, and for C before that, and for Fortran even before that.

In either case, the reason was that the target language was considered not expressive enough, though ubiquitous.
I don't think I'm being hypocritical. I have no issues if people crawl my site, I even identify who they are and give them access to a private API. I do not generate any income from that website though. I provide a service because I love doing it and I cover all the costs. Bots do increase my cost so I choose to limit their activity. Crawl me, but do so using my rules.

One of the alternatives is charging for my service but bots are not my users problem, they are mine.
You don't mention your level of experience with generic type systems, but I find it's mostly the case that I can't imagine any use for techniques I'm not yet familiar with.

Here is a random example from my recent adventures, a channel implementation in C++ which uses generics to provide value-semantics for user-specified message types:

https://github.com/andreas-gone-wild/snackis/blob/master/src...

And here is a column class that uses generics to inject both record type and value type into the implementation:

https://github.com/andreas-gone-wild/snackis/blob/master/src...

Doing any of these without generics would mean either erasing types or writing duplicate code. Go provides generic channels, slices and maps; but it doesn't extend that power to user-code since users are supposedly not smart enough to be trusted with power.
No, languages are like Ogres, they have layers.
A programmer who thinks that they are good at programming is almost certainly mistaken.

A programmer who thinks that they are bad at programming is almost certainly correct.

On a team, one of these people is more dangerous than the other. Knowing which is the greatest wisdom.
If you're asking about intrinsic ability, don't worry about it. Nobody is born with the ability to program, it's all a matter of time invested. You need an interest and passion, time will do the rest.
>Identify the knowledge you lack and seek out the most relevant resource

That can be difficult on the Web.

When learning electronics searching the Web for help quickly showed how useless it is. There were many explanations but no teaching and often the explanation begun at a level too far past the level of the question asked.

My guess is well over 95% of explanations I saw were just people posturing to show off their knowledge. Wordy explanations that went on for paragraphs never teaching just saying things.

I craved brief answers that taught not explained. I know 2+2 = 4 but how do you know that how do I learn to know that!
You can instruct search engines on how they should crawl a website, by using a robots.txt file.

http://www.inmotionhosting.com/support/website/restricting-b...
Yes... But not all apps are web ;) We should also think about ones using non-HTTP TCP and UDP.
Aaaannnnndddd..... Silk Road has re-launched.

I actually think technologically this looks like quite the achievement, but it's hard for me to see this being used at all for legal commerce. It's just so much of an audience barrier to trade exclusively in cryptocurrencies.

I like the use of Multisig though. Nice touch.
I was counting less the 50 lines as "few lines".
Competitive intelligence.

Crawling thousands of website, mashing up the data to analyze competitiveness between them, and selling it back.

For example, cost of flights. Different websites provide different prices for the same flight. The technology crawls all the prices, combines the data, then resells it back to the websites. Everyone knows everyones prices, keeps competition high, lower prices for consumers.
You mean, compared to C, which silently allows you to read data beyond the end of the array?

Sanitizers also exist for rust.

Furthermore, often time the bounds check can be elided when using standard constructs like iterators.
Here is a FAQ:

Q: isn't this physically impossible? Surely it has to be based on EVF with Stacking/Long exposure?

A: well of course.
George Romero, Zombies and the Public Domain
sorry if this is a bit long - I'd usually edit it down but am in a hurry.

So I actually am having trouble following your example.

1 - Do you mean that the landed contract is actually really big and important (basically it's now paying for all of the development) or just another signup?

2 - you called them hyperbolic but picked two examples that can keep clients from taking the software seriously: both examples seem to be something that might be much more important than whatever the team was working on.

What I mean is that if the client is trialing the software, and has a certain process in place but trying yours, then if their search is too slow they might go back to whatever process they had before; you can lose the client. Likewise blurry profile pictures might cause them to decide that it is not polished software they can use.

You did not use examples like "unclear icon on search label!!!" or "client logo NOT on their dashboard" or something stupid.

I also thought that anyone could talk to the stakeholder who added to your board and figure out why it is so important (if it is) or immediately move it if it's not (Assuming it's a big, important client.) Or edit it as appropriate.

Obviously this might mean totally rewriting the feature: perhaps slow search can just be rewritten as showing a recent list of the last ten (whatever) and allow them to be pinned, as the client doesn't really care about search but just wanted to bring up (whatever). I say this because for really old searches from archives people wouldn't care about waiting a few seconds, whereas for workflow type things done lots of times all the time it really matters.

Obviously a PM is supposed to stand between such a client/internal sales director and the developers but I am having trouble understanding why the PM can't move and translate from the board - assuming these issues and the client is big/important enough.

Emails often get lost or not handled with appropriate urgency for the case at hand (and can even be marked wontfix or feature request simply due to lack of communication) so if you wrote a bit more about your example I might understand better.
That 1.5 TFLOPs for TX2 is FP16, while TOP500 is FP64.
Channels, maps, and arrays are generic in Go. They solve a lot if key problems.

The problem is that you can't create your own generic structure. Try building a statically type-safe red-black tree, or something like that, without copy-pastig the implementation for each new node data type.

Higher-order functions are also basically impossible.
Wat. OpenResty as an alternative to go? Wat?

Please, nobody write full fledged WebApps or all of your middleware in lua. Trust me that's a horrible idea. I have seen about everything you can do in lua/nginx and it does not turn out pretty.
I made a dialect once called VoqLisp in which a thread carried the dynamic bindings visible in the code which spawned it.

This then resembled POSIX environment variables: "FOO=bar command arg" and was handy in a similar way. You could use let to set up a bunch of parameters affecting the thread, and then create it in that body.
Analysis of tools paralysis!
Updating My Risk Estimate for the Geomagnetic “Big One”
Well, I'd say both articles and pictures can be good or bad...

I guess it's about your mind. I want to decipher the world, in scientific terms, and I don't care about personal angles. Yes, you have to filter a lot of opinion and filler, but I want real information. I probably could live easier without personal information at all than without interesting stuff to study.

Mind you, I'm somewhat on the autistic scale, and I am well aware that most people have a greater need for personal connection and social inclusion. I can't look at pictures of a social event and not see the mechanics behind the behaviours, like it's hard to enjoy a movie if you can't suspend disbelief. To me, a baby trying to eat is mostly just an image of neurons trying to organise. I don't understand wedding pictures because I don't understand marriage, why people have to go through a weird social routine/tradition to declare that they want to be together. I have feelings and emotions of course, but stuff gets very boring very quickly if there's no "actual" information to go with it.
In software development never assume anything. Software development is hard and assumptions can catch you out very quickly. Remember the old phrase - assume makes an ass out of u and me.
> "Programming" is easy. You pick a language, learn a set of rules, and over time learn how to tell the machine what you want it to do in that language fairly well.

Chess is easy. You get the chess board, learn a set of rules, and over time learn how to pick the right piece to play the game fairly well.

Being good at chess/programming would be totally different from knowing "whats happening programming/chess".
https://japanthis.com/2013/04/09/what-does-atari-mean/
Will auto reload work with this setup? Docker for Mac page claims "Seamless volume mounting for code and data, including file change notifications that unlock fast edit-test cycles", but last time I tried it, it didn't work, it just copied workdir to VM once.
You know you are a good programmer when you know what over-engineered code is. Let me explain.

The one and only metric is: how quick do you ship. I know what you think: this leads to unmaintainable code. That is wrong because a programmer who produce unmaintainable code doesn't ship quickly, by definition. Thats because programming works by iteration, and then it doesn't matter you can ship one iteration quickly, what matters is that you ship iterations quickly, over and over again.

Now, the game is simple, you can do two kind of mistakes: you can ship too "quickly" by writing rushed code, or you can ship too "slowly", by writing over-engineered code, for a given iteration. If you rush one iteration, you will have technical debt for the next iterations, and if you over-engineer one iteration, you are wasting time AND you are piling supposedly well written code which has no value and gonna stand in your way on later iterations (it always do, thats what level 2 programmers dont get). Of course, and thats the best part, programmers in practice tend to do both mistakes, which confuses them squared: they have a fair amount of technical debt in an over-engineered codebase.

Programmers in their career though tend to first do mostly rushed code (level 1 programmers) and then they do over-engineered code for the rest of their life (level 2 programmers). So you know you are a good programmer when you know what over-engineered code is.

Is the code readable?

Sorry this is just way to subjective. What you want is a code that's easy-to-learn. The difference? Easy-to-learn is really powerful while "readable" is not. That's because programming doesn't happen on your screen, programming happens between your ears. But first, a spectrum again, at one end you don't know anything about the code you have in front of you which means you cant do nothing; at the other end, you know the whole source code in which case you can do everything: fix, rewrite, extend, debug, run, anything.

A code that's absolutely obfuscated by all standard isnt easy-to-learn, so dont worry, yes "readability" matters of some sort. But a super readable code can be crap too, because it can just be as obfuscated as the former, it's just another form of obfuscation: flood.

A code written to be easy-to-learn means it has been written to help you getting closer to "you can do anything in the code" as quickly as possible. And guess what, the closer and quicker you are from being able to do anything in the code, the faster you ship. Rinse and repeat.
What is the meaning of programming?
Chrome extension: Redirect Facebook.com to messenger.com – skip the timeline
The bears would probably eat other stuff but those aren't readily available due to human activity. (Like introducing giant wolves not native to the area.)
Slightly more information:
http://www.unistellaroptics.com/en/product
Your liver removes toxins as one of its normal functions. There is no evidence that any sort of 'detox' diet is able to assist with this any more than a normal diet (with sufficient vitamins etc.).
"Saves some typing" is not that important as "saves some reading", which is one of the most important activities people do with source code.
>Portuguese, Spanish and Italian are more or less mutually intelligible.

And Romanian, with only some more difficulty.

The big problems I see (as an Italian) when speaking with people from France, Spain, Portugal and Romania is mostly about the pronounciation, admittedly I have studied a little bit of French (that makes the "slightly more distant" language on par with the others).

When it is written, I can usually understand like 90% or more of most text and there are "sinergies", i.e. there is a given word that is different from Italian but is very similar to another word in another of the Latin languages or that is actually directly or almost directly a Latin word.

The issue is with "false pairs", i.e.words that exist (or sound alike or almost alike) in two languages but that have completely different meanings.

Like, to mention a couple reknown ones, "burro" which is "butter" in Italian and "donkey/ass" in Spanish or the Spanish "aceite" which most Italians will instinctively translate into "aceto" (vinegar) while it means "oil".
Also, sometimes the people making the argument for language feature X don't fully understand the existing solutions to the problem, or how much of a practical problem it is. E.g. the "less typing" concern -- when you write code day in day out a bit less typing really isn't in your top 10 list of concerns. That list would more likely include things like "easy to understand what the code does" and "easy to debug".
Do we need to remember the distinction between type I and type II programmers? it sounds like we do. what you described are the type II variant. (and there are a lot more of them).

type I = kernels, database query engine/optimizers, compiler internals.
type II = glue libraries together with a high level language to solve business goals. type II often rely on type I's work.
Yes, auto reload works just fine as you mount the directory and not just ADD it.
Because those who can learn under those conditions can easily learn the material for free and many have before attending. What they use a bootcamp for is a bridge into a career. People are finding other less costly ways into the job market.

The bootcamps of the future will focus on either the experienced developers wanting to learn a new language/skill quickly. The structure will be like an extended conference where everyone attends presentations and gets excited for a few days and then everyone goes home. This will be followed up with an online course teaching the basics that will allow everyone to work at there own pace. A few tests and assignments will assign grades. A hackton will be planned where everyone will build a product using there new skills. Teams will be assigned based on grades to make things fair.
True dat. I've gotten where I use forest and domain interchangeably even thought what you say is true. I only advise people build single forest single domains these days. Complex forest topologies are also a bad thing.
Here's a better article without the theological nonsense: https://www.quantamagazine.org/a-new-thermodynamics-theory-o...
With this kind of video, it would be interesting to see how the North Korean rockets actually do.

Something tells me the CIA/NSA have already used this to get an answer. And at military resolution too.
The following suggestion is definitely not the most useful, but really nice to have.

If you're feeling adventurous, you could experiment with different window managers, such as bspwm, awesomewm or i3.

Check out some examples in https://www.reddit.com/r/unixporn/

Here's a good demo of bspwm
https://github.com/windelicato/dotfiles/blob/master/why_bspw...
As a Cleveland native, I look at Pittsburgh somewhat jealously as a city that is achieving what Cleveland has been slow to do over the last 30 years: find a post-industrial midwestern identity.