Ask HN: Laid-off readers over 50, have you left the tech workforce? - <AUTHOR> <comment><USER2> Ha, ha, ha, I just got laid off Monday along with most of the rest of the team with no notice. The market seems to be fairly hot here in Fairfield county CT so I'm jumping right back in and expect to pick up another job/contract in the next month. It's just a matter of rate and commute...

It is tempting to just do my writing or something else but I love the work, it pays well and it's fairly expensive to live here.

Speaking of writing, I wrote this the day after the layoffs and it pretty much sums up my feelings...

A tree fallen; the turn of a leaf

Why is the HR team here with crisp manilla folders? "There's an announcement at 10," please assemble the soldiers.

Somber words were spoken and no questions were asked. Then with cleaning out our desks most of us were tasked.

The screen turns red, system down in sector 4! I tense for a moment and then gleefully ignore.

We pack the last picture and hold back a tear, And say "it's still early, but let's all get a beer."

We relive the drag-out meetings where we battled for the truth, And the late afternoon YouTubes bordering on the uncouth.

For some it's a blow; for others relief. It's a tree fallen; the turn of a leaf.

So I'll join another startup, yes that will be fun. Or even a bank, if they really want to get shit done.

The joy of building and creating with keyboard or pen, Is what I live for over and over again.

If you're team's on a mission with problems quite hard, Tell me about it. Please call me. The number's on the card.

<comment><USER3> Expected the top post to be filled with words like ageism, 3rd world, quality of software, cheap labor and rage but all i saw is Optimism, Reality and Stoicism expressed very poetically.

</comment></comment><comment><USER4> I lost my last permanent job in London at the end of 2008, at the beginning of the financial crisis in the UK.

I applied for about _two thousand roles_ in 2009 alone, and from 2008-2013, about 3,500 roles in total... In about 6-8 countries in multiple disciplines.

I averaged 30+ applications _per day_ at first... and 1 interview per year.

From 2009 to 2013 I got 2 months of paying work in total.

Reason? I think it's because I was 41 when I started.

I used to mainly work in support, from 1st/2nd/3rd line to sysadmin, systems design and spec, network architect, everything. I do Windows, Linux, Mac OS, networking, comms, some programming knowledge, training, all sorts. But I'm too old to get work as a techie.

I eventually moved to the Czech Republic. I'm in my 3rd position in 4 years, having nearly doubled my salary from its lowest point since I moved here. Mainly because I'm a native English speaker and we're in big demand here.

I can _turn down_ work I don't want over here. But I did have to move to a new country, where I don't speak the language, and accept an initial pay cut to about one quarter of what I hoped for in London.

<comment><USER5> Sorry, those 3500 recipients could not have known that you're 41 and tossed the application on that basis. There is just some problem other than the one you imagine.

> _I used to mainly work in support, from 1st /2nd/3rd line to sysadmin, > systems design and spec, network architect, everything. I do Windows, Linux, > Mac OS, networking, comms, some programming knowledge, training, all sorts. > But I'm too old to get work as a techie._

Across all the organizations where I have ever worked, I remember plenty of "old" guys doing this kind of IT stuff.

With that background, it's probably going to be hard to apply for anything different. Hundreds of applications but very low interview rate sounds like some sort of insurmountable mismatch between background and job. Or something silly in your application that is raising some sort of "red flag" for no good reason. If your age or date of birth aren't in the application, then that can't be it.

<comment><USER6> If your 25 years of experience are on the application, it doesn't take a math major to spot that you're not 23.

<comment><USER7> Yeah, all hiring managers know roughly how old you are by the time they've scanned your resume.

</comment></comment></comment></comment><comment><USER8> Laid off at 56. When I got home from being notified, there was an email from the HR person at a competitor in my inbox. I started work there within two weeks.

Plus, my prior company had a rather spectacular special severance package for those of a certain age who would sign an agreement not to sue for age discrimination. (This was accompanied by a thick stack of statistics of who had been laid off, showing that they were well prepared to defend themselves from any such lawsuit, but I'd rather take the money than spend the next umpteen years in court, and have the lawyers take any hypothetical judgment in the end anyway.)

<comment><USER9> It's almost impossible to sue for age discrimination and win. All they have to do is lay off 1 person in their 20s at the time they laid off their older workers and they claim innocence and it works.

<comment><USER10> Even if you sue and win you'll likely never work again due to it.

<comment><USER11> Serious question: If this is the expectation, is it not possible to sue for the actual damages, which is a lifetime of income?

<comment><USER12> no because the actual damage is just your lost income at that job. The reason you will never work again is no one wants to hire someone who sues their employer which is not caused by them firing you. It is the same with renting, if you sue your landlord no other landlord will touch you, many places maintain blacklists of tenants who have sued their landlords

</comment></comment></comment></comment></comment><comment><USER13> I'd hate to think that readers over 50 feel the need to consider leaving the tech workforce, and I know perhaps hundreds of successful engineers over 50.

Those that have a hard time getting back in are often a victim of discrimination not truly based on age, but on stagnation. A 50 year old who has worked on five interesting diverse projects in the last 10 years will find work. A 50 year old who spent the last 20 years working for the same company using old tech may struggle, and by the time you realize you need to retool it can be too late.

<comment> FLUX-YOU >A 50 year old who spent the last 20 years working for the same company using old tech may struggle, and by the time you realize you need to retool it can be too late.

Basically, stay up-to-speed with Javascript if you do web development. It's the only landscape that changes significantly enough to warrant the effort, mainly because it's a huge melting pot of coding styles and frameworks and managers of these projects seem to have less commitment to their technical decisions long-term.

If you do C#/Java/Go/Rust/C++/C, you're probably not going to be left behind.

<comment><USER14> I would be very curious to see how many 50 year old engineers are doing web development. I'm only 34 and my experience the past 5 years is that experience is not respected and being out of your 20s makes you a poor culture fit for most web companies.

> If you do C#/Java/Go/Rust/C++/C, you're probably not going to be left > behind.

I wouldn't be so sure. The landscapes don't change as quickly as web dev does, but they do change. I did a bit of Java/Hibernate work 8+ years ago. I look at modern Java code bases now and it's so annotation heavy I couldn't make heads or tails of it.

<comment><USER15> I'm mid-thirties and was recently asked to teach a 50 yo best practices for development in Node. And not like Node specific patterns, but more like how to handle http requests. I'm pretty sure that guy is way above my skill set - he's smart and he has 15 years of work experience on me. I turned the offer down since I would have looked like a fool, like a kid teaching an adult how to drive.

The age bias is real.

<comment><USER16> It sounds like you missed an opportunity there. Just because someone has XX years of work experience doesn't mean that they know a particular technology stack. Perhaps this could have been a great opportunity for you to teach that person your skillset, while learning things from them in return. The best mentorships are bidirectional.

While humans are growing up, we're accustomed to view our "elders" as our superiors in all respects. Childhood teachers encourage this view. However, at the point when you enter the workforce, in my opinion you should set these ideas aside and treat everyone as a peer; and keep your mind open to the idea that both people may have something to learn from the other.

<comment><USER15> No, I think I was a bit unclear. The guy obviously knew what he was doing, and had setup projects in Node. For me to come in and tell him how require() works would be insulting.

No missed opportunity, I pivoted the deal after turning down the first.

<comment><USER17> I don't think you were unclear, I think maybe GP only read the first two sentences.

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> I was let go at age 53 about 9 months ago as a software engineer in the Boston area. I enjoy my job and had not thought of changing fields. I'm not in a position to retire either. I got 3 months severance and had a new job at comparable pay by the end of that time period.

</comment><comment><USER19> After many rejections during my job hunt last year, I did seriously consider it, yes. Despite having a pretty solid skill set and experience, no bites, which is rather demoralizing.

You can argue whether candidates in their 50s are less viable, but it was clear that age was a factor. Not just being typecast as stodgy, but also that many people simply don't want to work with, or compete against, someone who's older.

I see comments about people getting old and not wanting to learn new things, but for me it's almost the opposite. One of the things I like most about tech is learning new things, and once you've been in for several decades, there are fewer and fewer truly new things left to learn, and positions where you'd get to learn them are fewer and fewer.

It was almost a fluke, but I did finally find a job (still in tech) that works for me. But if you knew the details, it wouldn't cheer you.

I may yet leave soon, and just live out my days as a churchmouse working on Open Source projects. We'll see.

<comment><USER20> I'm only 47 but it was the same experience for me. Ended up taking a data engineer job at a local government agency - depite the lovely site (inside University of São Paulo campus) it pays 1/3 the market average.

<comment><USER19> Pretty similar to my situation. Esp the "1/3" part. :-)

</comment></comment></comment><comment><USER21> To any older guys out there who think they might be looking in the near future -- my advice is to learn the "current stack", or really, just to keep up to date and messing with the new technologies that come out.

My story: A couple years ago I started job searching, at 38. I had been at my current job for 5 years. I had a _hell_ of a time getting anyone to bite. I had a dozen phone interviews that I felt went well, but no callbacks. This stroke me as odd, as when I had been searching last time, I had to fight off people and had multiple offers.

I noticed a trend in the jobs I was applying for. Kubernetes, Node, C#, etc. Things I didn't have on my resume, although I knew I could learn with ease. But your prospective hirer doesn't want to hear how good you are at learning their stack. There are enough candidates to choose from that _already know_ what they need, and I was told that more than once.

The jobs I was applying for were the same description, same mechanics and job duties I had been doing for 15 years already, but since I didn't work with the latest stack -- too bad.

I eventually got lucky and found a job that was transitioning from what I already knew to one of these newer stacks.

<comment><USER20> Python is hot, right? I'm doing Python for the last 10 years and even landed one patch in smtplib. Data science is booming and I have 25 years into ETL.

I'm active in the local Python meetups - my last talk was about the new data classes in Python 3.7 (currently beta so I can't possibly be more up to date). Some white hair over my face would hint at my real age if I let them grow for a few days but otherwise I don't look 47. I commute by bicycle (13 milles every day). I spend weekends on hackathons just for the fun. I'm lean and fast both physically and mentally.

But when you are near 50, good luck finding a good position. Age prejudice is a real problem in our industry.

</comment></comment><comment><USER22> Recently laid off at age 48. Less than a month later, had multiple offers with better compensation. Still in tech sector. Two years ago we switched from PHP to Go, which definitely helped.

<comment><USER23> Is your new job writing Go, or do you just think learning it just make you a more attractive candidate?

<comment><USER22> New role is almost entirely Go. Some legacy Python.

<comment><USER24> If you can, what type of code are you writing in Go commercially? Don't worry, you don't have to be specific, I'm just curious =) The libraries have really started to take off for it, and I'm curious if companies are catching up to that, yet.

<comment><USER22> There are several projects, but the largest is basically a very large specialized content platform. Many sites that have to be fast with no downtime - so Go, K8s, CockroachDB. We also have some machine learning (that's why we kept the Python). Also a few fun, small Raspberry Pi / GoBot things around the office.

</comment></comment></comment></comment></comment><comment><USER25> I think the problem is the older generation of tech workers are not mercenaries.

I know a lot of older tech workers supporting important business systems while their skills slowly become out of date.

They are frequently adding $1 million+/year in value while being paid ~$100-$120k/year.

The businesses would pay $250-$350k/year if they had to.

If the older workers were demanding the premium and saving the $100-$150k/year extra after taxes then being out of the job market for a year or two to reskill wouldn't be a problem.

Luckily most of the younger generation are very mercenary and are in tech for the money. So it's a problem that hopefully will fix itself.

<comment><USER26> > The businesses would pay $250-$350k/year if they had to.

Extraordinary claim

<comment><USER25> What makes you think so?

Do you think they would sooner cut off their nose to spite their face?

<comment><USER27> I've worked in tech for 30 years and never experienced a single company that does math the way you describe: "I.T. generates or saves us $X million per year therefore we'll share that with frontline developers." Ha, puhleez.

In my experience, you'd consider yourself lucky to work for a company that sees I.T. as a strategic/operational advantage (and not merely a "cost center") and therefore pays its staff 10% better than market average plus bonuses.

Unfortunately, I've worked for truly "I.T. forward" companies like that and still seen a merger or buyout completely flip the culture. Overnight I.T. salaries and budgets were seen as indulgences and people were laid off or quit in droves.

The one thing I've learned about this industry is that no matter how innovative or adept an engineering department is, an exuberantly stupid executive team can completely squander and destroy that asset surprisingly quickly.

<comment><USER25> > therefore we'll share that with frontline developers." Ha, puhleez.

Like I said "if they had to".

You still have to make a compelling case.

Surely you have seen teams with 3 solution architects when they don't even really require 1?

Or teams with contractors who have been in the same team on contract 5+ years?

The problem is most senior devs don't even collect the information they need to make a compelling case.

Like if I asked you how much more productive are you than a new (3-6months) senior dev on your project? Would you be able to show me?

I'm ~14x more productive on my current project than a newly hired senior dev and can give you the jira queries to prove it.

</comment></comment></comment></comment></comment><comment><USER28> Not quiet 50 - age 49 - 28 years at same organization

That was in 2011 - I retired and started doing in-home tech support for little old (rich) ladies and gentlemen. I haven't looked back :-)

<comment><USER29> Oh man, I am curious how that is. I used to do in-home tech work when I was much much younger like 20ish. I didn't realize it then, but thinking back on those experiences I often had housewives that were creating their own websites, um... flirting with me... I'm kinda glad I didn't notice... then.. So now I'm curious, do you see that?

</comment></comment><comment><USER30> We just interviewed a series of laid off 50+ principle software engineers (all from the same company). After the interview, all reported back they had multiple offers and chose to work elsewhere. Keep in mind these were engineers with very specific domain knowledge (which we were after).

<comment><USER31> It seems like specific domain knowledge is pretty key at a certain age unless you're really good at selling yourself as a consultant. With 30+ years of of experience I think you almost get to accumulate that automatically, but the worry is that the domain vanishes.

</comment></comment><comment><USER20> I'm not over 50 yet (47) but I'm done applying for programming jobs and I don't want to get back into management unless it is my own company.

Currently I'm working full time as a data engineer for a local government agency waiting for some side business to take off.

Just started a productized service business offering "an elite squad delivering a complete web application over a single one-week sprint" (the idea is to take some business process currently managed through spreadsheets+email and turn it into a web application - complete with reports, filters, search, permission control and etc in one week).

</comment><comment><USER32> I left the tech "workforce" (although I use a lot of technology on my own in my own business) a couple of downturns ago, after I got fed up with having several positions in a row offshored and eliminated.

I started my own unrelated business (sort of fell into it, applying my observations about certain marketplaces) with the immediate goal of having more hands-on control of my fate -- I could live with the impacts of my own stupid mistakes, but I wanted to insulate myself from others' stupid mistakes.

So, I stayed above water even through the 2008+ downturn, even while a lot of my colleagues who had stayed in the industry were out of the conventional full-time workforce as well.

But now, my industry segment is going away (ironically, due to the stupid mistakes of the industry superpower), so I've folded up the worst-performing 60% of my business. Now, I have to decide whether to just sell my SV house and "retire" or somehow find an appropriate role for my "out of date" (in terms of modern stacks) technical skillset.

I think at this point, my most marketable skill is writing and breaking stuff, and writing about breaking stuff, but the trick is finding the right company with those needs.

</comment><comment><USER33> I am over 55, software engineer from SF Bay Area. I was laid off in March and just accepted one of the offers. So, no, not leaving the tech at all.

</comment><comment><USER34> One theory I have is that the tech community was a lot more nerdy in the past, and we've gradually been diluted out as the tech population has grown. The whole "culture fit" thing just seems creepy to me; I used to work with all kinds of crazy people.

</comment><comment><USER35> I am 50 and living in Silicon Valley.

I have been laid-off 3 times (most recently in January, 2017). Each time, I have had little troubling finding a job.

I should mention that I am active on Kaggle and that I code during my day job (C#) and code in my free time (mostly Python).

I have not yet found any problem in finding new roles.

</comment><comment><USER36> I'm 47 and might have to. No one seems interested in hiring me.

<comment><USER37> I am concerned that this may happen to me in a couple of decades. Can you elaborate more?

<comment><USER38> I wouldn't make any assumptions on the state of the workforce a few decades out. Things may change dramatically.

<comment><USER39> One thing that will definitely change is the demographics of the developer community, people who are 50 today who worked their career as programmers would have started in 1986 - 1990, There wasn't anywhere like as many programmers then as now.

So the number of older programmers moving down the pipe will grow hugely with the explosion in the number of programmers in the 90's.

That and to an extent the field is continuing to mature, We've only had the internet in most peoples homes for what, 18 years (not sure what the 50% line date was).

For me I find it's not hard to stay current since I devote my 'TV time' to programming and I like learning, I've also been careful not to find myself stuck in a niche by moving from one part of industry to another. My plan is to just stay current with the technology, I was raised on basic, pascal in the 80's, moved to C in the 90's, then Delphi, C# and the web.

It helps that the only constants in my life since I was a kid have been that I love reading and I love programming.

I leave work, go home, have a shower, something to eat and then program (or play chess) as a hobby.

</comment></comment></comment></comment><comment><USER40> I took a voluntary layoff in December and yes I have left the tech workforce. I was in product infosec and the stress was taking a toll on my health even though I didn't realize it at the time. I'm thinking about moving into academia. It's something I've always wanted to do but would never have done while I was still working. I'm set financially so the lower pay isn't a drawback.

</comment><comment><USER41> I run engineering at a medium size startup. I don't like hiring C++ programmers with less than 20 years experience. Ironically the Ukrainian outsource team I once used to find talent quickly now supplies me with "senior devs" that are 5 years out of school. I'm in my mid-thirties myself.

</comment><comment><USER42> Warning: this kind of poll is prone to selection bias.

<comment><USER43> Agreed. I imagine many people who left tech (regardless of age) are not frequenting HN

</comment></comment><comment><USER44> Sorry to hear. While I'm not over 50, I went through something similar at one point and took the opportunity to spend some time on a passion project before going back into the workforce.

Despite the frustrating situation, you'll end up better off. And if you're looking to get back to the tech workforce, here are some tips that I hope might help: [https://medium.com/layoff-aid-blog/how-to-hack-the-tech- job-...](https://medium.com/layoff-aid-blog/how-to-hack-the-tech-job-search- when-youre-unemployed-cfa2b3f123f2)

</comment><comment><USER45> Great topic for discussion.

I have seen this happen during and after both the dot com bust and the great recession. Timing of the layoff will certainly impact things, as does the perception of skill stagnation, but there is a component that is related to age as well. I personally know a seasoned VP who only started getting callbacks after they dropped 10+ years of (relevant) experience from their resume. I also know someone who was told by a recruiter to dye their hair. Most of these stories are from 2001/2002 and 2009-2012 but unfortunately I doubt that it's limited to recessionary environments.

</comment><comment><USER46> Honest question here, why is there ageism in hiring in IT? What does it buy any employer to shoot for younger, less experienced workers?

I'm probably naive but I don't get the logic.

<comment><USER47> My thoughts:

You are there to burn brain cycles for a fixed pay, a high pay at that. Experienced older crowd demands higher pay. Most gigs could care less about their experience; 95% of the gigs consists of mundane task completion and pump out code demanded by often micromanagement processes.

Older crowd is more likely to question, call out bs, and demand work life balance.

Young are more impressionable, willing to burn the candle night after night. 24-hour long hackathons on soda and pizza anyone? This is unhealthy in so many ways lol. This says more about the profession rather than ageism. Name another profession where people willingly accept working under such unhealthy circumstances, especially off the clock. Lunch at your desk is the norm.

Fuck it! Frankly, the profession is ideal for a (wo)man-child, crippling any mature, healthy social development. End of the day, it's you and the computer 1v1. No one outside IT/tech gives two fucks about your abstraction flame wars, coding practices yadi yada unless bottom line is suffering. They'll throw bodies at the problem. Meanwhile Stfu and code.

</comment></comment><comment><USER48> If I do, I'll be waiting to be recalled when the dreaded "Year 2038 Problem" happens. ;)

<comment><USER19> oblig: "It says here you know COBOL..."

</comment></comment><comment><USER49> not yet (laid off at 55, new gig after ~2.5 mos.; now 56)

</comment><comment><USER9> They really should pass legislation is protect older workers. If they protect transgender people from discrimination, they can protect their older workers who have done everything they were told to do and are being punished.

<comment><USER50> Are you trolling? [https://www.eeoc.gov/laws/types/age.cfm](https://www.eeoc.gov/laws/types/age.cfm)

<comment><USER51> I dont think he is trolling, age discrimination is just something that is hard to prove.

Case in point - as soon as I removed my graduation dates from my resume I started getting more initial calls. Previously I would hear nothing - i assume it was b/c I was filtered out by the HR app parsing bots.

Ageism is real in this field..its youth culture. You just gotta know this and work around it.

</comment></comment></comment><comment><USER52> I'm not laid off, but expect to find another job when I retire from my current one (probably in another year)... Am I naive?

</comment><comment><USER53> Don't let age define you!

</comment><comment><USER31> This needs an "Ask HN:"

<comment><USER54> We've updated the headline. Thanks!

</comment></comment><comment><USER55> I'm not sure what "reader" means here.

<comment><USER56> _Laid-off readers (of Hacker News) ..._

I assume.

</comment></comment><comment><USER57> Are there any plausible moves to earn mid 100s in some non-tech industry without going through re-schooling?

<comment><USER58> Everyone would be doing it if it was easy. Sales is probably the best option but you have to be able to do sales.</comment></comment>


Crystal: Fast as C, Slick as Ruby - <AUTHOR> https://blog.codeship.com/an-introduction-to-crystal-fast-as-c-slick-as-ruby/ <comment><USER2> From this post, Crystal appears to have some of the things many people have been lusting after in Rust: sophisticated metaprogramming, fewer sigils, a bigger standard library, fibers/coroutines/whatever-they're-called-now.

But it still has a GC :(. Rust has completely spoiled me with making it easy to minimize dynamic memory allocation and copies, and to know (almost always) deterministically when something will go away.

EDIT: I should also say that if you want to bash on Rust's lack of these things, 3 out of the 4 items I cited have solutions being actively worked on (either at planning, RFC, or implementation phase). I don't think Rust's sigils are going away any time soon, but I have no idea how you'd do that and preserve semantics anyway.

<comment><USER3> Manual or deterministic memory management might be a must-have for certain usage domains, but for any domain in which one would be using ruby, this seems unlikely, and presumably one could FFI into C when this is the case. There are hardly any languages commonly used in industry which don't have GC (essentially just C/C++). And many of these garbage-collected languages are capable of blazingly fast code with a small memory footprint.

Regardless, for a language which is meant to operate in the same domain as ruby and be as easy and declarative, not having a GC would be a puzzling decision.

As a side note, I'm curious what areas you are programming in where the presence of a GC is such a downside. Having written almost exclusively in garbage-collected languages over the last few years, it's something I almost never think about (and happy not to). Of course I don't deny that stricter memory control is sometimes necessary.

<comment><USER4> Crystal seems to be targeted at a domain where ruby is not fast enough. That includes domains where GC is a problem.

A tracing GC means that you either have to deal with potentially long GC pauses or you need a lot of extra free memory at all times to give the GC time to catch up before running out of memory [1].

Go says it can achieve 10ms max pause time using 20% of your CPU cores provided you give it 100% extra memory. In other words, memory utilisation must be kept below 50%.

Cloud/VPS prices scale roughly linearily with memory usage. So using a tracing GC doubles your hardeware costs. Whether or not that is cheap depends entirely on what share of your costs is hardware cost and how much productivity gain you expect from using a tracing GC.

I would be very interested in learning how much CPU and memory overhead Swift's reference counting has, because in terms of productivity Swift is certainly competitive compared to languages using a tracing GC.

[1] Azul can do pauseless, but I don't know exactly what tradeoffs their approach makes. Their price is too high for me to even care.

<comment><USER5> If you are on a server do you need 10ms max pause time? For most applications running go on a remote machine, 25ms should be in the realm of acceptable.

<comment><USER6> [http://latencytipoftheday.blogspot.com/2014/06/latencytipoft...](http://latencytipoftheday.blogspot.com/2014/06/latencytipoftheday- most-page-loads.html)

</comment></comment></comment></comment></comment><comment><USER7> The claim is "fast as C", so I was surprised that the performance comparison was with Ruby, not with C. On my machine, the Ruby Fibonacci program executes in 47.5s, while a corresponding C program executes in 0.88s - that's a factor 54 difference, while the article reports a factor 35 for Crystal. That's good, but what causes the difference? This benchmark is pretty much all function call overhead, so I doubt it's representative of real performance-sensitive code.

The Crystal website itself makes a more modest claim than "fast as C" under its language goals: "Compile to efficient native code", which it clearly does.

<comment><USER8> All of these "fast as C" claims about modern, high-level Python-like languages (be they statically typed and natively compiled) are missing the point. It is mostly the minimalistic and terse programming style that C encourages that makes C programs performant. You avoid allocations wherever possible, you write your own custom allocators and memory pools for frequently allocated objects, you avoid copying stuff as much as possible. You craft your own data structures suited for the problem at hand, rather than using the standard "one size fits all" ones. Compare that to the "new this, new that" style of programming that's prevalent today.

<comment><USER9> There actually is one high-level Python-like language that really is almost "as fast as C".

[http://nim-lang.org](http://nim-lang.org)

I am using it for years already, and it is really performant, somewhere between C and Rust. I am still wondering why so few people use it.

Benchmark: [https://github.com/kostya/benchmarks](https://github.com/kostya/benchmarks)

Nim vs Rust: [http://arthurtw.github.io/2015/01/12/quick-comparison-nim- vs...](http://arthurtw.github.io/2015/01/12/quick-comparison-nim-vs-rust.html)

Performance discussion: [http://forum.nim-lang.org/t/2261](http://forum.nim- lang.org/t/2261)

Embedded Nim: [https://hookrace.net/blog/nim-binary- size/](https://hookrace.net/blog/nim-binary-size/)

Nim on LLVM: [https://github.com/arnetheduck/nlvm](https://github.com/arnetheduck/nlvm)

<comment> def- > I am still wondering why so few people use it.

While Nim is my favorite language, I can understand that it has a small userbase, for these reasons:

1\. No major backer like Google for Go or Mozilla for Rust

2\. No killer feature like "memory safety and performance without GC" for Rust, instead a mix of all the reasonable down-to-earth features I want in a programming language

3\. Some unique decisions instead of what you're used to from other languages, for example partial case sensitivity

<comment><USER10> 4\. The fact that operator order is changed by the amount of white space between symbols

                    2+2 * 5 = 20
                    2 + 2 * 5 = 12

<comment><USER9> I am a strong proponent of Nim but this is probably the worst idea I have ever encountered in language development. Honestly!

Partial case sensitivity and the special underscore case are features I can live with. Unfortunately this has actually become a stumbling block for a wider adoption of Nim.

All strange special features should be optional, not default.

<comment><USER11> What makes you think this is default? It most certainly is not and will be removed completely in the future.

Edit: here is a source: [http://nim-lang.org/docs/manual.html#syntax-strong- spaces](http://nim-lang.org/docs/manual.html#syntax-strong-spaces) ("... if the experimental parser directive #?strongSpaces is used..."). The last time this was discussed I said that it would be removed completely, and I still believe it will be. It's simply not a priority for us right now.

<comment><USER9> > What makes you think this is default?

Some of those features are default in Nim, some (strongspaces) are not. I say that _all_ such weird features should be optional in general so that newcomers don't get scared off.

Also case and underscore should work like in C per default since Nim interoperates with C seamlessly anyway. Case insensitivity and ignoring underscore are ok if optional.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> Looks very nice. I hope it gains momentum.

For now, if you want a fast language with the beauty and productivity of Ruby, check out Elixir [0] and its web framework, Phoenix [1]. I've been using Phoenix for a year, and it's the first framework that I've actually liked _more_ over time. And I've been a web developer for a decade. With its recent 1.0 release, Phoenix is gaining a lot of momentum.

If you want some idea of the performance differences between Phoenix and Rails, see [2] and [3].

[0] [http://elixir-lang.org/](http://elixir-lang.org/)

[1] [http://www.phoenixframework.org/](http://www.phoenixframework.org/)

[2] [https://github.com/mroth/phoenix- showdown/blob/master/RESULT...](https://github.com/mroth/phoenix- showdown/blob/master/RESULTS_v3.md)

[3] [http://www.phoenixframework.org/blog/the-road- to-2-million-w...](http://www.phoenixframework.org/blog/the-road-to-2-million- websocket-connections)

<comment><USER13> Elixir is not a fast language. Not even close. Yes, it handles concurrency and parallelism beautifully which in turn enable distributed applications to perform quite well. But the language itself is significantly slower than Crystal / Rust / Go / Swift. It's not in the same category at all.

That said, it's a great language worth recommending.

<comment><USER14> > Elixir is not a fast language.

Depends what we mean by fast. I have seen Erlang VM handle 100k requests per second on a distributed cluster. That's plenty fast. Moreover, because of fault tolerance, it means ability to have a better uptime, with less people on-call. "Fast" can also be measured to include that, if system goes 200k requests per second, but crashes at midnight and stays down for a few hours, the average "speed" can be quite low. In a laptop demo that's not visible, but in practice that's money and customers lost.

But if fast means, "let's multiple some matrices", then yeah can probably use Rust or C for that. It all depends on the problem domain.

<comment><USER15> _I have seen Erlang VM handle 100k requests per second on a distributed cluster_

A single JVM server can do that load, scaling and providing fault tolerance for a server that just accepts requests is trivial these days, also, if your requests do computationally intensive stuff you are going to have a very bad time with Erlang.

 _It all depends on the problem domain._

Exactly, and the domain for Elixir/Erlang is way more niche and specialized than applicable domains of other languages.

I don't have anything against Elixir but part of its crowd just advertises it as the best thing for everything.

<comment><USER16> The Erlang VM (modified) has supported over 2M concurrent connections: [https://blog.whatsapp.com/196/1-million-is- so-2011](https://blog.whatsapp.com/196/1-million-is-so-2011)?

Furthermore, assuming each request is mapped to an Erlang process, each of them get their own VM -- no stop-the-world.

<comment><USER16> Correction: I meant to say each of them get their own GC, not VM.

</comment></comment></comment></comment></comment></comment><comment><USER17> I'd like to put out there that Crystal is absolutely awesome. The language itself is Crystal clear, but the language documentation and API documentation - oh my!

I had never worked with compiled languages before I tried Crystal, but had always had a huge interest in getting into that. When I wanted to learn the compiled ecosystem I looked at languages like Go and Rust, but the learning curve for those was a bit overwhelming for a newbie. A while later I found Crystal, and much thanks to the simple syntax of the language I learned a ton of new things about compiled languages very quickly. The absolutely best part of the language is that it is written in plain Crystal, and I've been looking at their own implementations for various things a lot - something I've never done before, having worked mostly with Node, Lua and PHP before.

Nowadays I can delve into Go documentation, packages are clear to me and I just understand how things should and should not be implemented to achieve a good efficiency and performance level. The Little Go Book makes sense, the I/O package is simple and this is probably all thanks to the syntax of Crystal, the amazing language & standard library documentation but most importantly the source of Crystal being written in Crystal.

I'm currently working on building a business using Go, because I absolutely need Windows target support - something which Crystal does not yet have. But the second it gets that, I'm moving back. Don't get me wrong, Go is really great and nice to work with - but Crystal is my mentor. Please note that I have not worked with Ruby before, so the whole language was new to me.

To summarize; even if you only wish to learn, Crystal is in my personal opinion the best choice to go with.

<comment><USER18> Maybe the makers of Crystal need to take a leaf out of Go's book. Despite the Go creators not being windows users (AFAIK), they support Windows as a primary target, to help adoption, I assume.

Of course the Crystal people probably don't have the same number of developers working on it as Go did even early on.

Edit: Go took a little while to support windows, not until around July 2010. See this question from November 2009: [http://stackoverflow.com/questions/1717652/can-go- compiler-b...](http://stackoverflow.com/questions/1717652/can-go-compiler-be- installed-on-windows)

<comment><USER19> The plan is to support windows before 1.0, although the core devs are reluctant to "open up" to the large amount of developers windows support would bring before they are finished making breaking changes.

<comment><USER20> I don't think they're afraid of it, more like haven't gotten around to it would be my guess...

</comment></comment></comment></comment><comment><USER21> The Fibonacci comparison is a poor example of performance gains because Ruby is using large number data types to ensure the correct result. This is according to the crystal language website itself.

"However, Crystal might give incorrect results, while Ruby makes sure to always give the correct result."

[https://crystal-lang.org/2016/07/15/fibonacci- benchmark.html](https://crystal-lang.org/2016/07/15/fibonacci-benchmark.html)

<comment><USER22> i actually think it's a good example for just that reason. Ruby will automatically use those big number types on production applications as well as the fibonacci application, so it's demonstrating that difference and the effect that it has.

<comment><USER23> This isn't true. Ruby uses native integers when possible and then switches to bignums when the integer gets big enough.

<comment><USER22> Yeah and that behavior of automatically switching has overhead, and should be taken into account when comparing languages.

</comment></comment></comment></comment><comment><USER24> I recently gave a quick 10 minute talk on Crystal if anyone wants a video introduction [https://www.youtube.com/watch?v=oC9IknG40po](https://www.youtube.com/watch?v=oC9IknG40po)

<comment><USER25> Thanks! Interesting talk!

</comment></comment><comment><USER26> First thing I look for whenever I run across another "C competitor" is to look which language it is implemented in. Usually that's C, or C++, but this time, it does look like Crystal is implemented in Crystal, which is, to me, a very good indication that this is a "real" system language.

I believe Rust is also implemented in Rust and Go, after a few years of being implemented in C has now a compiler written in Go.

<comment><USER27> > ... which is, to me, a very good indication that this is a "real" system > language.

Could you expound upon that point a bit? What's the difference, in your mind?

<comment><USER26> The rationale is, that once you have a programming language that is implemented in itself (usually that means that the compiler/interpreter is written in that language), then it means that your language has tackled and can deal with many issues that "system languages" deal with. Mainly dealing with the OS in a lower level, dealing with CPU/RAM, etc.

This is a large problem space that you can glean over by using C as a layer of interaction between your language and the underlying machine, but it makes your language a: not truly a "system language" and b: it also ties you to C philosophy, API/ABI, calling conventions and so on.

</comment></comment></comment><comment><USER28> I've done some coding Crystal when I have Ruby scripts I really need to run faster. I generally see about a 5x performance over Ruby.

It certainly is great to be able to jump right into Crystal coming from Ruby. It isn't very hard to convert most Ruby code to Crystal -- you just have to go through and "typify" everything. A few methods have different names and of course some don't exist but most of it is there.

My one grip with Crystal however, and why I haven't adopted it more generally, is that much of the "Lisp-like" features of Ruby are all but lost. Crystal makes up for some of this with macros, but it doesn't quite cut it. For example, you can't splat an array into a lambda in Crystal. Arguments have to be tuples which are compile-time bound. Little things like this feel very limiting to an experienced Ruby developer.

<comment><USER29> You may want to revisit that splat issue. Asterite did some changes regarding splats a few months back that was pretty impressive.

<comment><USER28> Cool. I'll have to see if I can get my Clik library working now. Thanks.

</comment></comment></comment><comment><USER30> Crystal doesn't support a REPL yet because inferred static typing complicates incremental compilation.

Blog: [https://crystal-lang.org/2014/12/06/another- language.html](https://crystal-lang.org/2014/12/06/another-language.html) Github Issue: [https://github.com/crystal- lang/crystal/issues/681](https://github.com/crystal-lang/crystal/issues/681)

<comment><USER31> Scala has type inference with strong static typing, and a useful REPL. A Crystal REPL should be doable, unless Crystal's creators made some bad choices in the design of the type system that Scala's creators did not.

<comment><USER30> My intuition is also that a Crystal REPL is technically possible. But FTR, the two languages implement subtly different type restrictions.

Scala has type _inference_ , Crystal has _optional_ typing. In Scala, there are certain situations when the type is discernible by the compiler, and can be omitted. For example

      val x = 1 + 2 + 3

the compiler infers that x is an Integer. However, omitting type information in Scala is the exception not the rule. Methods and functions, for example, must have type annotations.

In practice, Crystal also infers type. But in Crystal you can omit almost any type annotation, including method and function definition. This probably poses a different challenge for the compiler authors. The Type Restrictions sections provides some more examples [https://crystal- lang.org/docs/syntax_and_semantics/type_rest...](https://crystal- lang.org/docs/syntax_and_semantics/type_restrictions.html)

</comment></comment></comment><comment><USER32> Was wondering how many companies actually use Crystal in production.

I was interested in Crystal but the lack of apps using it in production and proof of concept on the field is making me doubt its usefulness.

<comment><USER33> I'm the author of Kemal(kemalcr.com), a simple, fast and modern web framework for Crystal.

We've been using Crystal in production(at Protel) for more than 6 months for some heavy load APIs (100-200 req/s). We've replaced our Rails API with 64 unicorns to just 1 Kemal process and it's not even breaking any sweat while consuming nearly 100x less resource and 30x less CPU.

You can ask me about our experience.

<comment><USER22> My biggest concern if i were to try to use Crystal in production would be the lack of "googleability". I'm guessing your team is very familiar with the language, so it's not as much of a problem that you can't Google a problem when it happens. Do you feel that this is a major roadblock for people new to crystal, or are the majority of errors very intuitive? the second thing is that according to the site crystal is in alpha and making breaking changes sometimes. how often do you have to refactor after an update and how difficult has it been to spot and fix that something is broken by an upgrade? Very interested in using it myself but can't bring myself to commit an app to it.

<comment><USER34> Chiming in re. "googleability", go has the same problem (despite coming from Google :D). What you do is always search for 'crystal lang xxx'. It will get better as adoption increases.

<comment><USER22> I was more just talking about how as language popularity goes up so does your likelihood of finding the solution to any given problem on the internet.

</comment></comment></comment></comment></comment><comment><USER35> And it already got a port of Sidekiq: [https://github.com/mperham/sidekiq.cr](https://github.com/mperham/sidekiq.cr)

<comment><USER36> Whaaat? That's awesome. Now I want to see how Crystal handles ETL pipelines.

<comment><USER37> I've found the bottleneck to be the database choking on too many INSERTs, not the code doing the writes (our Sidekiq job)

</comment></comment></comment><comment><USER33> For anyone interested in building web applications with Crystal i recently gave a talk about Kemal at PolyConf [https://www.youtube.com/watch?v=KJB- nAoRSr8](https://www.youtube.com/watch?v=KJB-nAoRSr8)

</comment><comment><USER38> scoped includes are a deal breaker for me when looking at new programming languages.

ex: non-scoped (everything in foo is added to the global scope)

      inport foo
      {
        bar.do()
      }

ex: scoped (everything in foo is added to the local scope, and assigned a name-space)

      {
        bar = inport foo
        bar.do()
      }

I find it much easier to manage programs where there are no "hidden" global variables. It's especially hard when the included files also can include files, witch all adds to the global scope.

<comment><USER20> bring it up on the mailing list, seems like an interesting feature to me :)

</comment></comment><comment><USER39> So, this is like Ruby's answer to cython?

<comment><USER29> No, not in any way whatsoever.

<comment><USER39> Cython looks like typed Python. Crystal looks like typed Ruby. Both are compiled, and both are not quite as fast as C, but much faster than the language they're based off of. The point of both is to be able to write something that looks like a clean scripting language while getting close to the speed of C. Was that unclear, or are you just trolling?

</comment></comment></comment><comment><USER40> cool.

can you make it faster than C though please? (seriously) i think it might even happen by accident in some cases already though. the places where C can be beaten for performance are, in my experience, from design choices in the C standards, users not understanding or leveraging those things for performance and the architecture of the compilation-unit/link process.

things like the struct layout rules - instead of the compiler organising things to be optimal it follows those rules for memory layout, or the calling conventions - you often have to use funky extensions to get efficient function calls.

other things are the lack of ability to hint the compiler that e.g. mathematical structures underly types that can be leveraged for optimisation. that const or functional purity can be trusted... etc.

<comment><USER41> Not the answer you would expect but still: it can also happen on large projects where the refactoring or the paradigm change is just too costly in C. The pure, raw ability to make C faster is nice, but if it takes you months of development you don't have, it's pretty useless.

One typical example of this was a few years ago (if I'm not mistaken) in the monitoring world, when Shinken released a Nagios-compatible engine in Python, and, basically the reactions in the Nagios community was that the modifications involved in Nagios (C) were just too important to be worth it.

</comment></comment><comment><USER42> Why couldn't Swift be this?

<comment><USER43> In other words, if Apple had taken the RubyMotion path, but added type inference and better performance.

</comment></comment><comment><USER44> The really important questions in any modern language:

(0) Does Crystal have a lot of undefined behavior like C?

(1) Does understanding Crystal programs require a lot of trial and error just like in Ruby?

(2) How good a job does Crystal do at preventing me from shooting myself in the foot?

A language isn't to be judged just by the amazing programs you can write in it. (Turing-completeness and I/O facilities have that covered.) Far more important are the totally stupid programs that you _can 't_ write in it.

<comment><USER45> I'd love for you to elaborate on (2). I don't think that's a criticism of Ruby I've heard before.

<comment><USER44> (2) wasn't particularly aimed at Ruby, although some "creative" uses of metaprogramming can be very hard to debug. But languages designed for systems programming typically have features that, when used wrong, result in totally catastrophic modes of failure.

<comment><USER29> Well, you don't have runtime eval or send in Crystal, so some variants of metaprogramming can be ruled out.

However, there _are_ compile time versions of method_missing, delegates and instance_exec available (usually with slightly different naming due to not having the exact same semantics as the ruby counterparts), so it is still possible to do some magic.

</comment></comment></comment></comment><comment><USER46> Can someone comments the differences between Nim (old mimrod) and Crystal? Which one do you prefer and why. Thanks.

<comment><USER47> Apart for different syntax:

Plus of NIM:

* powerful compiler can produce C, C++, JS, ObjectiveC code

* GC can be completely removed to adapt to the program

* support parallelism via threading

Plus of Crystal:

* use of types union permit to mix types in almost every data structure, let you pondering if the langugae is really strong typed

* so similar to Ruby that porting a 100-lines library (with no fancy-metaprogramming) to Crystal is often a matter of few hours

* use of green threads suits very nicely with HTTP request/response cycle (like GO and Erlang), where using threads/processes is more memory/CPU consuming

What Crystal still lacks is parallelism, but core team are working on that.

Said that both are modern, fast, elegant languages, with a good standard library and a vibrant community.

</comment></comment><comment><USER48> I think the macro system looks really interesting. The main ideas seem to be that meta programming can be done anywhere and that everything is quoted by default in macros. What are thes kind of macros called, and where do they come from?

</comment><comment><USER49> crystal on rails. i want this.

<comment><USER50> This may be the closest alternative right now: [https://github.com/ysbaddaden/frost](https://github.com/ysbaddaden/frost)

<comment><USER51> Kemal is the most actively developed. [https://github.com/sdogruyol/kemal](https://github.com/sdogruyol/kemal)

</comment></comment></comment><comment><USER52> Great stuff. I love Ruby. Any idea when this will be production worthy, or at least stable enough to trust on internal projects? Will the language change much going forward?

<comment><USER33> Actually it's been stable for the last 6 months. No more expected major syntax e.g changes upwards. (apart from parallelism and gc which will be at compiler)

<comment><USER22> They should really mention that on the website for crystal. I think a lot of people are scared off by seeing the words alpha and breaking changes. Changing those to "beta" and "stable" on the site would help a lot IMO. At the very least calling it stable would be huge.

</comment></comment></comment><comment><USER53> What advantages Crystal has compared to other more modern languages that aim to compete with C? For example D and Rust.

<comment><USER54> Its similarity with Ruby? It doesn't _feel_ like I would have to learn completely new paradigms

<comment><USER55> It's somewhat similar, but in Crystal you need to be explicit with types, and you'll likely miss 'send'.

Also Crystal has macros

</comment></comment></comment><comment><USER56> Neat, I will check this out. Although, if I am honest I really wish there was "Crystal for python".

<comment><USER57> Nim ([http://nim-lang.org/](http://nim-lang.org/)) is really as close as you're going to find.

</comment></comment><comment><USER58> For anyone familiar with Crystal, are there any plan to add pattern matching into Crystal?

<comment><USER57> Good question about pattern matching in Crystal. I found this reply by asterite (the creator of Crystal) to a similar question that is worth reading:

[https://crystal- lang.org/2014/06/19/crystal-0.1.0-released.h...](https://crystal- lang.org/2014/06/19/crystal-0.1.0-released.html)

The question was asked in the comments as with the reply. I'm sorry that I can't link to it directly but it's the seventh comment from the top.

</comment></comment><comment><USER59> > Have you ever dreamed of a programming language as beautiful as Ruby but as > fast as C?

Yeah, I discovered Common Lisp back in 2006 and have been using it ever since …

I discovered Go back in 2009 and have been using it ever since, too.

What does Crystal get me that these two don't?

<comment><USER20> ruby like syntax that I miss when using go :|

</comment></comment><comment><USER60> Does it have any benefit in particular over lua/luaJIT?

<comment><USER61> off the top of my head, I would say it's similarity to Ruby means that Ruby devs would have an easier time learning the language than learning an entirely new one. Crystal also seems to have an extensive standard lib, which lua does not. (that's not a criticism of lua, just an observation. I know luarocks has made the lack of a large stdlib much less of a pain point for lua)

</comment></comment><comment><USER58> Someday, someone should write a Ruby VM in Crystal.

</comment><comment><USER62> Crystal isn't fit to carry Nim's jockstrap as far as I'm concerned. Ruby's syntax is verbose and illogical compared to Python's. Plus Crystal has a much more restrictive license.

</comment><comment><USER63> Stopped reading when I saw the `end` keyword... the most annoying part of Ruby.

Edit: I'm getting hella downvoted but I'm leaving this here. Ruby fanboys can't silence me!!! ;)

<comment><USER64> The syntax of a language is about the least interesting thing about them. I don't care about curly braces, end keywords or semicolons as long as it is consistent (and fairly easy to parse, so there can be good tooling). The interesting parts are in the semantics, type systems and runtime features.

Choosing a programming language based on the syntax is like choosing your significant other based on looks alone. You're going to be spending a lot of time together, what's inside is what counts.

<comment><USER65> I've heard this said numerous times, so I'm going to disagree on the record. I think syntax of a programming language is a very important characteristic.

A language with a nice syntax is easier to learn, easier to read and understand, and delightful to write.

Crystal's syntax is a great differentiator between it and its statically typed, garbage-collecting competition.

<comment><USER63> Exactly! I guess people used to the Ruby syntax are just desensitized or don't know how much of a joy programming can be without having to type 'end' everywhere.

<comment><USER64> The end keywords is just a minor detail and can be inserted by a smart editor anyway.

Things like list comprehensions and do notation are examples of nice syntactic sugar.

Sensitive whitespace like Python can be nice to write and read, but it's hard(er) to write a parser for it and that's why Python's tooling hasn't been great in the past.

That said, Ruby is even harder to parse and I don't like it aesthetically either.

</comment></comment></comment></comment></comment><comment><USER66> I seldom whine about blog posts but his one clearly justifies as click-bait. Not because of it's otherwise good content. But if it takes me a Google search instead of having within the very first sentences a link to the obvious target,

[https://crystal-lang.org/](https://crystal-lang.org/)

there is something f~*#ing wrong with the article.

</comment><comment><USER67> If you require the use of a GC, you can never be as "fast as C" in the general case, since there will always be specific cases where manual memory management will do something more efficient than what an automatic GC would have done --- just like a car with an automatic transmission can never be quite as efficient as a car with a manual transmission used competently.

If you want to talk about efficient GCed languages, you have many choices, most of which have more tooling and mindshare advantages than you language has tooling advantages.

Really, GCed languages are commodities these days. A lot of people have put a lot of work into the fundamental building blocks, and now people are just combining them in various ways.</comment>


Options on early stage companies - <AUTHOR> http://www.cdixon.org/?p=259 <comment><USER2> Thinking of startup investments as options seems to make a lot of sense but as one of the commenters there noted: "Black-Scholes is probably a poor model choice to price start-up options as the return distribution is clearly not normal."

<comment><USER3> The choice of model is sketchy but the conclusion is right. Open up excel or python and do the expected value calculation numerically for any distribution you like (that's plausible for a very early stage startup) and you will get pretty much the same price (~1).

For later stage companies, options are poison. If you pay your CEO in options, his best strategy is to go to Las Vegas and put all of your company's assets on "black".

<comment><USER4> _For later stage companies, options are poison. If you pay your CEO in options, his best strategy is to go to Las Vegas and put all of your company's assets on "black"._

Why is that? Betting on black only has an 18/38 chance of winning (less than 50%), and losing means that his options are going to be out-of-the-money (in this case, they'd basically be worth nothing).

Not to mention that doing such a thing would probably get him sued by the shareholders of the company (for not acting in their best interests), whether he won or not.

<comment><USER3> Let's say Dr. Evil is chosen as the new CEO of Microsoft, and receives in compensation ONE BILLION OPTIONS with a strike price of 23.69 (i.e. at the market) and an expiration in Jan '11. These options are trading on the market at about $4, so if Dr. Evil sits tight and continues on the company's current strategy we can assume his compensation will be $4 billion on average. If he uses the "roulette strategy", on the other hand, his expected return is 23.69 * 18/38 * 1e9 = $11.2 billion. That's much better, and not as much work. In a company with a lower implied volatility than Microsoft, the options would be worth less money initially and the roulette strategy would look even better by comparison.

Now, the shareholder lawsuits could be a problem. So Dr. Evil will have to look for a way to disguise his strategy. Fortunately (for him), there are lots of reckless things a company can do that aren't quite as obvious as playing roulette.</comment></comment></comment></comment>


Anker's wirefree security cam raised over $2M on Kickstarter - <AUTHOR> https://www.kickstarter.com/projects/1116368506/evercam-the-wirefree-security-cam-with-365-day-bat?ref=3ci076&utm_source=crowdcreate&utm_medium=cc_eufy_evercam&utm_content=cc_eufy_evercam <comment><USER2> It seems the power claim of holding a charge for 1 year is because the camera is in standby mode. I suppose if there is enough activity it will drain the power much quicker.

> EverCam having the power to run for 365 days (or 3 years in Standby Mode)

I'm a recent customer of the Wyze Camera. Absolutely love it. What an incredible little camera and all for $20. It requires a power source but otherwise does everything this Wirefree Camera does and maybe more.

[https://www.wyzecam.com/](https://www.wyzecam.com/)</comment>


Google Drops A Nuclear Bomb On Microsoft. And It's Made of Chrome. - <AUTHOR> http://www.techcrunch.com/2009/07/07/google-drops-a-nuclear-bomb-on-microsoft-and-its-made-of-chrome/

<comment><USER3> _Google says the software architecture will basically be the current Chrome browser running inside "a new windowing system on top of a Linux kernel." So in other words, it basically is the web as an OS._

Or, in a bit less sensational words, they are not developing an OS but a _window manager_ for an existing OS. They might also be dropping X11 as they go, but the article doesn't give that away.

This might actually work for netbooks that are mostly used as a fullscreen browser. But I don't see this making any significant inroads on bigger laptops or desktops in the foreseeable future. The technology behind "the web" just isn't up to the task. Wrong tool for the job.

The problems begin on such a basic level that I find it ridiculous someone with the engineering muscle of google is even considering this.

How basic? Well, we don't even have a _Socket_ on this soon-to-be-an-OS platform. That basic. Admittedly it should be relatively simple to add and _hopefully_ the one outcome of this project will be that Websocket finally gains traction (across all browsers).

But it doesn't stop there. The HTML/JS combo is lacking severely in many areas relevant to RIAs. People still have to reinvent basic widgets like comboboxes, datepickers, auto-completion, richtext input, sliders etc. in javascript. CSS is still a nightmare even for simple layouts. Will google fix these problems and break compatibility to other browsers? Don't think so.

So here's what I think they'll deliver: A mangled linux distro with chrome running fullscreen, likely even on top of X11. It'll have a fancy start-page that wants to log you into the google universe first. There will be some flashy widgets and a fancy javascript framework for the windowing - <USER2> overall it will just be a fullscreen browser with all its problems.

I hope they surprise me and do better. Because if _this_ is their plan then I think it's time to sell some of those GOOG shares. Google never needed to hype their products upfront thus far. In that light this is a worrying announcement.

<comment><USER4> I'd have to agree with your predictions.

Some are claiming that rather than hurt Windows, this is going to take the market share Linux "might have had". But I really don't think that Linux users are going to want a system that gives up more of their privacy to Google, and restricts the power of your own computer to what you can do with Google.

</comment></comment><comment><USER5> A spectacular headline, but the article doesn't add anything to the story and offers no new insights.

</comment><comment><USER6> One thing I don't understand: why pre-announce so early?

<comment><USER7> One of the other stories claimed they said it was because (last Thursday) the NYT and Ars Technica reported it. That's what Google _said_ , but of course they didn't have to confirm the stories (and I think they haven't on previous occasions unless it suited them).

So your question remains: why does it suit them now? (Guessing), perhaps part of their evolution into a huge corp?

<comment><USER8> Wild speculation: perhaps they are trying to get out in front of upcoming announcements on actual products to show they are working in this space too? The crunch pad is due out soon and Apple is also believed to have a product in this space as well. If they put this out there now, any publicity for similar products on blogs and news articles will also likely have a blurb that "Google has also announced they will enter this competitive space..."

</comment></comment></comment><comment><USER9> Honestly it looks more like a competitor to the Crunchpad then Windows. At least the CrunchPad can run Skype.

</comment><comment><USER10> _What Google is doing is not recreating a new kind of OS, they're creating the best way to not need one at all._

The OS should seem like it isn't there at all. It should stay out of your way as much as possible, but be there to do what you want as quickly as possible, then get out of the way again. The OS should be like a storybook butler. Discrete, unobtrusive, quietly useful.

</comment><comment><USER11> I hate to use the expression "killer app", but if there ever was one, it would be a computer that "just turns on". This has been Microsoft's Achilles heel forever. I've always said that if there was a laptop that turns on as quick as a Palm pilot, it would steal the market. Now we'll see...

<comment><USER12> The BIOS will have to go away for that to happen.

<comment><USER13> Don't tease me.

The BIOS is one area that is long overdue for some modernization. If the folks over at coreboot.org can do it from the outside, imagine what would happen if mobo manufacturers opened up their specs to the community and embraced what came out of it.

<comment><USER14> What about EFI?

(No, that's a genuine question. I want to know if computers using EFI boot faster than those still stuck with BIOS.)

</comment></comment></comment></comment><comment><USER15> A nuclear bomb? Come on, they didn't even release a direct competitor to Microsoft's OS. Yes, I'm sure it will be streamlined and efficient and very well designed for web apps and things programmed for it, but it still doesn't replace a Windows desktop machine because of its inherently different architecture.

<comment><USER16> One word: games. Consoles have really stepped it up, but a lot of people still use Windows at least partially because of hardware accelerated 3D gaming. I don't see that being Google's netbook OS focus, or many people porting such things to web apps, obviously. Unless they have some secret alliance with OnLive ;-)

<comment><USER17> The market for casual online flash (and now, with V8, pure JavaScript/Canvas) games is much larger than the general 3D-accelerated PC game market.

<comment><USER18> But which market pays for its games?

<comment><USER19> Does it matter, from Google's point of view? A customer is a customer, whether or not they pay for games.

</comment></comment></comment></comment></comment><comment><USER20> just 2 days a go i predicted that google will come out with its own OS - though android - but never expected that in just couple of days my gut feeling will come true ...

<http://news.ycombinator.com/item?id=688732>

</comment><comment> onreact-com What an awful headline! As if a nuclear bomb is something great to use it as a metaphor. Google Hiroshima?

</comment><comment><USER21> Will I be able to run Internet Explorer on Chrome OS?

Edit: People can't take a joke. lol

<comment><USER22> since google chrome runs on microsoft windows, I think it would only be fair if microsoft internet explorer would be allowed to run on google chrome os (under the condition that ms would port it, which seems rather unlikely)</comment></comment>


Rousting the book pirates from Google - <AUTHOR> http://www.nytimes.com/2015/08/30/your-money/rousting-the-book-pirates-from-google.html

<comment><USER2> "As bad, when the company acted, he stated, it would often remove pirated e-books but allow e-book pirates to remain on the site."

This tolerance of outright, blatant theft stands in striking contrast the draconian approach that Google takes to Android app developers who can be perma-banned without appeal from all of Google's services if they are even suspected of minor infringements of Google's policies.

"In May, Google stopped enrolling any new self-publishing authors."

And this is why we can't have (semi) nice things. I love reading crappy fan- fic and worse poetry.

<comment><USER3> I'm impressed that in literally two lines you took two different approaches to criticising Google.

They didn't ban them enough, then when they banned them, that was too much.

What are you trying to say, because it's completely incoherent.

<comment><USER4> It seems a perfectly consistent criticism to me. Rather than do their due diligence, Google threw the baby out with the bathwater by shutting down the whole program.

Sadly that is unsurprising in a tech world that so often likes to pretend it's powerless to police its own content.

<comment><USER5> If Google (very many smart people, massive amounts of data, massive amounts of processing) can't do it then it seems like it could be a hard problem.

The abuse of ContentID on YouTube, or auto-generated DMCA requests, show that letting content owners report stuff doesn't work particularly well at scale.

<comment><USER4> "Hard"? Or just "expensive" and "not easily automated away"?

Because there's a difference.

In this case though, I struggle even to see how _that_ applies. The examples given are literally cases of _identical_ text content between pirated and real works. We've had text figured out for a while now, it's not like it'd take image recognition software to see that the diff between the two books literally amounts to two words for the bogus author's name.</comment></comment></comment></comment></comment>


Ask YC: "I would pay for that" - <AUTHOR>

I'm looking for ideas for a new startup. Venture Capital is pretty hard to get here in Europe, so I'm not counting on any serious backing. It looks like bootstrapping is the way to go. This means that the choices are limited to either a subscription-based service or pay-for-download software: I can't really afford to work on this otherwise.
So I've been thinking about what kind of product to build. However, I realized that most people I know don't really pay for software. People just use free software and when the free software is no good... then well, bittorrent is an easy alternative.
And all of the YC startups on wikipedia (Biographicon, Anywhere.FM, Appjet, Parakey, Virtualmin, Weebly, Xobni, Justin.tv, YouOS, Loopt, reddit, Scribd) don't charge for their service. Everything's free. I don't want to compete with free.
37signals is profitable with their subscription-based software... but they're the exception that proves the rule. Their marketing and branding puts them in a unique position.
DHH advocated (during some YC event) that a good audience is a subset of the fortune 5.000.000. Small businesses, unlike regular consumers, are willing to spend money on software. But it looks like there's a _lot_ of software for small companies already, be it for accounting or CRM... competition is going to be really tough. My brainstorming session didn't amount to much here.
So what should I do?
And as a question to you all: have you ever built a product that people liked, but were not willing to pay a dime for? <comment><USER2> Trying to shoehorn ideas into a specific type of business model is not going to get you anywhere.

I'd say don't even think about how you're going to make money at the initial stages of brainstorming. Look for a legitimate problem and solve it, make sure the people you're solving the issue for see value in the solution your providing, and on your journey to solving the problem you can then start positioning your company as far as what business model route you want to take.

That attitude is just going to lead to you rejecting a lot of good ideas because they'd be offered as free services, or you settling with a crappier idea just so you can start heading down the business model path you want to take, and you worrying more about the business than the problem is going to show in your product.

<comment><AUTHOR> The consensus here is that ideas aren't worth anything because they are found so easily. But if that's true, then there must also be ideas that meet all the requirements. Roughly: (a) solves a problem (b) fun to work on (c) meets a demand (d) people willing to pay for it.

For me it's impossible not to worry (or at least think) about the money. If I build a free web service and need to expand to more than 2 servers then money becomes a serious issue already.

Take Reddit for instance. It was a good idea in the sense that the founders got to a successful exit. However, I wouldn't be able to expand after the first 3000 or so users, and would have to shut down. I don't think Reddit has made any money in the first couple of years, and they burned through $100.000 (crunchbase) before they got acquired. And a website without graphics that basically displays a bunch of links... that's really inexpensive to build and scale.

<comment><USER3> But you're worrying about a problem you don't have and probably won't have. If that's your reasoning behind not doing "x" then I'd argue that you may not be cut out for being an entrepreneur. The entrepreneurs I know tend to be the ones who try to find the way to make it work instead of the type who pessimistically rejects an idea because of the types of reasons you give. Reminds me of a conversation I had recently about taxes - I groaned that it was tax time and the guy I was talking to said that he liked being in the lower tax bracket because he gets a tax refund every year.

</comment></comment></comment><comment><USER4> I work in a small business, and we constantly run into problems that need a small but not trivial solution for a specific purpose that we assume should be fairly common in the market. We look for solutions, and then end up having to roll our own.

Examples: \- We hosted a conference last year. We needed a web site to manage the conference materials and match them with the sessions that were being put on, which would allow presenters to manage/update their materials, and would be protected via passcode for attendees only. Seems like a common problem for conferences, but we found no off the shelf solutions for this, and had to roll our own. We would have rather paid a few hundred dollars and been done with it. \- We need some software to handle recurring tasks, such as building/machine maintenance. It needs to easily accommodate specifying a resource and all the maintenance that goes along with it, and the intervals associated with them. The tasks should then be distributable amongst a pool of people, either through direct or automatic assignment. Pretty straightforward, but difficult to find something that isn't a big pile.

Maybe what is really needed is a web site that serves as a launching point for small business IT shops, where common problems are listed, and software is reviewed that serves to solve each problem. What happens though is that (1) it becomes ad dominated, so you can't trust the websites, and (2) it gets flooded with a million crappy solutions.

Maybe we're just especially bad at locating solutions, but I think if you really want ideas, just target small businesses that are growing, and ask their IT departments what projects they have had to develop that weren't really the company's core business. All those items would probably be target applications.

Caveats: \- Price it reasonably. \- Make purchase an option, rather than requiring month to month terms. Not all small businesses want to pay in perpetuity, nor can we afford to get stuck when a startup goes out of business and our service fails. Selling us the software lets us know it is going to keep working.

Anyway, more than my 2c.

<comment><AUTHOR> Thanks Turtle. Helpful advice.

</comment></comment><comment><USER5> IMO the best approach is to focus on value creation.

Creating 1million in value is a lot easer than you might think. Create 10$ in value for 100k people and your there. Focus the top 1% of the worlds population for whom 10$ is not a significant amount of money and we still have 600million people so you only need to help one out of 6000 of them. Or look for some need brings in 10$ in profit pr year from 10,000 people and your at 100k/year profit which is worth around 1million.

PS: If you got 10$/year from 1/10th of 1% of the us population your talking about 3million a year or ~30million in value.

</comment><comment><USER3> I'd suggest getting a job in the biz (if you aren't already in it), networking, have some fun, and let life take care of itself. The best cheap ideas come from an insider who tries to solve a niche problem for a group that they have intimate knowledge of. Go be a consultant for someone and figure out how to make their life better.

"Confusion creates opportunity" so I'd suggest, after a few years of working for someone else, to find something to streamline or make easier for that niche.

Lastly, bootstrap it by doing it in your spare time for 2-3 years until you build it up enough to support you.</comment>


Evernote's 5% problem offers a cautionary lesson to tech companies - <AUTHOR> http://venturebeat.com/2016/01/05/evernotes-5-problem-offers-a-cautionary-lesson-to-tech-companies/ <comment><USER2> Having read this article, I would be very interested to hear what the author (or anyone else who has the same views) thinks of Amazon. To me, Amazon seems to be an example of a company that does NOT have a focus (or has been widening it's focus from books, to online selling, to pretty much anything) but which has not been suffering for it. Why not? What are they doing right?

</comment><comment><USER3> Dupe of [https://news.ycombinator.com/item?id=7009995](https://news.ycombinator.com/item?id=7009995)

</comment><comment><USER4> The main problem is that the product is just garbage and is getting its lunch eaten by onenote. A note taking program that has terrible stylus support and routinely loses data... Come on.</comment>


N1 – The extensible, open source mail client - <AUTHOR> https://www.nylas.com/n1 <comment><USER2> 82 MB? And I thought The Bat and Thunderbirg with their 30 megabytes were big :)</comment>