Ask HN: Where are all the non-web jobs? - <AUTHOR> I'm a fairly "fresh" developer (less than a year out of college) who will be moving to the Chicago area in May. Since graduation I've been working at the company I interned at and was able to secure that position through the internship program at my university, so hunting for a tech job is totally new to me.
Using some of the more standard online outlets for job searching (Dice, Stack Overflow, Indeed, Glassdoor, etc.), I've found very few jobs that aren't web-related. I have seen a handful of embedded programming jobs, but those tend to require a background that I lack (EE or CE, whereas I have a Comp. Sci. degree). My only other prospects seem to be in the financial and gaming industries, but those positions are few and far between and tend to require previous professional experience that I lack.
I'm afraid I'll have to pursue a masters or doctoral degree in order to pursue jobs in any area outside of the web. Is this accurate, or am I simply looking for employment in the wrong places? <comment><USER3> Rather than thinking of it as "where are all the non-web jobs," think of it as "where are all the $INDUSTRY jobs?" What are you interested in? The web is just a very popular and successful medium for reaching users, including in finance and gaming.

And if you really want to work in finance or in gaming, then go to meetups or reach out to people in the field with cold emails, asking to just learn more about what they do (rather than immediately flinging your resume at them). You should always be networking long before you start actively looking for your next job.

<comment><USER4> Out of work Hardware/Embedded systems engineer with a CS degree here.

There's a lack of embedded programming jobs being offered by manufacturers in California right now. I live in San Diego and it is terrible.

One might think this is because California isn't business friendly (noncompetes are illegal), or that salaries are too high. I call B.S. on this. The best talent prefers to live in CA due to the weather and the lack of backwards policies. There are some of us who will not work in certain areas of the country due to the lack of employee rights. We'd rather live off our investments, and recurring income than work in such hell holes, where the rights of employees are dead last.

<comment><USER3> > There's a lack of embedded programming jobs being offered by manufacturers > in California right now. I live in San Diego and it is terrible.

What about in LA or in the Bay Area? Have you explored moving within California?

<comment><USER4> Unfortunately we have to care for an aging parent, or we would have moved when it got bad.

</comment></comment></comment></comment><comment><USER5> The web is basically a UI layer these days. Google are technically a 'web' company but there are a hell of a lot of positions available there that don't involve doing any web programming at all. Same at any decently sized company.

 _I 'm afraid I'll have to pursue a masters or doctoral degree in order to pursue jobs in any area outside of the web._

I'm curious - why would you go to the extent of studying for a masters solely to avoid programming for the web? What is it about the web you dislike so much?

<comment><USER6> >solely to avoid programming for the web? What is it about the web you dislike so much?

People can simply be uninterested in certain types of work..

<comment><USER7> Yeah, I'm basically a 'full-stack' dev right now.

I enjoy thinking about and designing the database schema.

I enjoy writing the back-end code.

I enjoy thinking about the REST API.

I. Can. Not. Fucking. Stand. the front-end work. I don't know why; I just dread doing it for every project I'm assigned.

I can't wait to hit that 1-year mark and start looking for more back-end oriented gigs.

<comment><USER8> > I. Can. Not. Fucking. Stand. the front-end work. I don't know why

In my experience, it's a simple matter of it never being done, and people always being unhappy with it. You can anticipate every possible need, streamline the steps needed for the most common and/or important tasks, and spend a gazillion hours making it look pretty-- not only will no one be impressed, but someone will always complain about something. There is never any 'right' way to do it. It's a black hole.

With back end stuff, it's like, does it work without making a mess and not overuse resources? Ok, good job! What are we building next?

<comment><USER5> _In my experience, it 's a simple matter of it never being done, and people always being unhappy with it. You can anticipate every possible need_

IMO that's the exact problem - you can't anticipate every need. You need to do user testing, iterate over UI layouts, etc. etc... by comparison, backend work is straightforward.

</comment></comment></comment></comment></comment><comment><USER9> _" I've found very few jobs that aren't web-related. I have seen a handful of embedded programming jobs, but those tend to require a background that I lack (EE or CE, whereas I have a Comp. Sci. degree). My only other prospects seem to be in the financial and gaming industries..."_

I haven't looked for a job in a while, so I can't give you great advice on where to look for jobs. But as someone who works on enterprise software, I can tell you that if you're only seeing listings for web programming jobs, you're not seeing the majority of job postings for software developers.

There's a very wide range of software between web application programming and embedded software. Most of the software used by businesses is on the back-end - the web stuff is just the top layer that users use to interact with the systems. For example, think of all the software that runs behind the scenes at Amazon.com: shipping optimization, inventory management, recommending products to users based on purchase history, etc. - none of that is interactive, it's all crunching through data.

A few sources of job leads that you haven't mentioned: (1) lots of companies have job postings on their own web sites; (2) local head hunters may have a broader range of jobs in your area than the major job sites; (3) networking: talk to your friends to see if they have any job openings where they work.

<comment><USER10> > (1) lots of companies have job postings on their own web sites;

This is mostly where I've had luck when I'm searching - find companies in the area that you're interested in and check out their careers page!

</comment></comment><comment><USER11> Up until a year ago, the correct answer to "Where are all the non-web jobs?" was "China".

Stats for the USA from the Bureau of Labor Statistics:

[http://www.bls.gov/ooh/computer-and-information- technology/c...](http://www.bls.gov/ooh/computer-and-information- technology/computer-programmers.htm)

1990 Number of Jobs 565,000

2010 Number of Jobs 363,100

2012 Number of Jobs 343,700

All kidding aside, the correct answer is still "China". Computer programming jobs follow employment in manufacturing. If employment in manufacturing is rising in one country, but falling in another, the computer programming jobs will be rising in the first country but falling in the second country.

This year, even the Chinese economy is slowing down. But it is important to keep the long-term in mind. Over the last 30 years there has been a dramatic decline in the number of all types of computer programming jobs in the USA.

There is a tiny subset of the industry that is growing, and we associate these with the startups in San Francisco and New York. But so far these startups have not created enough jobs to offset the jobs lost due to other factors.

This suggests that there must be a vast reservoir or programmers who would like programming jobs, but they can't work as programmers because the jobs have disappeared.

If the numbers were smaller, you could argue that the loss of jobs was due to inaccuracies in the way Bureau of Labor gathers statistics. But the drop from 565,000 jobs to 343,700 is too large to be a spurious blip.

<comment><AUTHOR> I didn't downvote you, but from what I've read (mostly here on HN), there are people in the industry advocating for easier work visas to bring skilled developers into the US to fill a talent vacuum. I'm not sure how accurate that is (I'm going on memory here), but perhaps that's why you were downvoted.

<comment><USER11> If someone has a source more reliable than the Bureau of Labor Statistics then I am happy to defer to it. But in that case those people should post a link to the source that they regard as more reliable. They should not downvote me simply because they don't like what the Bureau of Labor Statistics has reported.

The issue of work visas have been discussed many times on Hacker News. The argument has been made, many times, that "to fill a talent vacuum" is an excuse that industry uses to get workers at a lower wage.

</comment></comment></comment><comment><USER12> I've been wondering whether HN would be interested in having "Hire Me" posts in conjunction with "Who's Hiring" posts. Every time there's a Who's Hiring, I spend a couple hours looking through all the posts. Why not do the opposite? Have companies/recruiters look through our resumes. I'm weary about joining websites like LinkedIn/Monster/etc. Even now, every once in a while HN will get a post along the lines of "I've been out of work/the industry for a while and I don't know how to find a job... here's what I know how to do" and they get a bunch of support.

<comment><USER13> They're titled "Who wants to be hired?"

[https://news.ycombinator.com/item?id=10822021](https://news.ycombinator.com/item?id=10822021)

<comment><USER12> Wow I feel like a noob. I've been on HN for 3 years and I've never seen these posts.

</comment></comment></comment><comment><USER14> Don't be too discouraged by job postings requiring an EE or CE degree. At my last two companies (a network gear vendor and a hosted VoIP provider), our postings stated EE/CE was preferred for new grads, but what we really needed were folks with systems programming experience and an understanding of the SW/HW interface.

If you've internalized most of your systems classes (OS, computer architecture, compilers, networks, etc) and are comfortable mucking around in C/C++, you're no worse off applying for these jobs than most new EE/CE grads.

<comment><AUTHOR> Thanks, this is particularly useful information as I have a growing interest in all things embedded. My experience at this point is pretty minimal and is limited to messing around with an Arduino which, as I understand from reading about bare-metal AVR programming, is fairly high level by comparison. How does that translate with what people in the industry are using?

<comment><USER15> At Tesla we have lots of embedded software opportunities, ranging from code that runs in very tiny microcontrollers to beefy ARM host processors. If you, or anyone else in this thread, are interested, contact me on email. My inbox at Tesla is sbrugada.

</comment></comment></comment><comment><AUTHOR> Wow, I didn't think this would get much of a response and I really appreciate all the advice given thus far.

I realize now that I really should have been more specific about a couple of points. First, by "web job" I mostly mean jobs that would be characterized as "full stack". This is what I currently do for a living (enterprise, for a company with 1000+ employees), and from what I can tell this is mostly what's being advertised in job postings. There are many things one could do deep in the depths of some company's back-end that I wouldn't consider a "web job".

As far as what domain I'd rather be working in, that's really the 10 million dollar question. I feel like it's time for me to make a decision and specialize, but I really can't narrow it down to one, single domain. I've taken a machine learning course and really enjoyed that. I did some work with parallel computing in CUDA with a professor while in school and ended up with my name on a paper that made its way into a peer-reviewed journal. I've done a decent amount of hobby game and network programming, hacked a bit on an Arduino and a Raspberry Pi, and I've recently been getting into audio DSP stuff. I really like a lot of different things and I'm more than a little afraid to limit myself to one area for the rest of my career.

</comment><comment><USER16> How about Security ? Cylance has more than a couple:

\- Senior Automation Engineer: [https://cylance.workable.com/jobs/102010](https://cylance.workable.com/jobs/102010)

\- Senior Software Engineer: [https://cylance.workable.com/jobs/74863](https://cylance.workable.com/jobs/74863)

\- Senior Software Engineer, Windows: [https://cylance.workable.com/jobs/182251](https://cylance.workable.com/jobs/182251)

All of these positions are for non-web related jobs. I recommend you look at what are the areas you are interested in, and then target companies that have that. Looking for anything non-web is not a good plan. There are a lot of Data Science related jobs that are not Web as well:

\- Data Scientist, Analytics (Instagram): [https://www.facebook.com/careers/jobs/a0IA000000G3OLOMA3/](https://www.facebook.com/careers/jobs/a0IA000000G3OLOMA3/)

<comment><AUTHOR> Thanks, I appreciate the suggestions. My problem is that I have very little work experience in the industry at this point (< 1 year), so I don't think any "senior" positions would be open to me yet.

I am somewhat strongly considering the data science route, so I definitely appreciate the nudge in that direction.

<comment><USER16> I would try what you feel attracted first. You can always change. When you are starting, everything seems to be confusing, but as you progress in one field, the others will become clearer. The idea is to get experience in something, and start experimenting. You don't know if you like it until you have tried it.

Regarding experience in Security, I wouldn't discourage myself on a lack of knowledge of an specific topic. For an engineer is not expected to know everything (it is practically impossible); learning speed is what you should care about.

</comment></comment></comment><comment><USER17> If we include any tier of layered applications (backend m, front end and anything related) in the definition then the web has a big chunk of jobs these days.

Lots of people still do work with regular applications such as desktop software though. Find an industry (engineering/cad, graphics, music, finance, medical, games, ...) and see where their software is made. You don't have to do OS:es or embedded to do non web things. Millions of people pay billions of dollars for special niche software in all industries.

I have successfully managed to stay away from web most of my career and think it's a lot more interesting to do desktop (note: desktop apps that couldn't be web apps are the interesting ones, not desktop apps with crud which would be no more interesting than doing it as a web app) simply because the amount of "algorithm work" is much greater than the proportion of work that is repetitive data input/output/validation. Not to mention the tools on desktop aren't html/css/js.

</comment><comment><USER18> This is a very common problem faced by those who are looking to move to a new career, taking job for the first time or looking to move back to work after a long time. General tendency is to look for some silver bullet like a degree or course or something like that to solve this problem. Sadly none of these usually work. The reality of what industries are actually looking for is very different. It's best to get a mentor or multiple mentors from industry who are in these roles and know what exactly do these companies look for. They can also do some mock interviews and give you personalized feedback so that you can prepare in focused way. if you don't have good network yourself, Http://mockinterview.proudfolio.com is a great platform for finding these mock interviewers and mentors from the companies.

</comment><comment><USER19> There are OS/systems jobs at most of the big companies (Google, Apple, MS, etc). Really, I'd bet that any company that deals with serious traffic (e.g. Netflix) probably does some kernel hacking.

There are HFT jobs to be had for pure CS folks, too --- especially in Chicago.

</comment><comment><USER20> Are you taking advantage of your college alumni association? They may have a job board or career counseling; related, you may want to find an alumni meetup in Chicago for networking. The alumni angle can be surprisingly effective.

<comment><AUTHOR> Wow, I feel kind of dumb for admitting it, but I completely forgot to consider this as a possibility. I went to a somewhat smaller university in Michigan (GVSU), but I bet there are a decent number of grads working there. Thanks!

</comment></comment><comment><USER21> If you want an embedded programming, OS, or firmware job, your best bet is with a hardware/semiconductor company. No, you don't need a masters or doctorate -- a CS degree is just fine. I highly recommend taking a low level job; you learn an amazing amount that is abstracted away at the high-level web/database areas.

Have a look at the big hardware vendors: Qualcomm, Broadcom, Freescale (NXP), Nvidia, Cirrus Logic, Xilinx, Apple, Intel, AMD, etc. Note that you'd probably need to be willing to move to a more hardware-oriented area, including California, Silicon Valley, Austin, Boston, or Portland.

<comment><USER22> It would be wise to look at the big players for specific industries. As an example for automotive, look at the tier 1 suppliers such as Bosch, Delphi, Continential or Johnson Controls, or even the vehicle manufacturers themselves who does software work, like Volvo Cars, Jaguar Land Rover, General Motors, Renault Trucks

Go through industry you are interested in, do some googling and a list of potential companies can be found.

</comment></comment><comment><USER23> If you want a job in finance, I think you should apply for a bunch of such jobs, despite your lack of experience. You might well find someone willing to give you a try. Be prepared for long hours.

Otherwise, I think you should pick a specialty within CS to focus on. Distributed systems, perhaps -- they're hot right now and that shows no signs of changing; operating systems, maybe; compilers, maybe. I don't know for a fact that BS-level jobs in these areas exist, but they might. Anyway, decide what you're most interested in, and if you can't get a job in that with a BS, go back to school.

</comment><comment><USER24> Find videos from conferences with technologies you are interested in. Watch any / all talks from that conference. Take note of company behind each interesting talk.

If you follow some of these companies on sites like linkedin, keep an eye on other companies you haven't heard of in their 'people also followed' section. (companies that everyone has followed you likely already know about)

</comment><comment><USER25> So, my company is not in the Chicago area but we are a startup with a decent web presence (ecommerce/pharmacy/brick and mortor shipping/data science) and we have a whole back end team. I'm the manager of the front end engineering team (50% swift/Java, 50% JavaScript very little html/css since we use react.js and are porting existing ext.js) and the backend team writes a ton of rest api's, message queue processors, scheduled processes, and integrates with a bunch of third party api's. We also have a healthy and growing data science team. Point being don't write off a place just because it looks mostly web based.

As a side note if you want to move to Portland Maine, contact me I might have a cool place for you to work. :)

</comment><comment><USER26> OS kernels, databases, networking and distributed systems primitives, backend business logic services, config management, orchestration, containerization, etc. A sufficiently large organization doing web or mobile service delivery at scale will be working on these things. Look for a "core infrastructure" or "systems engineer" role.

They may ultimately exist in a business's infrastructure to prop up some HTTP endpoints, but you can work on them for years without touching JavaScript/HTML/CSS or even HTTP. (A lot of people are using REST across internal services, but Thrift and friends are popular too.)

Then of course there's native mobile application development.

You might have some more trouble finding traditional non-networked desktop GUI apps to work on.

</comment><comment><USER27> A lot of business software is developed for the web now.

<comment><USER28> To expand on this - even for internal applications and things, the expectation generally is that the backend is going to expose some RESTful endpoints, and the client will be a webpage. So there are loads of jobs that are still doing backend work inside of a corporation, solely for business needs, nothing customer facing, but the skillset is still similar to what you'd be doing were it customer facing.

</comment></comment><comment><USER29> I found my first job out of college when I met someone at SCALE (Southern CAlifornia Linux Expo), building a backup system for a storage vendor. I expect my next job to come from following someone when they leave the company, or from an in-house recruiter contacting me on LinkedIn. I haven't had a lot of luck on the regular job boards, either.

I've gotten a little attention by contacting locally companies directly, but no success in actually landing an interview or a job. I still think it's worthwhile to get your name out there, even if the only benefit is getting practice in marketing yourself.

</comment><comment><USER30> Look beyond the "standard online outlets".

Reach out to contacts if you have them (friends/mentors from College and your personal life).

If you know specifically what you want to do and you want to stay in your current are, seek out the companies in your area that do this and monitor their job boards and/or reach out to them directly.

You can also try volunteer work, professional comp sci and meetup groups that meet your interests, etc. to expand your network.

Basically try anything you can think of besides just searching online job listing sites, that's the least-effort approach and you'd be lucky to land a desirable job that way.

</comment><comment><USER31> If you're interested in finance, we're (OptionsCity) hiring a Core Java developer in Chicago. This job wouldn't be web related; rather, it would involve working on our Metro suite of trading and risk software.

More information: [http://optionscity.atsondemand.com/index.cfm?fuseaction=5124...](http://optionscity.atsondemand.com/index.cfm?fuseaction=512465.viewjobdetail&CID=512465&JID=503796)

</comment><comment><USER32> Reach out to some local companies that look interesting? Job search sites are a pretty poor resource in most cases - you'll do better from referrals within your network. Even cold-calling/emailing/LinkedIn messaging people at interesting local companies and trying to meet with them would be worthwhile. They might not have a role, but they'll have connections in the industry who can help you.

If you don't have any EE experience, it might be worth doing a second degree - graduate or undergrad. EE is pretty different from writing code.

</comment><comment><USER33> Even at my company, which does enterprise SAAS with a web front-end, about 20% of the developers do minimal to no front-end work (integrations, document generation, optimization tools for trucking).

That's numerically not great, and we mostly advertise for people who can do web programming, but the positions may exist.

Of course, it depends on what you want to do that's not web programming. Do you just hate the web, or do you have something specific you want to do?

</comment><comment><USER34> every sizeable company (web or not) has a contingent of developers who don't touch anything frontend-related. these generally fall into the categories of systems automation, data wrangling, or specialized things like machine learning or information retrieval systems (search).

also don't forget about good ol' fashioned systems administration, which is heavily developer-driven now. your job could be to try to code yourself out of a job.

</comment><comment><USER35> Contact me. My distinctly non-web company should be hiring a developer right at that same time frame. Western suburbs (Aurora) location.

david dot nay at gee mail dot com

</comment><comment><USER36> There is web front end, then there is backend which can be a lot of different things. Ranging from simple CRUD APIs, interesting map routing engines, web search, messaging app servers and so on. There is also mobile, where you can program ios and android apps in many different languages.

</comment><comment><USER37> Even if they're web, web companies still have back end work. If it's enterprise, 90% of the job will be interfacing with hoary 3rd party APIs or antediluvian databases. I hope you like XML.

</comment><comment><USER38> I think it depends on the language. As a cpp programmer its easy to find a job. You wont find many web or frontend jobs here. Its mostly backend or stand alone applications.

</comment><comment><USER39> The defense industry has large numbers of such jobs. Of course, that means having to deal with all the crap that comes with government contractors.

<comment><USER4> And renouncing any dual citizenship you may have.

<comment><USER40> Why would that be?

At a major defense contractor years ago, and in defense-specific departments (unclassified roles), my group of 10 had:

\- a Cuban-born (immigrated as a child) who never renounced;

\- a Kuwait-born (same). (and her Iraq-born brother was in a parallel department)

\- a Taiwan-born, not sure when she immigrated

\- and the project leader was China-born (pre-revolution)

Now, I can imagine that in higher-security roles, things could be stricter, but I've never seen a public job listing that said dual-citizenship was a deal-breaker.

<comment><USER41> You cannot hold dual citizenship and get a security clearance, and a clearance is required for many government contractors (certainly defense contractors, anyway).

</comment></comment></comment></comment><comment><USER42> I've switched from embedded systems to web development because of the number of jobs and salaries.

web dev can be pretty fun as well.

</comment><comment><USER43> I thought ziprecruiter was a scam until I got called in for three interviews from having my resume on there. Might be worth checking out. They were from good firms, too. I was actually shocked that they used zip recruiter!

</comment><comment><USER44> I did a search for Walmart jobs in my area ( a large metropolitan area) - <USER2> hiring. With the exception of certain types of jobs, there has been little hiring since 2006 or so. The supply of labor vastly exceeds the demand, for many jobs. We're definitely moving to a 'post-labor' economy, with more 'gig' jobs and fewer salaried ones. In 2011, Mc Donald's had a national hiring day, receiving over a million applications but accepting only 50,000. Too many people, not enough jobs.</comment>


Big fat websites in Sweden - <AUTHOR> http://peterhedenskog.com/blog/2013/06/the-sites-in-sweden-with-the-most-unnecessary-data-2013/

<comment><USER2> No news. It was common that Uni people used 500kB background images on sites, wihtout realizing how long downloading it would take with 56kbps modem. Because at Uni they got used to 10 Mbit/s connections. That was back in 1996.</comment>


The 25 Most Valuable Blogs - <AUTHOR> http://www.alleyinsider.com/2008/3/unveiling_the_25_most_valuable_blogs <comment><USER2> I have never been impressed with the analysis on 24/7 Wall Street. They tend to be either unoriginal or wrong -- this piece is the latter: these blogs should be valued as if 80% of them will be marginalized or shut down over the next ten years. That might value them at something closer to 3X-4X operating profits.

Of course, one of the big problems with valuing blogs based on operating profits is that the business profits are a small fraction of the blogger's compensation; I got my current job because of my blog, but the blog doesn't generate any revenue. Its value to me is quite high, but I probably couldn't sell it for more than $50.

I'm not sure what use McIntyre's valuation is supposed to be. Is this something young bloggers could aspire to -- to sell their online property for $10 million in a few years? I don't see that as a viable business plan. One possibility is to consider a blog that gets bought out by a larger media company -- but in that case, the buyer is looking for the writer's talents, not the URL and archived posts, so the best way to value a blog is to compare it to the cost of a journalism degree and a lunch appointment with an editor at the _New York Times_.</comment>


A list of Amazon's businesses and subsidiaries - <AUTHOR> https://www.buzzfeednews.com/article/leticiamiranda/these-are-all-the-businesses-you-never-knew-were-owned-by <comment><USER2> It's a natural trend within retail marketplaces to move from selling other people's products to selling your own. You need the wide range to begin with to be useful enough that people use you, but retail can be low margin, and margin is a very important metric to optimise retail businesses, so it makes sense to introduce your own products that "cut out the middleman" so you can have a bigger share of the margin on those products.

India has introduced an interesting law that prohibits this practice – a retailer can either be a marketplace with no products of their own, or they can sell their products and not others. They can't be both, as it's seen as creating bad incentives for companies.

I think India may be taking it too far, and I think there are many business that provide value to consumers, but which depend on being able to blend together products at different margins. However I suspect we will see legal battles and/or legislation in Europe soon, as we have with cases like Google allegedly ranking Google services above competing services in Google results (a case with many parallels).

Disclaimer, I work for a "marketplace" that sells its own products alongside those from partners.

<comment><USER3> How did India unwind existing retailers? And, as a side question, what prevents retailers from doing a stupid shell company game where the product line and the retail arm are minimally legally separated but still totally the same company?

I ask these not to do a "gotcha", but because this is the first I'm hearing of this and it's fascinating and I'd like to know more.

<comment><USER4> Amazon and Flipkart used its business power in India to buy up thousands of products in bulk, sell them to vendors on their platforms, and then allow those vendors to offer the same products to customers. They also used to offer to cover vendor losses for discounts on its site using their dollar might at a loss to themselves. It was a huge incentive for heavily cost-conscious Indian consumers as an incentive to move from offline marketplace to online marketplace. This was very important in a pre-dominantly cash oriented conservative Indian market where consumers were reluctant to purchase things online due to fear of fraud. In addition to this, they started offering 0% cost financing for 6 months to purchase the products at installments without any interest rate with or without credit cards. However, what it is doing is driving offline markets out of the business as they cannot match the discounts offered by these companies. This is the reason trade association complained to the government and government decided to take this action.

For example, a smartphone that sells at $400 at offline stores would be available for $350 on Amazon/Flipkart. The cost price of device would be $350 for offline stores. You can also use No Cost financing to purchase the product for monthly payment of $58.33 for 6 months (Totaling $350). Amazon/Flipkart would absorb the interest cost. The losses are obvious as neither Amazon India Inc. (opened 2013) nor Flipkart (opened 2007 and the biggest Indian marketplace bought by Walmart in 2018 for $16 Billion) have made a cent of profit in India. Both Flipkart and Amazon had losses around $500 million for FY17-18, a number expected to go up post Walmart's purchase of Flipkart. Also, Amazon Prime is India is available for $15 a year and includes Amazon Prime Video, Amazon Prime Music and 1 Day Free Standard Shipping with no minimum order. In a country where data is basically free (30GB 4G Data with unlimited calls/messages per month for $2), this also adds to pushing people towards Amazon.

On a seperate note, a similar thing is taking place in Indian food delivery market where food delivery companies like Zomato, Swiggy or Ubereats are offering steep continuous discounts of 40-60% forcing delivery restaurants to jump into their ecosystem. The Restaurant association has also approached government with their complaints.

For Example, a Sub that sells for $4 would be delivered for $2 including delivery cost. The delivery companies absorbing rest of the costs.

<comment><USER5> Does India not have any anti-dumping / pro-competition laws?

<comment><USER4> The All India Online Vendors Association (AIOVA), which represents more than 3,500 online sellers did file a complaint against Flipkart/Amazon with Competition Commission of India (CCI) however, CCI did not find any violation of existing laws in Amazon or Flipkarts trade practices. IANAL but India does have Anti-Dumping and Pro-Competition laws but probably they are not updated for e-commerce. Amazon and Flipkart are able to find loop holes in it to continue their practices. Which is why Govt. imposed the marketplace cannot sell the products laws.

For Food delivery, the Restaurant Association is discussing the matter with Govt. Agencies. This article would be able to explain laws better : [http://www.mondaq.com/india/x/808174/Antitrust+Competition/C...](http://www.mondaq.com/india/x/808174/Antitrust+Competition/Competition+Law+In+India+VisaVis+Food+Delivery+Apps+In+India+Zomato+Swiggy+Foodpanda+Uber+Eats+And+Its+Impact+On+Small+Restaurants)

</comment></comment></comment></comment></comment><comment><USER6> Not very useful. Many of the listings have "Amazon" in the name so it's obvious who owns them. Most of the rest are branded items, which isn't the same as a "business" because I think most people know that retailers sell branded items, and besides, Amazon prominently identifies many of these, such as "Pinzon by Amazon". So really all that is left is maybe half a dozen items, like Zappos and Whole Foods.

<comment><USER7> Had no idea that goodreads and IMDb were amazon

<comment><USER8> IMDB prominently used in Prime Videos and the site explicitly says An Amazon Company.

Compare that to Zappos - more difficult to find.

<comment><USER9> When Zappos was acquired they made a big deal about keeping their unique culture.

</comment></comment></comment></comment><comment> kyle-rb The clothing one "Goodthreads" sounds like sort of a play on their existing GoodReads brand. I'm disappointed there weren't more like this: Slumberyard for pajamas, Fruit 53 for produce, Breadshift for baked goods, etc.

</comment><comment><USER10> I have the most bizarre sensation when reading through this. On one level, they're just boring brand names. But knowing that they were all created by Amazon for Purposes and their names chosen presumedly by marketing folks... Well, it sorta makes this read like the most genius piece of satire about today's retail marketplace. It would fit somewhere between McSweeny's lists[0] and AI-written paint color names[1]

[0] [https://www.mcsweeneys.net/columns/lists](https://www.mcsweeneys.net/columns/lists)

[1] [https://aiweirdness.com/post/160776374467/new-paint- colors-i...](https://aiweirdness.com/post/160776374467/new-paint-colors- invented-by-neural-network)

<comment><USER11> They weren't all created by Amazon. Quite a number of them are acquisitions, e.g. AbeBooks, Book Depository, Goodreads and IMDb.

<comment><USER10> Right, I'm familiar with those. I'm thinking of the many clothing brands in particular. They all sound _almost_ plausible.

I found this search helpful in verifying which brand names were created directly by Amazon and which (like Goodreads) were acquired companies: [https://trademarks.justia.com/owners/amazon-technologies- inc...](https://trademarks.justia.com/owners/amazon-technologies-inc-2452347/)

</comment></comment></comment><comment><USER12> It's interesting to contrast between Amazon and Costco strategy as far as the store brands go.

Costco has 1 store brand, Kirkland, that they are open about and in fact push it as a equal/better brand.

Amazon on the other hand has the Amazon Basics as an economy brand but also have these numerous hidden brands.

<comment><USER13> I think Costco is built on baby boomers and it become a cult to spend time in warehouse, walking through huge aisles, discovering those treasures and samples. Amazon on other hand needs economies of scale by constantly sending you notifications or keeping track of your habits.

Costco also uses the same strategy to comeup with products. I used to see GT Kombucha and now costco has their own line of Kombucha as well. This is similar to Amazon where you observe the products at someones cost and make it inhouse if its viable. Another fact with Costco the costs being low is the businesses that sell at costco can only have as much as 20% of their total revenue from Costco -- which is like paying only for the variable cost as the rest 80% of revenue would absorb that fixed costs in supply chain. This is a huge bonus.

</comment></comment><comment><USER14> Years ago got an account with Abebooks because I didn't like Amazon keeping such a detailed list of every book I ever thought to read or bought as a gift for someone else. Then I found out Abebooks is still Amazon. (Didn't have this list to refer to back then.) Closed that account and now buy my books through Alibris and the used bookstore by the university. Feels good to support independent booksellers and resist the Amazon-Borg collective.

</comment><comment><USER15> So how is this different than standard oil again? Not that I'm advocating breaking up the tech companies but it's no coincidence that the growth of the modern conglomerate has also strongly correlated with income disparity. Instead of 5 CEOs and 25 VPs, you now have 1 CEO, 5 VPs, and 25 Junior VPs all being paid less because they no longer get the same share of the equity.

<comment><USER16> From what I understand, Standard Oil used their dominance in the market to stifle competition and 'restrain trade'. Because Amazon is big doesn't necessarily mean they are doing these things. I would imagine they are being very careful not to fall foul of these laws, unlike Microsoft in 2001.

<comment><USER15> There's certainly a argument to be made on stifling competition if even Walmart has trouble keeping up. What hope do small to moderate regional retail stores have? All that regional wealth is sucked up online and redistributed to a few managers of mangers instead of actually making the communities better by allowing people to own a part of it.

The biggest problem that's causing income disparity is that people are consuming things rather than owning things.

</comment></comment></comment><comment><USER17> > Alexa Internet: Acquired by Amazon in 1999, this Amazon subsidiary, based in > California, provides companies with commercial web traffic data and > analytics.

Interesting (and entirely unsurprising, really) that the "personal assistant" was (probably) named after a data gathering/analytics company.

</comment><comment><USER18> TenMarks (kids education) was actually quite good. It has been shuttered recently.

For some reason it was institutional focus only, and getting a family license was quite expensive.

too bad all that high quality edu content is gone now :(

</comment><comment><USER19> When does the organisation lose so much focus that it all becomes very ordinary.

</comment><comment><USER20> All of the big things on here I already knew were owned by Amazon (Zappos, IMDB, etc.)...all of the small things were trivial clothing imprints or similar. This is a pretty substanceless piece.

<comment><USER21> Some of them say they were shut down years ago too so I guess this list also includes all their acquisitions (?)

</comment></comment><comment><USER22> Honestly, there isn't any company on this list that I had heard of before that I didn't already know was owned by Amazon. And most of the list is just brands, not entire companies or businesses.

</comment><comment><USER23> Amazon sold Curse to Wikia Inc.

</comment><comment><USER24> Missing a large number of AWS brands. S3, EC2, Sumarian, ...

</comment><comment><USER25> They missed the most interesting ones ;)

</comment><comment><USER26> These are also primarily businesses you never knew about, so what?

</comment><comment> jim-jim-jim It's also worth mentioning that Bezos owns the Washington Post, which may help explain the paper's well-documented hostility to Bernie Sanders:

[https://fair.org/home/washington-post-ran-16-negative- storie...](https://fair.org/home/washington-post-ran-16-negative-stories-on- bernie-sanders-in-16-hours/)</comment>


Mathematics for the industry. - <AUTHOR>

Does a major in Mathematics AND Computer Science do better in the industry opposed to just a Computer Science degree or a Software Engineering degree?<p>Also, share what you majored in or what you are majoring in currently. <comment><USER2> Depends on the job, and depends upon your aptitude and particular area of expertise. Most organizations will want a mix of expertise and experience, to make a "fully rounded" team, so people who are enthusiastic, can speak to a couple of different disciplines, and who can communicate effectively will always be in strong demand. Computer Science and Mathematics is a good combination to have. For example, for a lot of the stuff that I do, mathematics helps a lot, particularly demonstrable familiarity with statistics, linear algebra, basic calculus, and anything else relevant to machine learning. If you match that with good technical skills in C++ (or perhaps Java), you will have a highly marketable skill-set across a range of industries.

Personally, my undergraduate degree was in Artificial Intelligence, so I have ended up doing fairly well with quantitative developer & data science oriented roles, and have never found myself short of work, irrespective of the state of the broader economy.</comment>


WeWork's $20B Office Party: The Crazy Bet That Could Change How We Work - <AUTHOR> https://www.forbes.com/sites/stevenbertoni/2017/10/02/the-way-we-work/#572603dd1b18 <comment><AUTHOR> from past headlines, wework seemed puzzling. $20B valuation from some of the sharpest investors for a startup that rents office space to other startups? most notably, won't the leases become lethal financial anchors once a downturn hits and customers dry up? look at the dot-com era and the corpses of companies reliant on VC-funded startups!

here are the key passages from the article:

===

Over the past couple years, WeWork has signed up companies like GM, GE, Samsung, Salesforce, Bank of America and Bacardi. Earlier this year, WeWork allotted an entire building in Greenwich Village to IBM, and now big companies generate 30% of monthly sales.

For growing companies WeWork offers a way to enter new cities without the hassle of scouting locations, negotiating contracts, designing the space and hiring vendors. "There is no reason to rent office space," says Josh Kushner, the founder of the VC firm Thrive Capital and cofounder of Oscar Health, which launched its Los Angeles market from a WeWork site. "It's a one-stop shop. Business is hard enough, and these guys take out all the friction."

===

by no means does the article provide enough data to conclude wework is a sustainable business, let alone an attractive one worth $20B.

however, these passages outline the bull case: managing real estate and office operations for _all_ companies with knowledge workers. not only startups.

commercial real estate for knowledge workers is a colossal market.

obviously a ton of risk remains, but at least now the $20B valuation -- and the bet investors are making -- make a lot more sense.</comment>


TLS 1.3 approved - <AUTHOR> https://www.ietf.org/mail-archive/web/ietf-announce/current/msg17592.html <comment><USER2> 0-RTT sounds nice, until you get to appendix E.5. Everyone should read this:

        E.5.  Replay Attacks on 0-RTT

        Replayable 0-RTT data presents a number of security threats to TLS-
        using applications, unless those applications are specifically
        engineered to be safe under replay (minimally, this means idempotent,
        but in many cases may also require other stronger conditions, such as
        constant-time response).  Potential attacks include:

        -  Duplication of actions which cause side effects (e.g., purchasing
           an item or transferring money) to be duplicated, thus harming the
           site or the user.

        -  Attackers can store and replay 0-RTT messages in order to re-order
           them with respect to other messages (e.g., moving a delete to
           after a create).

        -  Exploiting cache timing behavior to discover the content of 0-RTT
           messages by replaying a 0-RTT message to a different cache node
           and then using a separate connection to measure request latency,
           to see if the two requests address the same resource.

        Ultimately, servers have the responsibility to protect themselves
        against attacks employing 0-RTT data replication.  The mechanisms
        described in Section 8 are intended to prevent replay at the TLS
        layer but do not provide complete protection against receiving
        multiple copies of client data.

It seems practically guaranteed a lot of devs will enable it without understanding the ramifications.. I hope embeddings like Nginx add a nice configuration interface like "enable_0rtt YES_I_UNDERSTAND_THIS_MIGHT_BE_INSANE;" or similar. Meanwhile I wonder if concentrators like Cloudflare will ever be able to support it, without knowing lots more about the apps they are fronting

I guess e.g. Nginx could also insert an artificial header to mark requests received as 0-RTT, and frameworks like Django could use that header to require views be explicitly marked with a decorator to indicate support, or something like that

<comment><USER3> Which is why it should have never been implemented in TLS 1.3.

I believe the argument against not doing it was that some companies will just implement their own protocols instead. Eh, I think the chances of that happening were pretty slim. Now most of the problems we'll see with TLS 1.3 will likely be related to 0-RTT.

Also, wasn't that basically the same argument for implementing MITM in TLS 1.3? That if they don't do it the banks and middlebox guys will just stick to TLS 1.2 or whatever?

And who cares about a little bit of an extra HTTPS delay, when just adding Google analytics and Facebook Pixel to your site can increase the delay by over 400 ms? Some poor performance tracking tracking scripts add 800 ms on their own.

<comment><USER4> 0rtt is still useful for static assets, and generally everything that is public. I have a handful of static websites (literally static, as in consisting of just HTML and CSS files), for those 0rtt is awesome. TLS is no longer used to only protect private pages (eg. access to your private emails, the admin section of a CMS). It's also used for privacy reasons on completely public websites.

<comment><USER5> The content of your page may be encrypted but the DNS lookup isn't

<comment><USER6> There's work now with DNS-over-HTTPS to prevent that.

</comment></comment></comment></comment></comment><comment><USER7> Does someone know what the differences are between the final version and the draft that Chrome and Firefox enabled in Feb 2017? How much did they have to change for the middleboxes?

<comment><USER8> The final version is going to be basically the last draft (draft-ietf-tls- tls13-28) with a few editorial changes. There's a changelog in the draft: [https://tools.ietf.org/html/draft-ietf-tls- tls13-28#section-...](https://tools.ietf.org/html/draft-ietf-tls- tls13-28#section-1.2)

The question is just which draft Chrome and Firefox were using back then. The changes for the middleboxes were according to the changelog in draft-22, and IIRC consisted basically in adding back a few unnecessary fields, and allowing an useless handshake message (which is ignored by the receiver). The main trick was IIRC to make all TLS 1.3 connections (resume or not) appear identical to a TLS 1.2 resume connection.

A more detailed history of all changes to the spec can be found at its git repository: [https://github.com/tlswg/tls13-spec/](https://github.com/tlswg/tls13-spec/)

</comment></comment><comment><USER9> No banking backdoor either, Sanity won out!

See below if you haven't come across this [https://www.thesslstore.com/blog/tls-1-3-banking-industry- wo...](https://www.thesslstore.com/blog/tls-1-3-banking-industry-working- undermine-encryption/) [https://tools.ietf.org/html/draft-rhrd-tls- tls13-visibility-...](https://tools.ietf.org/html/draft-rhrd-tls- tls13-visibility-00)

</comment><comment><USER10> If I'm not mistaken this means no "authorized" MITM

      - Static RSA and Diffie-Hellman cipher suites have been removed; all public-key based key exchange mechanisms now provide forward secrecy.

<comment><USER11> It does not. There are some passive decryption tools that will no longer work because they functioned by having non-forward-secure connections and the server's private key installed in the decrypter. (But one can just not support TLS 1.3 at the server to keep them working.)

MITM proxies, which are trusted by the client and which terminate and recreate the TLS connection, will continue to function. (Assuming they implemented TLS 1.2 correctly, which some didn't.)

<comment><USER10> Does that assume that all of the components (browser and server) support 1.2 as well? In a theoretical future state if I disable 1.2 on my browser doesn't that mean I won't trust a MITM box.

<comment><USER11> > Does that assume that all of the components (browser and server) support 1.2 > as well?

No: a client, server, and MITM proxy can all be exclusively TLS 1.3 and everything will still work(+).

(+) as much as it did with TLS 1.2, anyway.

</comment></comment></comment></comment><comment><USER12> Anyone know what TLS 1.3 offers (or fixes) that TLS 1.2 does not?

<comment><USER13> WolfSSL has a short write up on the changes: [https://www.wolfssl.com/differences-between-tls-1-2-and- tls-...](https://www.wolfssl.com/differences-between-tls-1-2-and-tls-1-3/)

</comment></comment><comment><USER14> SNI is still in plain text :( They could just hash the SNI and do matching based on hashes.

<comment><USER8> That gains nothing, since the attacker can simple connect to the service, replaying your hash, and see which certificate comes back. Take a look at [https://tools.ietf.org/html/draft-ietf-tls-sni- encryption-02](https://tools.ietf.org/html/draft-ietf-tls-sni-encryption-02) which on its section 2 has a long list of requirements a solution should meet; hashing the SNI fails at least the first two (Mitigate Replay Attacks and Avoid Widely Shared Secrets).

<comment><USER15> There's also a limited amount of domains registered, so even if you did something to prevent hash replays you could just try them all and see which matches.

</comment></comment></comment><comment><USER16> I have a dumb question - Can existing clients with the old TLS versions connect to a server with TLS 1.3?

<comment><USER17> A TLS server and client can both support multiple versions. Clients which don't support 1.3 will continue to use 1.2 (or 1.1 or 1.0, if the server still supports them)

</comment></comment><comment><USER18> So it looks like that this seasons NSA/GHCQ backdoor is 0-RTT, and will be implemented into the commercial variants, whilst the open source variants will turn it off by default. Or use it like Cloudflare, in HTTPS without GET params only.

<comment><USER19> Can you explain how 0-RTT might be used as a back door?

(... edit, actually, I recognize this username from previous nonsensical discussions about crypto and backdoors: [https://news.ycombinator.com/item?id=13364173](https://news.ycombinator.com/item?id=13364173) )

<comment><USER18> Thanksfully those folks easily expose themselves. Calling the Siphash security theatre senseless explains it also.</comment></comment></comment>


Tact Filters - <AUTHOR> http://www.mit.edu/~jcb/tact.html

<comment><USER2> The research seems to have been done mostly among nerds. There are plenty of tactless, sensitive folk I would not trust to multiply two-digit numbers.</comment>


A conference giveaway for nerds that doesn't suck - <AUTHOR> http://allink.github.com/Obviously-Colored-Pins-with-Text/

<comment><USER2> Disclaimer - I work for Mila.

The conference attendees really liked those as they were pretty different :)</comment>


How Is Today's Warming Different from the Past? - <AUTHOR> http://earthobservatory.nasa.gov/Features/GlobalWarming/page3.php <comment><AUTHOR> People always talk about the last 100,000 years as though that is a good scale to talk about this issue. Reality is, current global warming is part of a cycle that has existed way longer than us. Our real problem is that we are speeding up a process, not creating it.

<comment><USER2> Whereas reaching to greater than 100,000 year cycles is a giant red herring at this point as well. We're dealing with an unprecedented rise within less than a 100 year period, regardless of whether or not this is some "ancient cycle", it's a very frightening thing and we should very much be doing something about it. Playing a blame game at this point about who "created it" versus "sped it up" seems a bit like playing hot potato with a live grenade.

Edit to clarify: unprecedented - in our species' history, in our species' survival to date. That's a part of the focus on the last 100,000 years.

<comment><AUTHOR> That could be part of it, though there is the potential that we couldn't stop it even if we tried.

<comment><USER2> We might have to at least try, won't we? What's the other option, roll over and accept mass extinction?</comment></comment></comment></comment>


StumbleUpon's Su.pr is Really... Super - <AUTHOR> http://www.brentcsutoras.com/2009/06/09/stumbleupons-supr-super/ <comment><USER2> too bad that its going to probably bury the recently released <http://peashootapp.com/> which is pretty similar.

<comment><USER3> except that costs money</comment></comment>


[Show HN] Whos Who?- Android Quiz Game - <AUTHOR> https://play.google.com/store/apps/details?id=dialani.deepanshu.whoswho

<comment><AUTHOR> Though there are many quiz games out there but very few games have quality questions. So I made this.

The objective is to identify as many famous personalities using as few hints as possible before the time runs out.

Personalities are from academia, business, entertainment, politics and sports.

Open for suggestions and reviews.</comment>


Cinema 3D Perspective Seat Preview Experiment - <AUTHOR> http://tympanus.net/Development/SeatPreview/ <comment><AUTHOR> "Maybe you are familiar with those ticket booking systems where, at some point during the purchase flow, you have to choose a seat. This is usually done when selling tickets for games, movies, flights or concerts. Wouldn't it be cool to have some kind of "realistic" preview of the seat, i.e. see the stage or screen from the perspective of the space you chose? Of course it would :) This is the kind of question that resulted into a new experiment which we'd like to share with you today."

Writeup: [http://tympanus.net/codrops/2016/01/12/cinema-seat- preview-e...](http://tympanus.net/codrops/2016/01/12/cinema-seat-preview- experiment/)

Source: [https://github.com/codrops/SeatPreview](https://github.com/codrops/SeatPreview)</comment>


C++20 Reference Card - <AUTHOR> https://www.bfilipek.com/2020/01/cpp20refcard.html <comment><USER2> Direct links:

C++20 Features [https://mcusercontent.com/e93417593cbf4da3dba03d672/files/42...](https://mcusercontent.com/e93417593cbf4da3dba03d672/files/4263f191-6c76-43b6-b33b-984c34cdd737/cpp20_refcard_29th_jan.pdf)

Language Features of C++17 [https://gallery.mailchimp.com/e93417593cbf4da3dba03d672/file...](https://gallery.mailchimp.com/e93417593cbf4da3dba03d672/files/ef3a6d15-7f2f-4f5f-8c11-90f2efd2f0e8/cpp17_language.pdf)

<comment><USER3> Thanks. I really don't want another newsletter in my email inbox!

</comment></comment><comment><USER4> Whenever I see new C++ features I'm all the more impressed with how Zig manages to provide capabilities similar to -- and at least as powerful as -- type templates, value templates, constexprs, concepts, and conditional compilation (preprocessor), with a single feature and keyword, without any type/template-level programming, a preprocessor or AST macros (i.e. mini- languages different from the ordinary computation language that one has to learn and can make code quite opaque), all in a language that is about as simple as C and can be fully learned in a day or two.

<comment><USER5> > capabilities similar to -- and at least as powerful as -- type templates, > value templates, constexprs, concepts, and conditional compilation > (preprocessor), with a single feature and keyword

are you sure ? zig does not seem to have something that looks like concepts (an issue is open : [https://github.com/ziglang/zig/issues/1268](https://github.com/ziglang/zig/issues/1268)) nor a way to put restrictions on a given type passed to a function or series of function.

e.g. it seems that what in C++ would be (with concepts, but the same can be written more verbosely with C++03 templates if needed)

        void f(IsFoobar auto x) {

        }
        void g(IsFoobar auto y) {

        }

would require in zig to have a comptime test for the "foobar" nature of T in every function, which looks like a downgrade and does not expose the requirements cleanly in the function interface.

<comment><USER6> Here's the C++ example from the article:

        template <class T>
        concept SignedIntegral = std::is_integral_v<T> &&
                                std::is_signed_v<T>;
        template <SignedIntegral T> // no SFINAE here!
        void signedIntsOnly(T val) { }

Here's the equivalent Zig code. You can run this with `zig test example.zig`.

        const std = @import("std");
        const assert = std.debug.assert;

        fn signedIntsOnly(val: var) void {
            comptime assert(std.meta.trait.isSignedInt(@TypeOf(val)));
        }

        test "concepts example" {
            var x: u32 = 1234;
            signedIntsOnly(x);
        }

This produces the compile error:

        ../lib/std/debug.zig:221:14: error: unable to evaluate constant expression
            if (!ok) unreachable; // assertion failure
                     ^
        ./example.zig:5:20: note: called from here
            comptime assert(std.meta.trait.isSignedInt(@TypeOf(val)));
                           ^
        ./example.zig:10:19: note: called from here
            signedIntsOnly(x);
                          ^
        ./example.zig:8:26: note: called from here
        test "concepts example" {
                                ^

It accomplishes the same thing, just a bit more verbose, since it is using the general tools of the language rather than special syntax.

<comment><USER5> > assert(std.meta.trait.isSignedInt(@TypeOf(val)));

well yes, that's my point. You could also write

        void signedIntsOnly(auto val) {
            static_assert(std::is_integral_v<T> && std::is_signed_v<T>);
        }

in C++ but it's quite preferable to refactor this inside the types themselves (for the same reason that you want to refactor any other kind of code in general - besides you don't want to go read the implementation of your functions every time do you ? IDEs show us only prototypes for a reason).

How would you for instance specialize a generic function in Zig ? Does zig accept

        fn complexmathoperation(val: var) void {
            if(isInt(@TypeOf(val))) {
            }
        }

and in another module

        fn complexmathoperation(val: var) void {
            if(isSomeKindOfLibrarySpecificMatrix(@TypeOf(val))) {
            }
        }

and properly dispatches between both ?

I'd be hard pressed to say that it is "as powerful" given what I'm seeing for now.

<comment><USER4> > besides you don't want to go read the implementation of your functions every > time do you ? IDEs show us only prototypes for a reason

The IDE can be changed to show you assertions in addition to the signature, just as it also shows doc comments. That the signature is special isn't some law of nature, it's just habit (and users of untyped languages don't even have those).

> How would you for instance specialize a generic function in Zig ? ... and > properly dispatches between both ?

No, you'd need a single definition with a comptime branch.

> I'd be hard pressed to say that it is "as powerful" given what I'm seeing > for now.

What you're seeing is personal taste. In my taste, that Zig doesn't allow overloading and has clear dispatch is clearer is more preferable (in fact, it's touted as one of Zig's biggest strengths); in yours, it is _less_ preferable. That's perfectly OK, but it's got nothing to do with expressive power (which has a pretty good and precise definition: [https://youtu.be/43XaZEn2aLc](https://youtu.be/43XaZEn2aLc)). There is a reason why some languages are more complicated while others are simple -- some people aesthetically prefer the more complex languages while others prefer simpler ones. What is impressive about Zig is that despite being simple, it's not giving up power, at least in those aspects I mentioned. C, another simple language, cannot do those things.

</comment></comment></comment></comment></comment><comment><USER7> > Range-based for with initialiser

Gee, I would really love something like Python's enumerate() and zip() (but yes, I know that there's alternatives available that are not in the standard library).

> std::format / Python-like formatting library in the Standard Library!

Yes, this is a good addition.

> Ranges / A radical change in how we work with collections!

... but I still have to use verbose warts like std::iota in order to make a collection of integers?

EDIT: no, apparently not. Sanity prevails! (see [1]):

        for (int i : std::views::iota{1, 10})
            std::cout << i << ' ';

[1] [https://en.cppreference.com/w/cpp/ranges/iota_view](https://en.cppreference.com/w/cpp/ranges/iota_view)

</comment><comment><USER8> Do people like printed reference cards?

I'm working on a Swift Cookbook.

It started as web pages but I've moved it to Github. Considering doing an ePub or trying to cram a lot into a one pager.

Having Strings, Sets, Arrays, Dictionaries, and Functional examples on one page might be useful, for example.

Here are my functional examples:

[https://github.com/melling/SwiftCookBook/blob/master/functio...](https://github.com/melling/SwiftCookBook/blob/master/functional.md)

If you know a couple languages, my thinking is that a few pages of examples should be enough to get started in another language.

<comment><USER2> Not sure about printed per se, but would definitely appreciate a modern concise Swift reference!

</comment></comment><comment><USER9> Could someone please explain why you'd put nodiscard on a constructor? I'm a bit confused as to when that's needed.

<comment><USER10> After not using C++ for 15+ years , looking at it now makes my eyes bleed.

<comment><USER11> I use it everyday, and I'm still very eager to stop using it due to its growing complexity.

I'm trying to gradually replace C++ with Rust as my primary language, but it's still a lot easier to get a well-paying job in C++ than in Rust.

<comment><USER12> Rust is both more complex and uglier than modern C++. If your complaint is having to learn new stuff, then Rust isn't the solution.

<comment><USER13> i'm not disagreeing with you (i'm learning rust, so don't have a strong opinion yet) but am curious how you feel that way?

</comment></comment></comment></comment></comment><comment><USER14> All this stuff actually made it in!? Concepts look great! Love ranges too.

<comment><USER15> There is nothing that cannot make it in C++.</comment></comment>


PresidentObama on GitHub - <AUTHOR> https://github.com/presidentobama <comment><USER2> It'd be interesting to see a system where a government had a GitHub and people could submit laws as pull-requests

<comment> vezzy-fnord Has a body of theory, but is still in very early stages: [https://en.wikipedia.org/wiki/E-Government](https://en.wikipedia.org/wiki/E-Government)

That said, there would have to be some guarantee of an active political process behind it. Most likely scenario is that it becomes a largely ignored dumping ground, similar to your average petition site.

<comment><USER3> I think Open-source governance is pretty relevant here as well: [http://en.wikipedia.org/wiki/Open- source_governance](http://en.wikipedia.org/wiki/Open-source_governance)

</comment></comment></comment><comment><USER4> Let's hope he keeps the nuclear launch codes out of his code and in environment variables.

</comment><comment><USER5> [https://github.com/sunlightlabs/us- laws/issues/135](https://github.com/sunlightlabs/us-laws/issues/135)

Interesting first comment.

<comment><USER6> Github user saeedmalekpour:

 _Mr. President, I have been in Evin Prison, Iran for 6 years because my open source code was found on a website the regime didn 't like. In the spirit of freedom, democracy and the hour of code - please help me in any way you can (account administered and message sent with permission of Saeed's family) Proof: [https://twitter.com/stephenfry/status/518460637916446720](https://twitter.com/stephenfry/status/518460637916446720)

More information: [https://www.youtube.com/watch?v=V57pfl6nkD0](https://www.youtube.com/watch?v=V57pfl6nkD0) _

</comment></comment><comment><USER7> I can't wait for the day when the president actually has a github account before entering politics.

<comment><USER8> Why?

<comment><USER7> In general I want more politicians to be engineers or math/science types. Right now they're 95% lawyers, so they don't really represent the rest of society. I'm an engineer-type so I want to be better represented, I guess.

I think it could happen. If Aaron Swartz had lived, I think he may have eventually run for office. We still have some in the HN community who could enter politics.

<comment><USER9> Could you not consider legislatures programmers as well?

Programmers create software. Lawyers create law.

<comment><USER10> > Programmers create software. Lawyers create law.

That's the reason I don't consider legislatures to be programmers.

</comment></comment></comment></comment></comment><comment><USER11> He needs to add a repo for his Hour of Code effort! ([http://www.wired.com/2014/12/obama-becomes-first- president-w...](http://www.wired.com/2014/12/obama-becomes-first-president- write-computer-program/))

<comment><USER12> Can you imagine the bashing the internet would give him? Or the comments on how he should have written it in language x instead of y.

</comment></comment><comment><USER13> His social media team is getting busy!

<comment><USER14> His most recent activity [1] is an issue opened on sunlightlabs/us-laws and based on the link seems to be automated (uses ifttt's URL shortener, presumably it's hooked up through that). I haven't checked the rest, but I assume they're all pretty similar

[1] [https://github.com/sunlightlabs/us- laws/issues/135](https://github.com/sunlightlabs/us-laws/issues/135)

<comment><USER15> I'll just leave this link here

[https://github.com/sunlightlabs/us- laws/issues/135#issuecomm...](https://github.com/sunlightlabs/us- laws/issues/135#issuecomment-66401632)

</comment></comment></comment><comment><USER16> Looks like I've found my obligatory "follow" on GitHub. It's probably going to be far more interesting than following Linus Torvalds on Twitter! :)

<comment><USER16> That being said, I'm extremely happy that this is happening. It has the potential to bring alot of exposure to the idea of "open source" to government. I think it can and will work if adopted. Hopefully this is a sign of things to come.

</comment></comment><comment><USER17> Reddit is the perfect example on why democracy fails.

If you culture/condition humans to behave/act stupid to appeal to one another for affection, you garner no substance or value. Their deltas are null.

Perhaps a new society/culture/civilization derived from a categorical intelligence is needed.

Then we could analyze our resources, grow our culture based off this data, and evolve ourselves out of the current stupidity that exists today.

</comment><comment><USER18> Amazing but I'm a little bit frustrated at the username he chose. 'PresidentObama'. One day he will no longer be president and then maybe he will understand the difference between identity and value.

<comment><USER19> I think US Presidents keep their title.

<comment><USER20> Not officially. But most people and the media tend to make that mistake. If you are talking about something someone did as president then it is OK to say something like "while in office President Clinton did...", but if you're talking about something Bill Clinton did after leaving office you should say "Mr Clinton" or "Former President Clinton"

</comment></comment></comment><comment><USER21> I'd be glad to see a public key on whitehouse.gov and a signed message on the GitHub account. Anyone could register this name.

[edit] whoops, didn't realize it was a bot

</comment><comment><USER22> I guess the username BarackObama was already taken?

[https://github.com/barackobama](https://github.com/barackobama)

</comment><comment><USER23> I'm trying to find the CIA torture program repository.

I need to report a fairly serious bug.

</comment><comment><USER24> guess he doesn't like to work weekends.</comment>


Tutorial making WYSIWYG editor using HTML contentEditable - <AUTHOR> http://whoomph.net/contentEditable/mini1.html <comment><USER2> Great attempt for a WYSIWYG editor. We are getting closer to turning browsers into Operating Systems. Compared to desktops we are in the 1980's era. This reminds me of my HP 9816!</comment>


The new lens flare - <AUTHOR> http://desandro.com/articles/the-new-lens-flare/

<comment><USER2> I think the point should be even more general:

"Everybody thinking they are a typographer is the new lens flare."

Large sans-serif fonts, glowing text, embossed text, shadows, low contrast, neon backgrounds and margins 10 pixels wide at most. This is the new face of personal websites and blogs.

</comment><comment><USER3> > Expect to pay a boatload in refresh rates, as your browser buckles under the > weight of rendering that glorious halo.

Chrome seems to cope well--although it doesn't look that nice if you look close enough.</comment>


What will we do if the system can no longer create jobs? - <AUTHOR> https://libcom.org/library/what-will-we-do-if-system-can-no-longer-create-jobs-interview-anselm-jappe-%E2%80%93-alexandra-p <comment><USER2> 'With industrial society, on the other hand, we work as much as possible because it is labor that gives us money. '.

Labor doesn't give us money. Creation of value in goods or sevices (as perceived by others) which may or may be accompanied by proportionate labor provides us with money. Marx, a clever man, nevertheless made this fundamental mistake.

<comment><USER3> Exactly. That's basically the one thing the author fails to acknowledge. Money doesn't magically appears from labor. It results as a voluntary exchange between a worker and a employer. There's no "capitalistic system", unless you consider "economic freedom" to be a "system".

This also shows that labor still is connected to needs, despite what the author claims. Somebody wants something done, finds someone willing to do it for money, and they make a deal. Nothing new under the sun, except our society is much richer in needs of various forms which might explain why the author has the feeling our "pace of lives" is much more intense than "that of our grandparents".

Overall, this article is full of communist FUD : [https://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt](https://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt)

<comment> guard-of-terra "Money doesn't magically appears from labor"

Tell that to job creation programmes. Our society is built on assertion that they do.

<comment><USER4> Well, creating jobs means that money get's given to those that get those newly created jobs. Now, I agree with the OP's assertion that it's kinda ridiculous to claim that labor automagically creates money. But the end result in this case is that money spent on "job-creation" is money that is given (or if you want to go further, redistributed) to those that got the jobs.

I think that we've somehow, as a society, been convinced in thinking that state-intervention needs to "create" jobs because industry won't do it by itself. That's the assertion we need to fix/educate about, not the one that job creation means more money, as you claim.

</comment></comment></comment></comment><comment> guard-of-terra "A social movement that would directly occupy the workshops and the factories. Capitalism is abandoning many productive forces, because they are no longer profitable, but they are still capable of functioning effectively"

That won't work. Imagine you've occupied a factory, and it needs a 20 $ worth of oil to produce a shirt. Meanwhile you can only sell that shirt for 15 $.

You can think of most things around us as of made from oil (i. e. energy). Once you spend more energy than you can buy after selling your wares, you are bankrupt. This is why deindustrialization happen and why you can't overcome it by snapping fingers.

</comment><comment><USER5> I encourage everyone to watch Humans Need Not Apply, a mini-documentary by the excellent CGPGrey:

[https://www.youtube.com/watch?v=7Pq-S557XQU](https://www.youtube.com/watch?v=7Pq-S557XQU)

I suspect most of what is said in there is well known to the HN crowd, but it's all put together in a very pleasant video and is a nice thing to link to people who don't understand _just how far along_ we are in the process of automating a lot of people's jobs.

</comment><comment><USER3> The use of the word "system" here is obviously a rhetoric device. Only far- left-oriented people use this term.

If you ask the question, "What will we do if the system can no longer create jobs?", it's hard not to see this question as suggesting the answer "well, we change the system.".

But what if I phrase the question like this: "What will we do if economic freedom can no longer create jobs?". It's much harder then to answer, "well, we abolish economic freedom", isn't it?

Capitalism is all about the right to exchange and collect means of production. It's a natural consequence of economic freedom.

It can be worrying if technology turns many people's labor useless, thus questioning their means of sustaining their lives, but to me that's not enough to question the rights of the others.

<comment><USER6> I'm not sure if it's what you are implying , but would you really be comfortable allowing people to starve if the value of their labor drops below that required to sustain them?

<comment><USER4> We're no where near that point where the value of their labor is less than what is required for them to feed themselves, and yet _millions_ of people a year go to sleep hungry, or die of starvation, have their growth stunted, etc.

I am totally _not_ comfortable allowing people to starve. That is why I pay taxes, and I expect them to be fed using that money. And I am downright pissed-off that it's _still_ an issue.

I don't think it's capitalism that you should be directing any undue criticism over "value of labor" when it's currently _government_ that is the cause#1 of hunger/starvation.

#1: They're the cause because they're not fixing it.

<comment><USER6> Very few people starve to death in first world countries, at the same time however there are millions of people who are completely unemployed and would likely be unhoused and without food if it were not for gov welfare programs.

</comment></comment></comment></comment><comment><USER7> I think there is a much easier answer to this and that is a basic income.

<comment><USER8> How so? If you give everyone money you'll only shift prices upwards.

<comment><USER9> You're not thinking in the grand scheme. The shift from full employment towards (idealistically) full automation requires drastic paradigm shifts in how we view economics.

Just try to contemplate this question: what would a society, an economy look like if everyone was provided with everything for their basic needs, like a house or a flat, food and an "allowance" to participate in social activity, people could still be able to choose to work if they wanted to, but not working would not be frowned upon? How would this society develop, what would people do because they can do what they please all day, what would the influence on society's creativity and inventiveness be?

"Basic income would negatively affect our current economic system" is not the right answer to that question. Automation will not become less, full employment will be less and less feasible, so answering these questions will be inevitable.

<comment><USER10> I think there are at least three answers to the problem.

      1.  Basic income.  Redistribute wealth, since enough wealth
          is produced, it just isn't available to everyone.
      2.  Force everyone to work less (for more money).  If you
          lower the maximum number number of hours people are
          allowed to work, more people will need to be employed to
          do the same amount of work.  You would probably need to
          accompany this by an increase in minimum wage.
      3.  We could all do more.  Government could take a more
          active roll in back-filling demand.  If we decided to
          employ a million more doctors, or revamp the entire
          power grid, or build a Moon base, or colonize Mars, or
          move Mars into orbit around Venus, or accelerate Venus's
          rotation to support colonization, we could easily
          achieve full employment.

</comment></comment></comment></comment><comment> nathan-muir Not a great article on this topic. But still interesting.

The main points I see in the article, are that weak labour = weak market, and not every country can be an exporter.

It seems that pressure to increase profitability, ends up exerting itself by reducing labour utilisation (via efficiencies or other means). Which (can eventually) in turn, exert further pressure to increase profitability (due to a weaker market).

What I find disheartening is, the current tools governments have to improve the situation are hamstrung in a global environment.

* Corporate Taxation wont work without global reform

* Minimum wages, employment conditions, and other regulations don't work if the job can be outsourced / performed overseas

* Import tariff's on the former, usually result in your own exports being penalised (in retaliation)

* Existing players wish to maintain the status quo

The other issue, is "free time". There could be a considerable portion of the labour market are willing to take a part time-job "for the love of it" with their free time. Effectively volunteering or taking a "token" wage.

Industries accessible to hobbyists / free timers, will suffer a further devaluation of labour, if they haven't already. Anecdotally, it appears this has already started for some roles like teaching / professorships.

The odds seem firmly stacked against a good percentage of the global population. Hopefully those capable of making lasting change do so, before it's too late.

</comment><comment><USER11> > _But what takes place is just the opposite. Today we work much more than > ever before. All you need to do is to compare the pace of our lives and that > of our grandparents._

A German philosopher says this to a Portuguese interviewer, and it is not questioned? I am convinced that most people in Europe nowadays work less and less hard than they did 40 years ago. I can understand that it is not questioned on HN, given that most of us live in a culture where working 80 hours a week is considered normal, but in Europe? Come on.

I'm from the Netherlands. My grandfather was an old man at 65, tired and broken from a life of hard farm work. When I came to visit as a child, we'd talk a bit and that was it. My parents, now older than my granddad then, play with my son with vigor and love. They're fitter and happier, because they didn't work as hard.

I work 4 days a week. My girlfriend three. We don't consider these numbers a temporary situation. Everybody I know thinks what we do is normal.

I didn't look up the stats, but it seems to me that either I'm really weird, or the quoted philosopher likes to selectively pick out those facts that support his rant.

<comment><USER12> > I work 4 days a week. My girlfriend three.

I study six days and two evenings a week. I have trouble affording food.

<comment><USER11> And you live in Western Europe? And there are many peers like you?

<comment><USER12> Northern Europe. There are others like me, though I don't know how many there are. The problem is that there are some serious holes and twisted disincentives built into the welfare system. Basic income would be godsend.

For instance they complain that people spend too much time in their studies, and are trying to incentivize people to graduate faster by granting some benefits related to the student loan if you graduate on a planned timeline. In my case however, I would get more if I had postponed my studies instead of starting studying in UoAS this year. I'd get more still if I dropped out of school entirely and lived on social security, unemployed...

I know other people who are in a similar situation. For example, unemployed and unqualified middle-aged men with families and kids to feed. For them, the students' benefits are impossible to live on so they're incentivized against getting an education. They can somehow make it though, through crazy hoops than make no sense for the state nor for themselves.. it makes no sense for anyone.

It's not clear what this all will lead to. I'm expected to graduate in about four years. The job prospects in my area have been _piss poor_ (this reflects badly on my CV), and it's not sure yet whether they're getting better or not.

So yeah, my lack of money is in part my own choice. I chose to study because I want to graduate sooner rather than later. Either way it sucks. And people around here want to downvote me for not wanting to pay $40 for a game/movie/book/software. Not realizing that it's almost two weeks worth of food for me...

<comment><USER11> Good points. I actually agree with everything you said. I just don't think my grandpa had it better than us.

<comment><USER12> Maybe. It really is hard to say.

But some of the people are in the situation they are in now because some time ago, it was easy to get by. You didn't need qualifications if you were willing to work. That's how we got people who are now in their mid-to-late 40s, with no formal education. And they're suffering for it because today getting a job just isn't the same.

And looking at how it goes today, young people are expected to spend a small eternity in educational institutions, and finally they come out with a piece of paper which states that they have the bare minimum of knowledge everyone else in the field already has. So they have to compete against every other fresh graduate, as well as everyone else who's already got a job history & real world experience to boast with. It does make me feel that maybe my grandpa had it better. And no, he wasn't a farmer.

</comment></comment></comment></comment></comment></comment><comment><USER13> Start reducing births. Humans are THE worst thing for the environment. No reason to have more of them.

<comment><USER14> The best way of reducing birth rates? Poverty reduction.

<comment><USER15> While I agree, poverty reduction will likely lead to a more consumerist, less environmentally friendly lifestyle.

</comment></comment></comment><comment><USER16> Well, that's a silly question. The answer is simple: "change the system."

There are enough parameters in "the system" that we should be able to change almost any single one of them and get some improvement in employment numbers. Change wages, change education levels, change the scale of industrialization, change the number of humans working, change laws surrounding mergers/acquisitions, etc.

The real struggle here is getting anyone to do any of these things consistently, and then measuring the results.

<comment> guard-of-terra By doing blind changes you have much better chances of ruining the society in question. Blind evolution works, but it does so by killing most of its subjects by a painful death.

</comment></comment><comment> guard-of-terra "we should eat apples that are grown in the nearby orchard rather than in New Zealand"

The problem is, we're going to hit Vladimir Sorokin world order if we try to implement it - 'cause he's already figured that out. I'd rather not :)

</comment><comment><USER17> "The system" doesn't give jobs. _You_ give jobs.

<comment><USER18> And you are part of the system. I don't understand what your argument is.

</comment></comment><comment><USER19> > _What will we do if the system can no longer create jobs?_

kill the jobs using the most resources</comment>


What are some possible ways to cure Ebola in the future? - bra-ket https://www.quora.com/What-are-some-possible-ways-to-cure-Ebola-in-the-future

<comment><AUTHOR> The two Vs - vaccine and vigilance.</comment>