skysight-inc/HackerNews huggingface dataset:
> > (and yes, that includes Smalltalk IDE's)

> Patently false.

It's a mathematical fact.

Without type annotations, refactorings are never safe and need supervision from a human.

Did you notice that the "Refactoring Browser" calls itself just that, not "Automatic"?

Because it can't provide that guarantee. Even renaming a function is dangerous and can break a program when you don't have type annotations.

I have a lot of respect for Smalltalk and the pioneering work it accomplished, but the refactoring browser was just a powerful string replacement engine, nothing more. Which is not a knock on the engineers and scientists who invented it: it simply, mathematically, could not do more than that.
Just a quick update here, but particles in outer space are not part of the climate.
Because 90% of HN only knows JavaScript so everything must in some way involve it.
Should taxpayers cover the light bills at university labs?
Brazil had previously impeached their first democratically elected president, Collor, on relatively trumped-up charges, similar to Dilma. This will be the first time Brazil actually impeaches a president on serious charges.

Edit: This article by Glenn Greenwald (a resident of Brazil) is informative:

https://theintercept.com/2017/05/18/after-latest-bombshells-...
I guess it depends who you work for. I prefer to work at small new companies until they get off the ground. Then I shift to the next small new company. Small meaning < 30 employees for the whole organization. Pay isn't as great, and the work is definitely more under pressure, but I find that the only thing expected of me is quality work. I don't have to worry about trying to climb ladders or schmoozing management. I understand that not everyone has the skill set to do what I do, but I think that if you're tired of Mega Corp social engineering, taking the pay cut for more personally rewarding work is a great path to go down. After all, quality of life has very little to do with what you have beyond a certain threshold and more to do with what you make of it. I get paid less than other developers in my area, but I work entirely from home and I choose the technologies, architecture, language, etc.
A million years is an instant as far as the universe is concerned.
surpass, not bypass.
Good Sales Emails
So if someone's BBC account gets hacked, or an attacker otherwise forges a comment, how's that going to play out when someone gets incorrectly dismissed?
That surprises me. I would have thought that you could do this in Kotlin just as you can in Java with static import:

import StringUtilClass.*
shout("I'm mad")
If someone with a lot of money has a problem with what you're doing, they'll hire lawyers to discover some way that the law prevents you from doing it. If the ensuing lawsuit, which will bankrupt you regardless of its outcome, doesn't serve as a sufficient warning for anyone else who wants to do whatever it was you did, they'll proceed to buy a law that prevents you from doing it.
That's the impression I got that the benefits of intel pays for its self in terms of more efficient use of compute budget
Bananas, which are relatively high in naturally radioactive potassium, are going to cause more cancer than this.
That happens to be my email.
The numpy.linalg module depends on LAPACK, which is Fortran.

Core numpy depends on BLAS, for which both Fortran and non-Fortran implementations are available.
Interesting that what are essentially tabs or buttons are implemented as full server round trips. Seems like Amazon generally prefers that methodology over client side tab switching. Not sure why, when they could probably load what is essentially static information and just show/hide the containing elements.
That's a good idear. Start a feature request by emailing google-chrome-developer-tools@googlegroups.com
One Step Closer to a Closed Internet
How to passively detect SMBv1 use on your network using network traffic analysis
This guy is perhaps the 21st Century's most important inventor, http://zapatopi.net/blog/?post=200604284330.st_clair_hyperin...
I tried many times, I simply doesn't seem to be good at it.
There's this idea I've seen a lot lately amongst social justice activists that the correct boundaries are obvious and a simple matter of common decency, and that anyone who dares to question this by asking where they should be placed is simply obfuscating to justify bigotry and harassment. Of course, no two people's idea of where the obvious, clear boundaries are is actually the same, it's just they don't generally realise this because it's never discussed. Occasionally something happens that different members of the community do see differently and all hell breaks loose.
This would be much more reasonable if work networks or devices were used during the behavior.

"Where the BBC reasonably believes that you are or may be in breach of any applicable laws"

They are actually reaching out to claim you have violated laws. Is this not potentially libelous?
They used a 2 alpha character salt with md5 as the hash algorithm. Thats pretty bad
Is it problematic if you espouse beliefs about Brexit on BBC's website? Uh oh. Careful, your boss might know you have unsavory political beliefs.

If a person speaks illegally on a forum, then the right move would be to contact law enforcement. But if the action falls below law enforcement, then apparently the BBC has its own enforcement wing when it encounters unsavory speech. The oversight? BBC's cold cultural calculations and political acumen. The consequences? Getting someone fired or harassed at work.
Good thing he wasnt sentenced to embassy arrest for 15 years- that would be something we usually only do to murders.
That is what I think every time I see WebGL demos that most of the time remind me of Voodoo or Amiga demos, but hey it is on the browser!
Show HN: Godsend: modular separation of concerns for streamable micro-services
I wouldn't suggest this sort of self-damage; I've been there and I've made the mistakes. Servlets, as written, are lousy abstractions for HTTP. Worse, where the abstraction breaks to expose HTTP to you, it doesn't really do much in the way of enabling you to do anything you couldn't before.

If you want to use the JVM, one: use Kotlin over Java, it is a strict superset and a better development experience across the board. Two: evaluate something like Dropwizard (or even Spring Boot) well before you go near servlets. JAX-RS is not perfect, but it's a lot better than whatever you will home-roll. (Again, been there.)
How to Migrate Between Cloud Hosts the Easy Way
Shouldn't the duty of startups be to survive and grow, rather than devote any time and energy to the cause du jour?

Net Neutrality is incredibly important. I think it should be up to individuals to fight for it, rather than expect fledgling organizations to throw themselves unto the breach.
To really understand what's going on you, learn your tech stack at least 1 layer of abstraction lower than the layer you typically work in.

The biggest wins are where you make a good decision that avoids an entire class of bugs or an avoid having to write an entire layer of software. These are also the hardest wins to measure.

Pick something you are genuinely interested in and learn it very, very deeply. Don't jump around constantly or you won't have insight.

One thing I wish school taught was code maintenance. Most of the code you write has a shelf life of a few weeks as you fulfill your assignments. Bad decisions only come to haunt you after months.

You need to watch for new technologies that matter, but 90% of what is new will not matter. One technique I've seen work is to build a list of people in the industry you respect and watch what they're interested in.
Freedom of press does not mean you can just report on classified information without consequences. You can't just go into Google office and start leaking an NDA project. In this circumstances, sure, the document was available publicly. But since it has been hidden, wouldn't further distribution considered illegal?
I'm afraid your comments to HN have been breaking the site guidelines badly for quite a while. You've been uncivil—often egregiously so, such as repeatedly accusing others of being Nazis—and gotten into lots of flamewars. This is unacceptable, we ban accounts that do it, and I'm banning yours now.

If you don't want to be banned, you're welcome to email hn@ycombinator.com. We unban accounts when people give us reason to believe that they'll follow the site rules in the future.
The biggest news for me is ICU support for collations (text sorting).

Previous versions of PostgreSQL relied only on strcoll, which is horribly broken on BSD and macOS. On platforms where it wasn't completely broken, it had the potential for subtle data corruption bugs (eg. an update to glibc might change sort order, causing indexes to become corrupt).

Now, you can optionally use ICU for collations, which gives you reliable, versioned collations. This is a big step forward!

ICU collations are not the default, you need to add them with CREATE COLLATION. You have a lot more collations available to choose from, but I think it's not yet possible to change any of the advanced settings that ICU provides.

(Also, when I tried it, it seems that the ICU collations are case insensitive -- but I think case insensitive collations aren't fully supported yet.)
Would you say this is true even if you're not living in a tech hub like SF?
Lisp is by far the most powerful programming language out there. In fact, Lisp is not a language, it is more a philosophy:

- If a language's syntax is written using an structure that the language itself can easily manipulate,
- in such a way that the source code can generate new source code, using the full power of the language (no restrictions),
- in a easy-to-program, straightforward way,

... then you practically have a Lisp language.

As somebody important said: "Lisp is the programmable programming language". This is the key difference among the rest of the languages.

I have spent about 26 years programming and only this year I set myself to grok Common Lisp. The power of Common Lisp, and in particular its object system (CLOS) makes languages like Java seem like ugly toys for miserable people.
> There is no future in software development as a job.

Wrong. I've been at it for 30 years. It's not all roses, but it's still pretty good. The key is to be doing something where 30 years of experience is worth more than 5 years of experience. I'm in embedded systems, and the experience matters there (to enough people, even if not to everyone). Web programming? I'm less convinced that it matters there.

> Move to a management position quickly...

It is my explicit career goal to never become a manager. I've seen what that looks like, and I don't want it. I might make more money if I did, but it's not worth it.
Clearly one of Elon's Red Dragon missions should deploy a VLF antenna and measure cockpit radiation with and without the antenna broadcasting. It would be a real breakthrough if we could deploy 'shields' in this way that would protect interplanetary travel.
Would the teleported "you" be any less "you" than the "you" that wakes up tomorrow? Or after you've replaced all your cells with new cells?
It was md5 with a 2 alpha character salt
Makes a lot of sense. The last thing Amazon would want is for Kindles to become known as smut readers.

And it's the last thing Kindle-owning smut readers would want.

So, a win-win, right?

Having seen a few romance novel reader's Kindle suggestions, Amazon isn't shy about promoting the genre to the right audience.
Give it a couple more years, maybe. Amazon just announced their echo cams
Is that a legitimate call for HBS to do an IPO? How would that work? Would the market seriously invest in an academic institution? Even with it's quality/legitimacy in question now?

There were concerns in the article about companies having some control over which case studies HBS taught from. Wouldn't making the school public in this way hand industry even more control over these things? Who would control it? Who are the Harvard board of regents, and would the public be able to hold them accountable for their decisions?
You harbour bitterness towards guitarists in general or those (like me) that butcher classical pieces of music? Or am I missing something else? :)
> Type classes: https://kotlinlang.org/docs/reference/sealed-classes.html

Sealed classes are an odd/wonky take on sum types, they're not even remotely close to type classes.
Your post reads a bit contradictory. The only way we can all be responsible for negative externalities is if we each individually choose to be responsible, or if lawmakers force us all to be responsible. I honestly don't know what your view on this subject is, because you seem to be deriding any possible solution to the problem of negative externalities.
My feelings too. I should have entered Lisp earlier. I have wasted many years of my life with Java. Then C# was a relief. Then Python was much superior in the speed and easiness for doing useful stuff.

But the power of Lisp (Common Lisp, in particular) goes far beyond all those.
I thought that the kind of "retail sales" the article is referring to is what us Brits call "shop assistant"?
It doesn't matter whose business it is, the BBC still can't use communication between you and the BBC to interfere in a relationship you have with your employer that is illegal.

https://en.wikipedia.org/wiki/Tortious_interference
> The boundary between a beginner and a coding rockstar really isn't very great unless you are getting into the realm of computer sciences, like machine learning.

This is really untrue. On the surface, code might look the same between a beginner and a senior developer, but the decisions underlying the code will be night and day. Beginners will solve the problem of the day directly, with no care for introducing complexity and no willingness to reconsider past decisions.
What's the significance of the `update .. set (..) = row (..) ..` syntax?

update comment set modified = now(), body = 'edited comment' where id = 123;

vs

update comment set (modified, body) = row (now(), 'edited comment') where id = 123;

It doesn't seem to provide any new functionality, just a minor difference in syntax.
Then I'm glad I'm in the US and work for an organization far more interested in preserving our fragile and shrinking individual rights than policing naughty thoughts on the interwebs.
> The thing you will find using Java for a long time at any company is you eventually end up with your own framework / stack.... Yeah sure there is some underlying DI or Web framework but a majority of it becomes your framework and workarounds/plugins/extensions for whatever DI/Framework you choose.

This doesn't match my experience at all. Only really ossified organizations get to this state, even in Java-land. The amount of abstraction I have needed to put on top of Dropwizard in order to do literally everything I've ever needed, from websockets to web pages to file service. The underlying Jersey and HK2 system is simple, well-documented, and straightforward when I've needed to extend it, but these extensions are restricted in scope and easily testable to boot.

I see no benefit, in 2017, to using servlets directly. It's certainly not going to be easier to teach a new hire through look-at-the-code or look-at-our-minimal-doc instead of pointing them at the existing documentation and examples of best-in-breed tooling.
Google Lens is pretty amazing
I actually tried them all, ranging from megacorps that were darlings of techies and Wall Street to nimble startups with amazing tech. It was politics everywhere, at startups even more nepotistic/cronyistic than in megacorps (e.g. seeing a wife of a cofounder and CEO wasting money on getting selfies with some marketing pseudo-celebrities instead of doing real marketing, and knowing I can't say a word because she basically controlled her husband).
General Motors Will Stop Selling Cars in India
How to Successfully Scale the 1-10 Customer Phase (Ep 122)
"Code as Craft" was the name of their engineering blog. I suspect the author found a post about Etsy running their own servers there and decided this juxtaposition fit the narrative they were building.
Semi-related, Twitter seems to be okay with taking lobbyist money from those against net neutrality: http://i.imgur.com/Ad2LMxZ.png

Weren't they part of the SOPA/PIPA blackout?
Except traditional "cloud" hosting is wicked expensive in comparison. Ideally you should shoot for a hybrid model where excess capacity spills into AWS/GCE/Azure.

For example: A dedicated m4.16xLarge EC2 instance in AWS is $3987/month. You could build that same server for $15,000 through Dell, lease it at $400/month (OpEx), and colo it with a 1GB/s connection for $150/month.
> If the BBC chooses to share that with your boss, why is it different to anyone else choosing to share it with a member of the public.

I assume you never did something embarrassing in a bar? Or were more than a little drunk?
Lots, but these 3 points stand out for me:

* that there are too many things to build and too little time, so don't code for the sake of coding, but solve problems and touch more lives

* that I could have supplemented my coding skills with business skills, and built something that made me money

* that life is short, and coding isn't the only thing to do

---

Bonus tip: strong CS fundamentals, math > new hip language, new framework
Had a look, I can't seem to find any assurance claimed wrt timing attack and other side channels beside a warning that the examples have not been designed with them in account. The lack of assembly doesn't look good in that regard...

It's impressive nevertheless, the README being very thorough.
I would recommend reading http://www.investopedia.com/ask/answers/114.asp for how valuations work.

Don't take this as a personal attack: To me it seems you are very confused about the difference between share purchase and investment (these are NOT the same thing). In the world of company founding and funding, these go hand in hand with other things like dilution, vesting, rights of first refusal, "double dipping", and many more (and you practically need to be familiar with them to understand why things work the way they do; other wise, things that are very logical and pragmatic like shotgun buyouts don't make much sense).

I don't have the time to give you an answer all of these cases, but when you read on it, keep in mind that EVERY DEAL has both a pre-money valuation and post-money valuation, and the difference between them is exactly the money invested (in a "standard" investment deal). It is important to qualify a valuation (whether pre- or post- money) when you discuss it.

I did NOT use one or other valuation; I gave both, to make the numbers clear.

Again, until you properly understand the difference between share sales and share issuance (which is what is done in an investment), nothing will make sense. Make sure you have a good grasp of these -- a reasonable test if you got it right is to see if my "ground truth" example makes sense.
>"AFAIK no one at Etsy has said that they run their own servers because it's more authentic, part of their "craft", etc."

I'm not sure I would agree with that based on a recent-ish post on “code as craft” the Etsy engineering blog:

"At Etsy, the vast majority of our computing happens on physical servers that live in our own data centers. Since we don’t do much in the cloud, we’ve developed tools to automate away some of the most tedious aspects of managing physical infrastructure. This tooling helps us take new hardware from initial power on to being production-ready in a manner of minutes, saving time and energy for both data center technicians racking hardware and engineers who need to bring up new servers. It was only recently, however, that this toolset started getting the love and attention that really exemplifies the idea of code as craft."

Source:
https://codeascraft.com/2016/02/22/putting-the-dev-in-devops...

Tangentially related to the hardware discussion - a bit of dated hardware post:

https://codeascraft.com/2012/08/31/what-hardware-powers-etsy...
They should be turning comments over to the police if they think it's a legal issue. Which makes me think they don't _really_ think it's about illegal comments.
I don't know about doing this in a project you're being paid for, it certainly increases the cognitive load of reading a codebase where simple things are done differently all over the place.

Four years in I'm hoping the OP has seen a pretty broad range of different styles and approaches and is now ready to hone their craft with smaller improvements, and is no longer struggling just to get something working so they now have some extra energy to put towards maintainability and overall system design.

It might be better to try to define and refine a consistent style that can be applied to an entire project, that way you have to evaluate all the options, and do everything intentionally, but also you're not sending the next dev back to the syntax manual every time they try to read a new function.
What is your degree in and what are their degrees in?
I tell my teams this regularly: you'll hate all legacy code you work with, especially your own. This means, in essence, that you always hate your past self.

Pushing that hate for legacy code to your own self is important, as it as a good motivation to improve (for us narcissists at least).
I'll just contact them with a complaint.

Oh, error 504 gateway timeout. Maybe this article crashed their complaints department.
Yeah, thats quite the wrong sort of airstrike. The good sort of airstrike is, where you sneak in the middle of the night in some village, where one bad guy sleeps - kill him, get caught - wake everyone up, and get in a chaotic shoot out with a medieval village, where raids by neighboring warlords are the norm.

Then when you get wounded you call a airstrike and eliminate the village.

One has to give it to the drone warriors- at least they send the commando duke of hazards to the unemployment office.
Wasn't this the iMac?
Ah, okay I figured you were making the leap from financially backing Trump's presidential campaign over Clinton to being far right ideologue. Thiel was quite bold by staying quiet following his choice to do that, then being vague and non-commital in the only interview he did with NYTimes (the only real response he made regarding a Trump policy is flatly rejecting supporting a muslim registry and that he thought Trump was good on gay rights), people filled in the blanks otherwise.

HN's not the right place for these discussions, so I'd rather not dig into it more, I was just curious why you said that.
Ramanujan, the Man Who Saw the Number Pi in Dreams
Can anyone give me alternatives to Google Charts? I've tried plotly and I think it's unwieldy for consumer facing plots. Plus the documentation is worse
Insufficient people will really notice, care, or act in synchrony to enact change as long as the abuses don't get overly egregious. This is how democracy works.
Intelliagg helps law enforcement investigate child pornographers
Study the abstract stuff. You'll never use it, until you do.
So, basically they're saying... "Hey you can prevent vendor lock in to a single IaaS provider... just use our special process"... So you trade IaaS vendor lockin for software vendor lockin.

Perhaps a better solution would be to just realise that if you don't control it to the OS level, you have risk associated. You may not feel its a significant risk or that its worth changing, but at least be aware that it is a risk.
> they shouldn't be part of the interpolation syntax itself.

Why not? It's not like there's any conflict. You can use parens inside the interpolated expression just fine.