skysight-inc/HackerNews huggingface dataset:
One of the great things about having all of this great tooling is it makes the easiest way to do something also the best way. They were able to quickly spin something up which, incidentally, could also massively scale should it need to.
I'm a huge fan of Kotlin. I think the author just doesn't understand the niche it hits.

My team has a significant investment in the JVM. I despise working in Java because of how heavy it is to write. I like Scala, but the team I'm on finds it too complicated. Clojure is out because nobody on the team wants to write lisp. And Groovy doesn't have types. We looked at Ceylon, too, but at the time we hit a lot of compiler issues (if I remember correctly).

So where does that leave us? There are likely other languages we could choose that target the JVM, but the pragmatist in me says I don't want to stray too far off the beaten path for this.

Is Kotlin perfect? No. But is it a better developer experience than Java? Oh hell yes.
In her defense, a lot of people have recognized it for years.

People tend to think of autism in its mental aspects only but it always comes with gastrointestinal issues. There are a lot of kids who see fairly significant improvement from diet changes (most notably gluten free and casein free). When people started putting that together with the people who suffer from IBS and Celiac also needing to avoid gluten the connections started popping up. Gluten free turned to GMO wheat which led to round up and glyphosate.

On the pure autism side, people have talked about heavy metals (not just mercury) for well over a decade and aluminum has been high on the wonder list. When people realized that there was a digestive connection between glyphosate and aluminum...all the alarm bells went off.

Now all people want is a real study...and if that turns up nothing then people will want to study something else because right now there isn't an answer and parents really, really want an answer.
Initialize them with default values, then? Or if you're using Jackson there is a module from FasterXML that provides support for Kotlin data classes.

lateinit is a crutch to get things working, not something you want to use long-term.
AND THE COUNTERPOINTS:

1. An LLC is easy and you can form a C-Corp whenever it is needed. If your investors are equity/debt firms, they can form the C-Corp for you at that time.

> but most startups usually stick with Delaware and file a foreign qualification form to operate in their own home state.

2. There are at least 55 states and territories in the United States which ALL HAVE THEIR OWN SEPARATE incorporation laws. Their legislature hasn't been asleep for the last 30 years, there is real competition in fees, regulations, anonymity, taxes and incorporation structures in many jurisdictions outside of Delaware.

If their courts encountered an unforeseen problem, they can all lean on Delaware's entire body of case law. So the benefits of Delaware's court of chancery are overstated, and the circumstances where you want that or its arbitration are slim.

3. Delaware's oh-so-progressive corporate laws also include parallel securities transparency laws that can introduce compliance burdens above and beyond what the Federal Government stipulates.

Conclusion: You don't need a C-Corp and you don't need to incorporate in Delaware. Being spoonfed the perks of Delaware is easy and barely anybody is publicly talking about what other states offer, and you will have to do your own research.

KPMG and Deloitte and PWC produce annual documents on incorporation perks in jurisdictions all around the globe. Including individual United States.
Yup, whiteboarding and reciting tried and true stories are inevitable routines when interviewing. However, you'd also be surprised at how many people don't know how to prepare for this. My main concern would be the possibility of turning a great candidate down just because they didn't happen to interview well.
Nothing about S-Corp? We did the C-Corp twice and we've never got to the level we wanted so we switched both times to S-Corp. Currently we're as S-Corp and it saves us a lot of money.
Indeed. It is possible to see an object half-way through construction if you are viewing it unsynchronised from a different thread to the thread constructing it.

This is why the common pattern of double-checked locking is bad. This is:

class Thing {
private Thing thing = null;
public Thing getThing() {
if (thing == null) {
synchronized (this) {
if (thing == null) {
thing = new Thing();
}
}
}
return thing;
}
}

Don't do that. You could get hold of a partially-constructed Thing.
To me, equality of opportunity means "substitution equality." I.e. you should be able to swap someone's gender and the way the external world treats them should be identical at every step.
Good for her. A ton of CEOs have done far worse for their shareholders and done as well with their exit package.
Sure, but I'm still confused as to why the display format setting has anything to do with the on-disk format. To me they seem completely orthogonal.
Agreed but if they started posting results people would then believe in its accuracy in proportion to the hatred they have of the public figures identified.
Can someone more involved with security than me describe what the authors mean when they say files will now be "validated" by WhatsApp and Telegram before being sent?
It's obvious that they're not going to use the code you wrote at an interview in production. So "just use a library" is not a relevant answer. The question was probably posed to give you an interesting engineering challenge to work through with the interviewer so that they could see your problem solving process. Instead you just argued with the interviewer.
I agree with what you say, but I think there is also a bit of the opposite. We have become desensitised.

I remember waiting for minutes to download a picture (with all my family nervous because I was using the only phone line at home) and then being totally shocked by something I had never seen before. Images of this kind could not be found in books or magazines. Nowadays, kids see one of those images and either they just sweep left or write a 'not wtf' comment.
The memory model 'modalities' refine the semantics of what you would do with direct or reflected access to memory objects.
For what it's worth, The Rotten Library is actually a series of decently researched articles about interesting things.

If they were interested in marketing themselves and making some money, they could easily spin it into a fascinating YouTube channel.
In the past i too faced similar issues starting out (about 2 years ago) with Jekyll especially on Windows so i can relate.

I don't think this is the case anymore tho, as you can use two commands `brew update` to update Ruby and `bundle update` to manage Jekyll.

- Homebrew does a great job of managing Ruby versions on macOS.

- Bundler now manages all of Jekyll's dependencies without issue.
Sometimes it's worth taking action to diminish a perception, even if that perception isn't actually true. Has Google considered the impact of the perception that their interviews are hazing?

Especially in the context of Google's public commitment to increase diversity among their engineers, it strikes me that revamping their interviewing process to eschew whiteboarding ought to at least be considered - it would be amazing PR for Google if they swallowed their pride and innovated in this area. And it would have a real effect outside Google, since so many companies' interview processes mimic Google's.
Yeah, automating simple image transformations could really save a lot of time and effort.
Unfortunately most of the apparent cases of this are likely because under Wine/Linux some of the more advanced effects and visual options aren't available, so the display resolution or quality are actually not equivalent to what you'd get under Windows. There are some comments here about running on cut-down optimized versions of Linux and that's quite possible, but these are really edge cases. The relatively poor state of graphics driver support on Linux is the main problem but it depends on your hardware.
I don't really know how things are in the US, but here in Europe, the employer's need for a developer will often overcome his fear of hiring a "job hopper".

Be ready to answer questions about the reason why you quit your jobs, though. Just telling the truth is usually enough. "The commute was too much", "I was not growing/learning any more"...
"Actually, I wouldn’t care about for if there was an alternative. But there isn’t one."

Learn the collections library. https://kotlinlang.org/docs/reference/collections.html
All loops can be written in terms of them. Also because of inlining they have have the same runtime costs as hand written for loops.

"Smart cast to ‘Int’ is impossible, because ‘value’ is a mutable property that could have been changed by this time"

Smart casts only work on immutable values because of concurrency. If the variable hast to be mutable use ?.let { ... } instead of smart casts.

What's wrong with two exclamation points? If you're using it you are probably doing something wrong anyway.

When getting a type from Java that hasn't been annotated as @NonNull or @Nullable it is regarded a platform type. This means it's programmers responsibility to check if it can be null. Same as in Java or any other language that doesn't have nullable types.

Assignment is not an expression. We've written 20K of production Kotlin code without this ever being a useful convention. Assignment being an expresssion is layover from the C family of languages. If you really want C's syntax and semantics, go write C.

The ?: operator is great when chaining a bunch of operations all of which could return a null which we want to convert to a default. Here is an example:
claimData?.claimTimeMinutes?.toLong() ?: 5L

Generics in Kotlin have the same issues as Java because of type erasure. It does offer a few improvements with the use of reified type variables.

Lastly, if you want to have descriptive structures use data classes.

This guy just wants to program in C. If it's not C it's crap according to the article.
I kind of agree with you, but the free and open internet in your scenario would be a pretty niche thing, kind of like gopher or Usenet is today. I've been thinking about running a gopher server lately, but that doesn't mean that I want the free and open internet to be gopher-only.
Yahoo hack indictments by feds include 2 Russian FSB officers
Brain Scans Could Reveal Criminal Intentions
rurban, my parent, says "to turn this into a wiki" and then lists javascript for on-page editing and markdown rendering. That's one way to get it done, of course.

But for sitting on the couch with your wiki totally contained on your lap in your laptop, editing in a text editor is a reasonable solution to "edit this page."

"Render markdown" from the command line is also a reasonable solution in that (my) scenario.
Somewhat interesting. I bet you'll find most folks who started just a few years after you would find your lack of knowlege of rotten.com amazing. And conversely you likely represent the majority of your cohort as well.

I started in 1994, and I don't know how I could have avoided rotten.com a couple years later. It was just the social circle you "hung out with" online I'm guessing. It was almost a gross-out form of rick rolling, if nothing else.

We certainly share an Internet generation, but we likely are in fairly distinct cohorts simply due to a few years difference. You probably had a much different social network than I did, even if we were the same "irl" age.

I find this topic somewhat interesting, the vastly differing online experiences people had just within a 10 year timeframe is pretty amazing looking back at it.
There's two real differences. The security checks are done at lookup rather than when the handle is used, and they provide atomic operations and memory ordering which reflection doesn't give you. Think of them as type safe versions of some of the field access methods in sun.misc.Unsafe.
Maybe the closer similarity leads to more confusion and mix up.

Clojure works pretty well with Java, but is so different, you'll rarely get things mixed up between the two.

Just a guess, since I'm not the original commenter.
This is great advice, thanks. In the past six months, I've been better about keeping notes. Not specifically for this, but this is definitely another benefit of journaling.
Because using the new display format with a non-normalized source would break the display.
> the assumption that this literacy has to be applied to whatever the core product is that is being produced is suspect.

I think what he's saying is that if you're a designer and you don't want to be unemployed then you should learn to code. Whether or not you should actually write code for any given project is a separate question.
> Although for any modern robotics project you definitely need a powerful gpu.

Wat. I know this is hacker news, but not every project requires a DNN.
Escape the cloud database trap with serverless
"And their explanation might show another habitat that dies hard"

Another... habitat?
I'm very sad that they seem to have stopped updating it years ago.
Never really thought about it, didn't even realise it was tied to Jetbrain and not build into Kotlin itself. I feel initialise a default value counter intuitive, what the default of a string , "", "default", "test". I know it works because it'll be reassigned with the JSON value later, but still feel dirty.
I prefer the Swift way let value: String!
> I have and I'm no sociopath. I think its easy to justify firings if you have a mature and adult attitude towards work. People perform a fireable offense and they're out the door. If you're experienced and honest with what it takes to run a business, this stuff isn't that horrible to deal with.

That's best case firing. Firing for performance is much harder, in my experience. Justification for that is never 100% for me, because performance failures are almost always my failure somewhere along the way (because I hired badly, or set bad expectations, or didn't help someone enough).
Given ES2016's intended goal to remove a lot of the global interconnected nature of the language (let/const over classic var; module scopes), it seems clear why ES2016 "over-corrected" and only supports the gensym-style unique symbols and exporting them at the module level if they need to be reused. (From whence known symbols like Symbol.iterator exist.)

I've seen strawman proposals for ES to also support some form of a global symbol namespace, but after debugging much of the legacy of JS global-happy code and order-of-script-tags bugs I, for one, am happy that none of those strawman proposals are currently favored by the committee.
I think that's a fair point and it's why we need much more stringent conflict of interest rules and enforcement in science.
Nintendo should release the Switch without the dock and with the pro controller
> I am not sure how anyone could recreate that joke now.

I've seen something similar in a series of tweet responses expressing shock, outrage, glee, surprise - any emotion, really - that only ever replies to more of the same.
This isn't an alternative venue for the US pushing back against Russia. Russia and the US are working on the same side here; one of these FSB officers was recently arrested in Russia for treason, and now the US government is piling on charges.
In what way do you think whiteboards are like deadlines? I honestly don't understand this line of thinking.

It's not about "pressure", it's about the fact I'm an introvert and do poorly at composing while speaking. My brain requires time to focus inward to formulate complex thoughts, and interrupting any time I pause narrating doesn't give me that time to think.

I've literally never had it be an issue in my career, because deadlines happen on the order of days to months and in real life conversations it's acceptable to pause talking for 5 minutes. (Heck, in real life, it would be rude to talk the way you do during an interview, because it wouldn't give the other person a chance to share their thoughts about the problem.)
There's the IWW's iu560 (Communications, Computer, and Software Workers Industrial Union).

http://www.iww.org/unions/dept500/iu560
You sound like a good interviewer that adjusts to each candidate. I wish more interviewers would learn the importance of this.
I was mostly incredibly happy to see ancient perl code that didn't use prototypes or fail 'use strict'.
Double standard "card"?

I find it interesting, that every mention of a double standard here is to lament the fact that the US is being called out on it. Not the fact, that the US in engaging in it.

When you do something questionable, and then try to shame others for doing the same, it is a double standard.
Migrating our analytics stack from MongoDB to AWS Redshift (1/2)
Next step: unit tests for the type system
Geographical Coordinates for Programmers
A Logical Fallacy: We did something we think might be right for us (but we don't really know yet), therefore everybody in the entire world should do exactly the same thing regardless of their circumstances, and divorced from whether or not this actually works for us or not.
Bike-ambulance for developing countries
>That doesn't invalidate the original meaning.

It does invalidate the original meaning because no one uses America to refer to that landmass anymore (in English). Common use is what determines the meaning of language.

"Nice" used to mean simple or foolish, "Silly" used to mean blessed, and "Awful" used to mean worthy of awe--modern usage patterns have invalidated their original meanings in modern use.

>I understand that it's not ambiguous to many people, but it's ambiguous in my own mind because I do think of "America" as applying to the entire land mass.

And I think of Columbia as an alternate name for the US. It doesn't mean I'm going to get on a Colombian Spanish language forum and start making up new demonyms for them.
Terrance from GCP Support.

If you have problems with our support team send me an email (tsg@google.com) and I will look into it.
It's actually not possible to get a hold of partially-constructed thing in this manner, assuming the thing only has final variables. See http://g.oswego.edu/dl/jmm/cookbook.html.

"The initial load (i.e., the very first encounter by a thread) of a final field cannot be reordered with the initial load of the reference to the object containing the final field. This comes into play in:
x = sharedRef; ... ; i = x.finalField;
A compiler would never reorder these since they are dependent, but there can be consequences of this rule on some processors."

Note that there are no constraints placed on sharedRef. It does not need to be volatile, for instance.

This link also has more useful info and examples: https://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.ht...
Interesting. What phone are you on? Could be because of a flexbox.
I suppose you could argue that, but it's just semantics.

In the Byzantine Generals Problem the generals are trying to achieve consensus. Their messages to each other need to be stored in a cohesive form, like a log file.

The very definition of the Byzantine Generals Problem requires a single truth center. Call it a centralized database if you will, but the problem needs a single source of truth.

When independently acting miners or mining pools that do not require a centralized host or server to "bless" their contributions to the single source of truth is indeed a decentralized system.

Git and BitTorrent are decentralized too, but they don't have a single source of truth. I may have 100 git repo servers but which copy is the truth? Is Github's copy of master the ONE TRUE master or Bitbucket? Or is it my local repo?

In source control it all works out in the end. The developers come to a consensus of where they will push their work. The maintainer will deploy code to production from one of the many repositories.

But when you're dealing with financial transactions you definitely need to have a single source of truth. It doesn't mean it isn't decentralized to have a single source of truth.
Only if "dreaming" is an individual endeavor and not part of a group effort of specialists working together.
https://news.ycombinator.com/item?id=13876208
If the type system is Turing-complete, how are you going to test the soundness of your types? Who is going to write unit tests for the types?
If you invest in an LLC then you will be purchasing membership units. If you have membership units in an LLC, then you have to file a tax form every year (K1) that reports your portion of the earnings or losses from the LLC. The investor will have to pay the taxes on his portion of any profit generated by the LLC, even if the LLC didn't distribute any the profit.

Investors typically have dozens of investments. Filing K1s for all of your investments is a huge amount of work.
Yes, but it's still upfront purchasing. You don't have to pay immediately but you have to commit to the full term to get the discount, with an option to get more of a discount if you pay early too.

Google's sustained-use discounts have no commitments at all.
Appropriation of eastern asian (particularly Japanese) cultural terms is an odd trend in the American tech community. I cringe a bit every time I see a listing for a Java/Javascript/.NET/$LANGUAGE "ninja", "samurai", or "sensei".

I know it's not done to be offensive, and maybe defended by saying "we're just honoring their culture" or something like that. It's just kind of awkward, can't we agree on that at least?

To be clear, I grew up in Cleveland and have been listening to a comparable debate my entire life:
https://en.wikipedia.org/wiki/Cleveland_Indians_name_and_log...
So what would happen if someone created a youtube account called "NotUCBerkeley" and reuploaded all these videos with their playlists intact? Asking for a friend of course!
The Politics of Backlash – neo-liberalism rewarda the rich
Yeah, linking to the Sitara repo probably wasn't the best example.

Here's another TI repo where they're at 4.4.32:
https://git.ti.com/processor-sdk

Release notes (dated 12/2016): http://processors.wiki.ti.com/index.php/Processor_SDK_Linux_...
dupe: https://news.ycombinator.com/item?id=13876208
I've seen it done with a giant quote-tweet chain where each user adds a single outrage-y adjective, so 'Awful ...' quoting 'Disgusting ...' quoting 'Appalling ...' quoting etc.

I had vast amounts of fun starting from popehat wading in going back through the QTs looking at the social graph as I went deeper down the rabbit hole.
It'll be interesting to see "solutions" like that run into the first clashes with a legal system that is not inclined to accept "the software won't let us do that" as a valid excuse for not complying.
what makes other encodings hard ? The two things that come to my mind are byte length and comparison function. If the encoding had a fixed-length byte length, then it should be just swapping n-bytes at a time instead of 1-byte. What else is difficult about non-ascii encodings ?
> there can be consequences of this rule on some processors

Right - I think the processor can still reorder. I've never been sure why the compiler is not allowed to reorder in this case, since this doesn't help you if the processor will do it anyway.
> Most angel investors and VCs will also insist

If they do "insist" on this regardless of circumstances, it would not be ideal to partner with them since they clearly don't know what they are doing. And if you are partnering with someone, don't you want them to know what they are doing?
Who is going to write unit tests for the Turing complete types?
Well, that's a problem that is being worked on, e.g. see

https://www.microsoft.com/en-us/research/publication/its-ali...

https://arxiv.org/abs/1507.02988?context=cs
this looks really slick. I would love if a company would onboard me like this, especially as slack is often the central work tool anyway. Great job!
Plenty of non-devs manage to get by on <120k, especially right after college.
What percentage of them are gory/shocking, in your opinion?