skysight-inc/HackerNews huggingface dataset:
> single atomistically perfect crystal with no defects what so ever

Nit-pick, but single crystals can (and do) still have defects. Your point about single crystal turbine blades being awesome I agree with completely though :)
Apple and Google have billions of smartphones collecting location data. Not all of the data are currently sent back, but they can certainly do it with just a software update. For example on my iPhone under location services it already lists "routing & traffic" as one of the system services using location. It's easy enough to extend it to mapping too.
How to hack any Facebook account by sending just a SMS| IT-Mela.Com
Very cool! It'd be great if you could also serialize the notes to the url, so people can share these.
So are UIs of Reddit, Facebook, Craigslist, Amazon, ... a bad, usable UI that people are used to > an academic good UI, that nobody understands/uses.

Ranting about bad UIs reminds me a bit of ranting about tabloids. They are obviously bad, and nobody reads them if asked, but that does not change the fact that they are very popular.

(Please don't use bad UIs as a template if you start fresh, minimalistic is OK)
Java had another big problem. It couldn't interact with DOM properly.

I mean, it could. But it was terribly hackish and anyways involved Javascript.

So you had one of two options:

1. Write an HTML webpage or

2. Write an empty webpage with a large Java applet in the center, which would be function as a "virtual terminal".

Both are ugly. That's why Sun created Java Web Start (IIRC), for complicated Java applications which could be loaded from the Internet.

Perhaps Google Docs could have done something like that, but I like the current UI more than the "potential Java Google Docs". The only thing Google Docs now can't do is Cntrl-S or something like that.

Also, don't forget the real reason (existing) Java Applets died - security.
I'd love to know too, are there any frameworks that are at least more straightforward than React and Angular? One where you're not passing anonymous functions into functions with all sorts of confusing syntaxes, where you can just express what you want to do without having balance three types of punctuation that require the shift key to type.
> Google's self driving car project depends on a Lidar system that costs $75,000 today.

I believe you're multiple orders of magnitude off here. Google's LIDAR is surprisingly cheap. I believe they used expensive Velodyne units in earlier versions.

Heck, even brand-new Velodyne devices are only $8k.
TBH, You can pretty much do a single PHP file, with no dependencies, and without mod_rewrite. Just site.com/?fDS- for example, and it redirects. Storage can be MySQL or some other DB or even a flat file with locking.
It appears they won by default. The defendant never showed up to court, and may have never been served papers.
While you're waiting, there's always Golang...
Errm...

- "test".indexOf("st") == "test".length - "st".length

- "test".enddWith("st")

Am I the only one who thinks the second one is WAAAY more readable? And that's a COMMON function. Using the former is bringing complexity UP.

Not to mention, endsWith is part of es2016 I believe. So this package is just a simple polyfill.
People used COBOL to run large companies too. (Hell, they still do.) Doesn't mean it was particularly good for any definition of good.

Even the big companies can't do pretty basic things on the web, like justify text beautifully. It's not hard to imagine another world with much better typography on the internet. Ditto for better languages and a better layout system.

Most importantly, just because something has broad support and took a lot of effort does not put it beyond sharp criticism. That's no way to make progress and a perfect way to make entrenched worse-is-better technologies that managed to get popular even more entrenched.
Microsoft then had a near complete monopoly on anything computers.

If you remember how Mozilla had to include all the IE6 mistakes all web programmers assumed were standard?

And yes, back then definitely Microsoft was in EEE mode. They would do anything they possibly could do to keep the internet Windows only
Well, this is so good to read. Thanks for sharing!
80k is my favorite EA organization. I love reading their articles!
I don't understand the problem with those modules. Just because you can do something one way, doesn't mean you shouldn't add an easier and better to understand way. The intention of `string.endsWith('Blah')` is easier to understand then `string.indexOf('Blah') === string.length - 4`. Java String has both `indexOf` and `startsWith`, do you think that is also problematic?
Israeli Ministers demand Facebook remove inflammatory words (Ynet/Translated)
Yes, the web is a very messy place. Maybe a kind of wild west of programming practices?

But it's also a place where you can do a lot of things that no one has thought before. There are not many rules and a wide diversity of approaches. The web platform never had many of those approaches (e.g. complex web applications) in mind when it was created. It works somehow, anyhow. It's chaotic, yes, but also flexible and full of freedom.

To stay sane in this world, you have to voluntarily and deliberatly (!) reduce this freedom and create yourself some small sane pockets that you understand well enough and feel comfortable with. This can be done by increasing the abstraction level and restricting feature sets (e.g. ESlint), using Frameworks (React, Bootstrap, ...) and transpilers (TypeScript, Babel, Sass). Note that you're loosing freedom here and you're buing into other peoples understanding how a sane place of web programming should look like. In the Web there are a lot of ways to do things, there's no monoculture! And if you don't like the existing ways, roll out your own (though I wish people would be more careful / sceptical with this attitude).

And there's the backend. You've got all choices of programming languages and frameworks there. If you're making a mess of you're backend, you really can't blame the web for it.

For someone without much web experience, this process of choosing frameworks, workflows, toolsets just to get to one (of many!) sane programming experience is surely daunting. You have to choose and configure your envirionment yourself first, just to get started. You really need someone experienced to set this up and understand most of its implications. If you're having so bad experiences with your current web project, maybe some bad decisions were made regarding this. Or too much freedom (and therefore chaos) was left in place and got out of hand.

If you don't have the experience to make those decisions, you could just start with one approach that is pupular right now. I guess on hacker news this would be something like React, Babel, etc.. There are a lot of tutorials out there to put this all together.
I felt the exact same thing when I started webdev after 3 years of app dev and a little bit of REST APIs (and backend) using python flask. For me JS, and all frameworks built using JS felt like attempts at revival of something that should have long died. Every new framework gives JS lovers (honestly no offence) a little bit of hope and adds a year or two to its survival. For a long time, I felt JS was a hack on top of a series of hacks!

I've just come to accept it now. The reason you're disliking it is probably because of its extreme hit and trial nature - unlike appdev which is more fluid and consistent.
But other than Reddit, Facebook or Amazon, Twitter does seem to have a growth problem.

I'm not a user and I don't think that I have strong feelings about their service but if forced to visit their page I'm confused most of the time.

A bad UI that can't be excused by success ist just a plain, bad UI.
I like to think of web programming like the english language, how it's a mashup of all these other languages and ideas. It's hard to learn as an outsider and has many gotcha's and wrote learning exercises
Sure, as said in other threads here -- large companies full of brilliant people can build good RIAs. Small companies full of OK people are suffering.
Java Applets security could have been solved. I'm not even sure what problem you are referring to exactly. With todays web we get insanity of XSSs, CSRF and who knows what else. The only reason these are not killing modern web development is because this hydra has too many heads.
Are you talking about the client or server side?
And even their code is still often bloated, maddening hacks on hacks.
I think it's worth noting that back-end web development is an usually pleasant place. In most other types of programming, many technical decisions are made by the platform and working with tons of legacy cruft is the norm, not the exception. For example, where else can you so freely choose the programming language?

Linux Driver? Use C. Mobile App? Java or Swift/Objective-C for Android or iPhone, respectively. GUI App? Again depending on your platform that will be either C++, Swift/Objective-C, or some .NET thing. Making a neural net? You could do everything from scratch, but it probably makes more sense to just use a platform like Tensor Flow and python.

Backend web development on the other hand: use anything! Wanna use lisp? Go ahead. Wanna store your data in an unproven experimental database? No problem. Wanna use micro-services? Monoliths? Anything goes.

Browsers are extremely complex application platforms. But despite how you may feel, they didn't succeed because of their weaknesses. The browser as an application platform succeeded because of its strengths. Web browser are the least bad option (and beat out many other worse options).

For better or worse, browsers are what we have. Make the most of their strengths, and deal as best you can with the weaknesses.
> Back end and front end are written in the same language with strong typing and all that.

Exactly why I love GWT, even though it seems that it's not popular anymore.

It gets the job done, refactoring is not an error-prone and painful experience and it's fast because it's transpiled to javascript.
Do you honestly not know anyone who is "overqualified" for their job but happy? I know quite a few.

Have a friend who went to school for business. Realized once he started working in business he absolutely hated it. Took a huge pay cut to work for a non profit. Much happier.

Another person I know spent many years trying several different careers. Got a bachelor's degree, did work studies, job shadowed, got licences. Didn't like any of them. She is happy in food service where she works now.
Aren't you also glad that you're a US citizen and considered off limits to laws other countries enact?

Besides, I have a difficult time believing harsh punishment will be any kind of deterrent to these types of DDoS attacks. The internet and its infrastructure needs to become more secure and robust against this, and it needs to improve fast.
Some parts of web-dev are really chaotic right now, but other parts can be very well-organized, same as server-side code.

For example, you need to compile all of your es6/es7/typescript code to JS (because nobody will write in pure ES5 nowadays), minify and concatenate resulting files - this part is very chaotic. But you need to touch it not so often.

You also need to write unit-tests. Tests itself will take 10% of their configuration code, it's very annoying also.

But when you'll write e2e tests, everything will be much more clean.

Main part, JS code (I recommend TypeScript) can be organized by same rules you use on the server.

Frameworks: Angular 2 is closer to Java enterprise apps (with all good and bad parts of it), React and jQuery are not frameworks and if your codebase is built on jQuery - bad news, it will be mostly spaghetti-code.
> That said, having tried at one time or another PM, management, and sales: programming is the worst monetizable career option, except for all the others.

Could you clarify that sentence, please?
Ask HN: What are most inherently secure OS's and why? The opposite and why?
I know technically all Linux distros are the same OS so please more granularity in your answer. Also, if there are certain OS's that are more secure, why aren't they more popular for THAT reason? I know nearly everything involves trade offs.
They settled in 2001. OS X was released same year, signaling the beginning of the end of that monopoly.
Could you share a little more details about the debit card process? How was the paperwork, how do they ship the card (courier company or regular international mail), do they ship anywhere in the world, the fees to receive the card (cost of the card + shipping) how do you request the card, can it be used internationally without limitation (it would make sense since this solution is for international customers, but US banks tend to be very strict regarding sending wires or withdrawing money from ATM outside of the US), what are the daily/monthly ATM withdrawal limits, and any other useful information. Thank you
Warren Buffett's Net Worth by Age
FYI, he's actually quite technically talented. Let's assume less and RTFA more.

http://haseebq.com/farewell-app-academy-hello-airbnb-part-ii...

Excerpt:

... many people are drawing the conclusion that I primarily got a job at Airbnb by being really good at negotiating, or gaming the system, or something like that.

If you have ever done a software engineering interview, you would know that this is completely absurd. There is no way to negotiate or charm someone into passing a software engineering interview. Much less 8 of them.

If you don’t know the ins and outs of object-oriented programming, database design, asymptotic analysis, binary search trees, or how to improve the cache efficiency of an algorithm, then you’re not going to pass a computer science-heavy interview at a top company. You don’t even have a shot at it.

The moral of my story is not “get really good at negotiating and you’ll get a great job.” Negotiating is important, and I certainly encourage everyone to negotiate!

But first, get good at the thing you’re doing. Then worry about negotiating.

I moved to San Francisco from Austin, Texas about a year ago because I decided I was going to earn-to-give. Since then I’ve been relentlessly trying to build a new career for myself, so I could earn more and donate more to charity.

Entering into App Academy, barely knowing the basics of Ruby, I came into the office and grinded every day, spending 80+ hour weeks just coding and studying. I’d come in at 9AM in the morning and leave around midnight, 7 days a week, sleeping in a bunk bed in SOMA in a 200 square feet shared room.

It’s certainly true that I probably have a mind that’s well-suited for coding. But it’s also true that I outworked almost everyone who was in my cohort. And when I was hired by App Academy to help teach the course, I continued working as hard as I could to get good at this.

I still stayed late in the evenings, I still came into the office on weekends alongside the students just to continue coding and learning more. I started an algorithms study group in the evenings where I taught students new algorithms that I had read about, and wrote specs and instructions to guide them through the implementation. I took over our entire algorithms curriculum and taught well over 100 students the basics of data structures and algorithms.

And of course, I was scared that none of this would matter. That having been an English major, having a non-traditional background, being 26 and too old to transition into tech, competing against 20 year olds who’d been coding since they were 10, I thought I must have no chance.

Thankfully, I was wrong. And I’m very, very lucky that I was wrong, because I was almost right.
But it looks prettier.
The 100 sample is supposed to be true automated driving, take me from a to b. Not just the standard Lane keeping, adaptive cruise etc, which is what tesla offers with their "autopilot".
> when it applies

One of the problems here is that the function does get an anonymous function passed. That means the function can provide dynamic scope via constructs like CATCH, LET with dynamic bindings, UNWIND-PROTECT, and so on. But it can't rewrite any code in the passed function.

This can only be done in a macro.
Ok, this is really weird, why did your link forward me to this NSFW page until i copied the URL manually into the address bar (Again, NOT safe for work): http://imgur.com/32R3qLv
Hovering showed the correct jwz url as well. Is that your or JWZ's doing? JWZ's page has even retained the imgur favicon (chrome, mac).
Most people here are replying Arch. That's what I keep coming back to. (over and over again)
There's a $500B remittance market, and Bitcoin startups want in on it
React is, in my opinion, a big step forward in reclaiming the front end as a mature UI environment.

I have also found that CSS becomes a lot more tolerable with CSS Modules, in combination with React, which allows you to write CSS that targets one component and only that component. By eschewing cascading, you can finally write modular, reusable CSS that avoids side effects and still allows fine-tuning (overriding) by the component user.
It's that time of the year again
>XSSs, CSRF

Java had drive-by malware downloads galore. Unfortunately, Javascript isn't immune from this, probably for the same reason: to increase performance requirements, they both JIT code, which allows potential buffer overflows, etc.
Apple Reportedly Lays Off Dozens from Self-Driving Car Project
Facebook's UI is really bad too. If someone links to an image it loads the page with the image, then a second or so later loads the same image in a modal. And if you try to click the image make it bigger it might just close the modal (that's not yet loaded) and take you to the person's timeline.
Web start has to be one of the best web technologies that almost no one ever heard of. It had most of the benefits of the web for LOB apps, and most consumer apps are probably better off not being web based in the first place.
Honestly, pretty much everything is hacks on hacks. As a kernel hacker, hardware is hacks, firmware is hacks, kernel is hacks, it's turtles all the way down. The fact that anything works at all is a miracle. Some systems are better than others, but everything has some duct tape somewhere.

Designs and algorithms are abstract, the implementation is never as nice. We as engineers have to make the best of what we have, and to prevent making the situation worse to the best of our ability.
Because JWZ doesn't like HN and thus has decided to childishly redirect all traffic coming from HN to this.
Hosting the content only in the US isn't a solution. When a corporation faces a state actor, there is rarely a way for the corporation to come out on top. Didn't Brazil recently require WhatsApp to cease service in the country for a short bit of time?
I think one reason is because there are two kinds of web development.

Website dev and web app dev.

I don't think they are mutually exclusive, but website dev is about styling and navigating into documents. It's stateless and the variety of content is unlimited. I don't think there is a "problem" here, it works, has good tools for what it has to do.

On the other hand, there is web app dev, and app dev is messy at present. My guess is that is lacks governance, it's not necessarily a bad thing, but it means things are taking time and must prove themselves to gain traction and become standards.

But yeah, doing something like a calendar input, with really perfect behavior, where you can navigate the calendar with the keyboard if focused, that is accessible, works on all device… is insanely hard and not solved by the platform yet, so everybody try something different.

Also, a lot of people that are more authors than programmers are "hacking" "app like" functionalities into their website, and it can get messy very quickly. No pun intended.
Thought so! Thanks. Guess the web is broken after all.
Everything is simple.

There is just a lot of it.

That's pretty much my view of internet and web technologies over time. It all did work, it all continues to work, to address security/performance/convenience we collectively add a few more little simple features/workarounds/quirks.

But ultimately the perception of the hackery of it all really stems from:

1. Quantity. There's a lot of stuff, it all works to some definition of "works" and there is typically more than one way of doing something.

2. Quality. When things are made, they are made for that time. As time goes by we can more clearly see the ambiguity of something, or the incompleteness of a feature, but by then it's too late and it's set in stone, our fix is usually to add something new (see #1).
Using a meta-language like Typescript (if it's appropriate), and writing a sensible number of tests, employing a consistent code style, documenting what you write, and spending time to actually design your software properly is the answer.

You can write good software in any language and on any platform. Good code is more about your processes than your choice of tools.
Web development is like the scene from Indiana Jones and the Last Crusade. You get to pick your poison and there are a lot of people who will choose poorly. Doesn't matter how good you are, chances are, on occasion, you'll choose poorly as well.

There's no point trying to read and understand every library and framework that comes out. HN has half a dozen interesting ones I skim over each week because what you need to know is what's out there, what's been done, so when you come across a problem you don't have the tools for, you can come back and choose the tool that best fulfills the requirements you have at that moment.

And those requirements will change from project to project. There's no cure-it-all. Expect to switch frameworks or libraries very often. You probably wont have time to learn all the intricacies of a framework before something else is more suitable for your needs.

It's not impossible or required to write bad code and have bad design, but it's easy to shoot yourself in the foot when you don't know what you're doing. You will see lot of bad design and poor code though, there are a lot of coders who are starting out with web development because it's an easy place to start with.

Sometimes you need just a spoon and sometimes you need a fleet of excavators and the hard part is knowing when to use what.
It's added complexity because it's not std lib. Importing an entire module just to accomplish something you could easily do with 1 line of code. I'm not arguing that javascript shouldn't have `startsWith`, just saying there's a large overhead associated for a relatively minor performance increase. Thus going back to the debate about proper engineering. Just my 2 cents, feel free to ignore :)
Guiliani was able to mostly solve the problem in New York... he was able to do things like eliminate freedom of movement for blacks

Where do I even begin with this?

Let's ignore for just a second the part where you seem to label black people a "problem population".

Praise for any public policy that restricts citizens' rights specifically on the basis of race must be rejected outright. There are ways to fight crime without trampling on the rights of law abiding citizens.

What disturbs me most is that you don't even seem to realize that your example of Guiliani's supposedly successful crime policy is an almost textbook definition of institutionalized discrimination. As an African American living in Manhattan the policies you advocate are obviously objectionable to me.

Behind the "Modest Proposal" rhetoric in your posts rests the belief that it's somehow defensible to limit the rights of black people (or any population) based on a greater prevalence of crime.