skysight-inc/HackerNews huggingface dataset:
Long time user of Elance and then Upwork here. I can attest, what occurred in this story is common.

The problem that Upwork doesn't realize is that without an active and happy freelancing demographic, clients will go elsewhere. Historically, Upwork has made it a priority of catering to the client. This is evident given their JSS. For those of you who are not familiar with JSS, it is a score that companies / clients use to hire freelancers. Now, one would assume the score is based on past work with clients. This is not all the score accounts for. Timeliness is responding to invites, the number of long-term clients you maintain, the number of clients you hassle (yes, Upwork actively goes out and tells it's freelancers to hassle their clients to leave them feedback - the responsibility falls on the freelancer and only the freelancer), etc.

Thus, when clients don't leave feedback (for whatever reason), you are dinged. Upwork won't tell you by how much exactly so let me give you an example.

12 months ago, my score was 92% (Top Rated). A client hired me. We went over the terms of the contract (# of revisions, not working on the weekends, etc.). 2 weeks into the project, the client started to deviate from the terms of the contract. I let them know and they began to get pissy. This happens all the time as Upwork has created a platform where the clients hold all of the power, and they know this.

A week later the contract wrapped up, and I managed to make the client happy as they left me a 4.7/5 on my profile and a positive review. Clients are able to leave private feedback the freelancer can never see. When the JSS score updated (every two weeks I believe-mind you, I had not worked any other jobs since that job) my score went from 92% to 71%! A 21% drop.

Suffice to say, for the past 12 months, dozens and dozens of clients later (most with positive reviews); I am now only sitting in the low 80's for my JSS.

In conclusion, Upwork is the worst example of an online marketplace for freelancers who have a backbone and are not afraid to tell a client how it is. After all, we are hired for our expertise and when a client proceeds to tell us how to do our job, it poisons the freelancing community.

edit: spelling errors.
No. I should have, but there was some reason I didn't and I didn't spend the time to figure out how to do the thing I wanted to.

Unfortunately, it's been over a year.
Yeah it's going through reforms in the next week or so, to improve overall quality.

The subreddit has tripled in subscriber base over the last year, and growth like that can be harmful if you're aiming for a higher signal/noise ratio.

Snark is not frowned upon as long as it's based on something meaningful. I'm guilty of snark, but I try to craft high quality posts. Making fun of people because they disagree with your viewpoint is not fine if you don't explain why in an objective manner, though.

But the subreddit is such that a lot of people bring their personal ideology and hope for the regulars of that subreddit to back them up. So there's a balance to be struck.
Coding for Kids: Linda Liukas on Nurturing Your Child’s Technical Imagination
Brave of you to put a write-up ! Fuck you Upwork !!

When I started my consulting company, I decided I will not rely on this Upwork - Freelancer.com shit!

I use various aggregator services -

1.) StackOverFlow Jobs

2.) No Mad Jobs

3.) PDX Startups

4.) Slack Groups

5.) Domino Slack

6.) Meet, demonstrate your services

Everyone can teach WipeRecord service a lesson - I will be giving them 1 Rating on Facebook, Yelp and all other places with a write-up.
Given the poor prediction reputation of Economists, their attempts probably match your description as well.
> My last job was in C#, and it seemed like so many things were stringly typed, entirely nullable, or used something else to weaken the type system.

This sounds like C# as written by people that don't really know or like C#. If you're stuffing everything into strings or a dynamic, you missed the point of the type system in a very serious way.

> In addition to this failure to use the type systems, testing is becoming a much more rich environment. I think popular resources on effective testing are much better and numerous than popular resources on effective typing. There are great books and tools around helping developers test their software more thoroughly and efficiently. Comparing these testing resources with typing resources, the closest popular book I can think of for typing is Design Patterns, and I don't think most popular type systems are built with the program correctness as a top priority.

There is some overlap between problems that can solved by type systems and test suites, but there are many problems that can only be caught by one or the other.

It also strikes me as strange that people can't be bothered to use the type system provided by the language, but they can be bothered to maintain and add unit tests for their programs. Correctness enforced by types is fused with the code; if you get the types right, you should be all set. There's no additional maintenance beyond making sure that the code compiles.
Reason one: I write in half a dozen of languages, and PyCharm supports but one
of them. Yes, totally.
Extensive discussion: https://news.ycombinator.com/item?id=12773282
>I happen to be from a country with a lower cost of living than US/UK and Upwork allows me to do remote freelancing and charge more than I would be able to charge for work in person.

This is part of the problem for freelancers who do live in the US/UK. They're expected to work for less than they could charge in person because they're competing internationally with people who live in areas with much lower cost of living..

In addition, as the article mentions, a big problem is the amount of dishonesty. The fact that someone could have their livelihood shut down overnight by one abusive client is ridiculous.
There is a dashboard for publishing the testing result at realtime at http://dash.etcd.io/dashboard/db/functional-tests. The result is not super clear right now, we are improving it.
Hey, come on- give an explanation. Don't just flip people the link, innit.
I have to disagree. This is not how the business world works. If a client is being an ass, you have the right to fire them. Upwork doesn't afford you this opportunity unless you want to see your JSS drop by dozens of points.
There was a company, GigaOps, back in the 90s that did this.

http://arith.stanford.edu/courses/abstracts/gigaops.html

Their MVP was accelerating Photoshop effects plugins but they developed a decent C like language for general kernels.

Way ahead of its time.
5ms average load latency. But the max looked like it was more than 5 seconds.
Elon Musk will be doing an AMA on r/spaceX at 3pm Pacific today (Sunday 10/23)
In other news: the sky is blue.
> Being able to hit . and get a reliable list of things I can do is worth many millions of dollars to me.

...and mostly is possible because of the many millions of dollars that were thrown into developing it rather than the type system. Quality of tooling has much more to do with the amount of money invested in it than whether the language is statically typed.

But this isn't a post about static vs dynamic typing as I said right at the top. It's a post about the effect of static typing on software quality.
Probably at the beginning Shadi didn't want to disclose the name, or wasn't sure in himself (possibly because of thinking about the possible legal consequences?), but as he was writing the article he pissed himself off so much, that he decided to disclose it anyway.
Who believes his prime objective is to erradicate diseases?!? Hahaha

Edit: a lot of people believe
The highest-marginal-return skill to practice, in my experience, is to figure out where the mutual benefit in any arrangement is, and PRESENT THAT FIRST to each party involved. If it seems like things magically improve whenever you show up, most of the other issues go away.

Also, ensure that whatever you do makes your "superiors" look better, but make goddamned sure that it reflects their cleverness in choosing YOU for the job. If you're in academia and you write 99% of a grant that gets funded, put it on your CV. If you write a contract or a proposal that makes the company $5m, put it on your resume. Don't ever expect anyone to give you credit -- take it, and then thank whoever would logically be obligated to give it for their gracious acknowledgement. People seldom do what they know to be right -- they do what is convenient, then repent. So make it convenient for people to do the right thing for you.

Make it easy for people to appreciate your value and hard to fault your shortcomings. It goes a long, long way. If you can't do that, maybe look for a position where it will be easier for you to execute this task.

Good luck! You will be a happier person if you do this.
> Honda Insight

The (original) Honda Insight was a tiny 2-seater of a car, more tech demo than "ordinary" car, and perhaps it's the gift of hindsight but the Prius' popularity for with people that own one car, as a 4-door 5-seater car vs a non-sportscar 2-door 2-seater car seems all but guaranteed. (How many people do you know that own 2-seaters vs 5-seaters?)

Similarly, the vast majority of smartphones these days are (unfortunately) glass bricks, as first popularized by Apple. There were other interesting designs out there, but ultimately the iPhone design became the most popular smartphone design.
You didn't quite complete that sentence and it changes the meaning quite a bit:

The poor are far more likely than the rich to be arrested and prosecuted for deliberately doing things that harm others
I don't think they're mutually exclusive opinions. HN could be seen as mean or rude just as it can be technically correct -- and sometimes at the same time. The original post also acknowledges that there's been an effort to reduce negative comments in the past few years.
This is something I hear time and time again once a person has actually learned the technology (in this case, TypeScript) and seen the benefits in practice.

For many pure front-end devs that have never really worked with static typing, the compiler just seems like another arbitrary build step in the pipeline with no discernible benefit.
"…a client side enterprise application that is well over 20k lines of TypeScript over tons of files […] But there's so little cost to having static typing I don't know why you wouldn't want it"

I don't think the OP would claim TypeScript is a bad idea, as, with its relatively weak type system, it doesn't really suffer from "if you find a bug it’s easy and unintrusive to add a test for it, but may require a substantial amount of work to refactor your code to add types that make the bug impossible".

As an example of a strong type system, in Haskell code, the database access layer will may types such as "ISO-8859-1 string of at most ten characters"

If it turns out that you want to store ISO-8859-2, changing that type can and often will cause a cascade of necessary changes, for example because you're calling a ISO-8859-1 to UTf-8 conversion function, and the compiler will not accept that call to now take a ISO-8859-2 string, or because you are concatenating that string with another ISO-8859-1 one. Then, you will have to decide whether to convert locally or whether to also change the type of that second string, etc.

Now, of course, each of those compilation errors becomes a bug if you just use variable-sized byte arrays. Question is how much work you are willing to do to prevent those bugs.
> e.g. a good guide how to get EMACS running for Chicken Scheme

Did you see this? http://wiki.call-cc.org/emacs

Generally, for Schemes the standard is to use Geiser mode (not that you would know that as a beginner)
Thanks! Always interested in what people think and how I can improve.
By margins, I'm referring to the car COGS vs selling price, not including the cost of design. (Yes, I know that this isn't the usual yardstick for mature car companies, but we have no idea how many model S/X cars are going to sell before it needs a new platform, and this IS the usual yardstick for Silicon Valley startups.)

Twitter revenue is growing much slower than Tesla's, especially if you take into account the pre-orders for Model 3.

I agree that some economists/financial people see it the way you describe. That's not the only point of view out there.
The title is a little misleading.

You talk about why you will succeed in doing so, but not why you are doing so.

The reader expects to hear moral, social, or political arguments.

You might say that it is obvious why someone would want to help other humans. I don't disagree, but the reader hope to find new, non-obvious arguments.
If it's a law firm, then to me it is surprising that they would actively interfere with this guy's other professional relationships. If this really is as it appears to be, the potential damages both from interference with existing relationships and from defamation surely put this in "worth talking to a lawyer" territory in most places.
https://news.ycombinator.com/item?id=12770601
>> what is your specific use-case that you have in mind for recursive queries?

They probably want to run a recursive query.

(sorry)
> The site host doesn't have to participate in IPFS for this to work.

Really?

An IPFS user will scrape HTTP content, republish it over IPFS and update a directory of where non-IPFS content can be found over IPFS?

I must have missed that part.
This article and its comments are surprisingly negative. I've long held the opinion that HN is the best aggregator out there, and the comments are top notch as well. Far better than Reddit, subreddits like /r/programming+sysadmin+netsec etc, /g/, Slashdot, and the list goes on.
Tungia – Todo el mundo quiere ganar dinero en Internet
This is an interesting topic and I'd really like to know the answer. But many SIMD and vector machines had have gather scatter, or even general instruction sets which include indirection. The article kind of says this, but tries to distinguish between some kind of limited table lookups vs general indirection. Maybe this is really only relevant to SSE/AVX models?

I guess it kind of useless to try to backwards-engineer from marketing derived terms. But if anyone sees a bright line between a GPU and a bunch of intel hardware threads with vector units, please share.
I really think this is what drives nearly all enthusiastic proponents of static typing.

Haskell people excepted.
Actually, there's a really good setup for Chicken in Emacs: paredit and scheme-mode provide the basics. But the crown jewel, as it were, is geiser: it supports most of the big schemes, including chicken, very well, and it has excellent docs: http://www.nongnu.org/geiser/
We also realised that tackling web performance takes a lot of effort..so have been building different tools which can automate front end optimization techniques. Our recent tool (https://dexecure.com) tackles image optimization by generating different formats (WebP, JPEG XR), different sizes of images and compressed to different qualities depending on the device and browser the user is using. All of the images are served with a fast HTTP/2 connection.

We have seen people integrate with it in under 5 minutes and cut down their page size by 40%!
That's very good insight. Do you know of any good books or resources on this topic?
Yeah I think it could only be implemented on a new forum, right at the start. No doubt it would bring a different set of problems for moderators.

To those people (not you) "who see downvoting as a legitimate way of showing disagreement" I would say that it's too lazy. Better instead to try to explain why something is wrong. Then we can look carefully and objectively at the explanation rather than at the score or the expert/layman status of the author. Also many disagreers would find themselves unable to explain why they don't like some idea and might even change their minds.
Paper written by autocomplete accepted for academic conference
DC Metro is a very particular case: it provides service to two states and DC, none of which agree to pay to maintain it. Sound Transit is a lot easier, being a special regional district of the urbanized metro area. ST is also pretty stringent about maintenance, that's why the insist on no night owl service: they're always checking up on the tracks. Considering how clean the trains remain 7 years into service, I trust them.
this smells a lot like apologetics. You can come up with an infinite amount of similar reasons for any complex process. Saying it isn't enough, actual basis/numbers are required to support an argument.

The precision required for a small batch of custom ASIC chips greatly exceeds that of a completely standard and easily created compound, for example. Yet you can still get them for around less than $100 a chip even with relatively small orders (say single wafer, maybe 200 chips), if the chip itself is relatively simple. Anyone even remotely familiar with the process can come up with a massive laundry list of impressive sounding constraints and similar that could "justify" them costing $10000 a chip. After all, its literally the most precise form of manufacturing human kind is capable of, it took decades of research, and we are working with structures that are only a few dozen atoms wide, the factories ALONE cost billions of dollars to build, and all this is being delivered, 100% custom to you, surely thats worth a kings ransom!

Both industries are pretty much the definition of barrier to entry, with absolutely titanic initial investment required. The difference is one industry is relatively competitive, while the other is full of drug-monopolies that you either pay, or you die.
Geiser+scheme-mode+paredit, and maybe scheme-complete and flycheck, are the way to go for all schemes. And geiser is great. It can just about give SLIME a run for its money, which isn't something you can say about most modes.
You are conflating respect with a lack of conflict. This mistake allows you to pretend that "respect" consists solely of being nice, never putting anything down, and generally being ineffective.

> If someone can not tolerate cynical and sarcastic comments they need to be removed quickly. This is very different from mean spirited put downs and intentionally hurtful comments.

If somebody belives that cynical comments are valuable that person needs to be removed immediately. Cynicism is never the most effective position. Anybody who thinks it is is an asshole. If they can't realize this, they'll become a cancer.

Cut out the cancer. Get rid of the cynics. If you hire somebody who says that being cynical is a must, then admit your mistake quickly. Fire them. They're worse than useless. An empty chair is more valuable than such a beast.
Really? I'd use mit+edwin for that myself: it was the intended environment, so everything works, and edwin is quite nice.
Massively fraudulent credit ratings on mortgage bonds was one of the things if not the thing that precipitated the 2008 housing/economic crisis. Your comment reads like you think bond ratings are mostly accurate but recent history tells us they can't really be trusted.
Android 7 on the iPhone
There isn't really a bright dividing line between SIMD and "SIMT". Note that this article was written in 2011, in particular before the introduction of AVX2 and its VPGATHERDD instruction (which was slow in Haswell, but has seen improvements in Skylake), so you can't even use scatter/gather as a place to draw the line anymore.

I'm sure others will be able to chime in with examples of SIMD instruction sets for various architectures predating AVX2 that included true scatter/gather operations.
> Everything you talk about is about centralising knowledge and control. In practice, this never helps in the business of getting experiments done

We have researchers that literally cannot get work done efficiently because they don't know that core labs exist on campus to serve them, and labs that spend tens of thousands to buy instruments that they seldom use for the same reasons. At a department level (let alone an institute level), we have no idea what instruments or services people need, and no usage statistics for instruments that we already have. This means that it is likely that shared facilities are sub-optimally serving the community as a whole, and labs are buying multiple copies of the same pieces of equipment when one unit could do if it were shared. The lack of central indexing also means that most labs have no idea what other labs are working on, which hinders collaboration.

For training, right now EACH core lab forces researchers to do similar training courses for the same instruments; there is no way to prove you know how to use an instrument without taking each course. Similarly, every core lab employs different billing software which financial admins / lab admins have to sign up for and deal with.

How is this at all productive or efficient for anyone? If you were to suggest a similar setup for interacting business units, you would literally be laughed out of the room at a company.

The reason people like this current system is precisely because it's inefficient and confusing. This makes it difficult to regulate at a high level and makes it ripe for abuse by powerful people.
> In addition, as the article mentions, a big problem is the amount of dishonesty. The fact that someone could have their livelihood shut down overnight by one abusive client is ridiculous.

Once you are out there and have your website/blog, anyone can hassle you really, but I agree that Upwork may make it easier.

As for the other point, aren't we in a global economy? When you bring the freelance business to an online marketplace you are competing with the world, there's no way around it. I mean, I buy things from China on ebay because it's cheaper than buying them in a store. I also buy clothes from Zara, H&M, Primark, etc. that are made in Bangladesh by a family earning $1 a day. Remote contracting of people in cheaper countries is inevitable.
Awesome Tensorflow: A curated list of Tensorflow resources
> the idea that static typing will solve all our problems, or even one specific problem: The ubiquity of broken software

Citation needed.

Most proponents of static typing, myself includes, have much more modest claims: that is saves time spent by developers on smaller, more mundane errors. That it makes refactoring easier. That it allows for better IDE support like autocompletion and hover-over documentation.

Even if these advantages are modest compared to fixing "broken software", they're still huge and worth the increasingly minor annoyances of modern static type systems, many times over.
How is this falling off the front page?
I read danluu's first two paragraphs as making the argument that "comments on HN are bad, but better than comments on any other online community", instead of as trying to distinguish between meanness and technical correctness.
I Look at it only to criticise but it is really fast, congrats.
Isn't everything a reaffirmation of Marx' theories?
Honestly, I come here just for the comments. I rarely read the articles unless a comment is excited about something arcane.
We get Issaquah-Kirkland rail in 23notplus years, and everything else quite a bit before that. Tacoma and West Seattle in 13 years. Ballard in 18. Downtown Redmond and Federal Way in 7. Everett in 19. Big bus improvements rolling out in just a couple years.
cost is prohibitive today, not necessarily tomorrow or work only when you are using wifi . storage can be capped.
you need to choose your clients carefully

Except he never chose this client. He exchanged a few emails with a potential client, saw a red flag, and then decided not to work with him.

He did exactly what you suggest, and now cannot accept any work through Upwork, has lost all existing work, and will not be paid for already completed work. All from declining one client.