Ask HN: Delivery guy is a chemist with 2 teenage kids. Can this happen to me? - <AUTHOR> As I was schlepping boxes with a man 15 years my senior from curbside up to my unit for a $25 tip, we were talking about how back at UofA he developed a 5 carbon ring synthesis method that uses free radicals to protect functional groups.  He told me of his kids one finished grade 12 math in grade 10. How is this possible, in fact common, that the lowest paid people in society often have advanced degrees?  I'm terrified that I'm going to end up the same way. <comment><USER2> I don't know how common it is but a chemist friend of mine retired early. His situation was his company was bought and layed off people, he survived. That company was bought, he survived. The 3rd time this happened, he didn't survive.

Add ageism to the mix and I think it's quite likely you will be out a job before you are ready to retire.

These guys that are saying "maybe he wanted to shlep boxes" are whistling past the graveyard because they don't want to believe it could happen to them.

</comment><comment><USER3> I wouldn't call it common. People with advanced degrees are less likely to end up in low paying jobs: [https://cew.georgetown.edu/cew- reports/valueofcollegemajors/](https://cew.georgetown.edu/cew- reports/valueofcollegemajors/)

But, it can happen for a variety of reasons, including mental illness, illness or other issues with family that result in the loss of a position. Did you ask this delivery guy why he's doing this job if he used to be a chemist? Believe it or not, sometimes people get tired of doing these kinds of jobs and decide instead to do something less stressful. I don't know how old "15 years your senior" is in this instance, but it could be a retirement job or a side hustle to get him through a rough patch. Who knows.

Can it happen to you? Certainly, it could happen to anyone without generational wealth. That is, if you don't have 6 figures invested and generating passive income, you could very well end up doing a low paid job for a long time. Plan accordingly: network, keep up to date with hot skills, and/or marry rich.

<comment><USER4> You need about 8 figures generating passive income by most estimates.

<comment><USER5> Not sure what "most estimates" means but that'd be $400k a year in passive income assuming the smallest possible number and an extremely conservative 4% return -- index funds have been hitting longterm returns around 10%.

Suffice to say, by your passive income alone you'd be in the top 1% of all American earners.

</comment></comment></comment><comment><USER6> Tech is experiencing probably the biggest boom we've ever witnessed. What we're experiencing completely blows away the dot-com bubble.

If you need to trade your labor in order to keep a roof over your head, you are in the same boat as any other person who needs to do the same, no matter the sector or role. The overall trend for labor has been that of stagnation, undercutting via contracting and outsourcing, and replacement.

Companies at the forefront of our industry have colluded to keep engineer compensation artificially low. They were prosecuted for it and lost[1]. Some of those involved who colluded to keep engineer pay low were Google, Apple, Intuit, Pixar, Adobe and Lucasfilm.

At the end of the day, monied interests are actively trying to ensure that you are paid as little as possible for the work you produce. Your fear is not unfounded.

Such a predicament raises questions: What can we, as laborers, do about it? Well, if we look at history, unions were successful at winning things that we all enjoy, like the 40 hour work week and the weekend. Perhaps tech is due for a renewed interested in unionization or guilds.

[1] [https://en.wikipedia.org/wiki/High- Tech_Employee_Antitrust_L...](https://en.wikipedia.org/wiki/High- Tech_Employee_Antitrust_Litigation)

<comment><USER7> I always wondered about this... What if those big tech giants such as Facebook, Microsoft and Google are pushing coding bootcamps and coding education at such a young age in order to dramatically reduce labor costs in like the next 10-20 years.

<comment><USER8> Oh there's zero question that what they're doing. They are greedy and they aren't satisfied with the amount they have.

</comment></comment></comment><comment><USER9> Start of my junior year in chemistry at Alabama, went in to talk to my adviser (his fifth year teaching there). He was sweating over paperwork, said it was the first time he made enough to file a tax return. I said, "Excuse me, I've got to go change my major." And I did. Never looked back.

<comment><USER10> That doesn't make sense. I thought the IRS required tax returns to be filed for any amount of income over $600.

<comment><USER11> Nope. It's $12,000 for 2018.

<comment><USER9> It was actually pretty close to that at that time; at one point I thought it was like $16,000, but I'm not sure.

</comment></comment></comment></comment><comment><USER12> Short answer, yes, it absolutely can. The reason they call it a rat race is that if you stop running (producing at a certain level) you will likely be thrown off the treadmill.

<comment><USER13> Or, perhaps the added stress (both to them and home life) was more than they wanted and they decided to stop running and go for a nice easy walk in the park.

<comment><USER12> That'd be nice, but but raising a family on a package delivery driver's income doesn't seem like a walk in the park either. I don't want to go off on a political tangent but I've always been struck by how capitalism is presented as both the great multiplier of wealth _and_ the remorseless driver of competition and unyielding bottom lines.

<comment><USER9> Honestly, if we can ditch the myopic "quarterly perspectives," I think we can improve some, though the bottom's still gonna be what it is.

</comment></comment></comment></comment><comment><USER14> > How is this possible, in fact common, that the lowest paid people in society > often have advanced degrees?

I assure you, this is not the case in the US. The lowest paid people in society don't often have advanced degrees. They often have no degree or even high school education. Do some people with advanced degrees have low paying jobs? Yes. But I wouldn't say it's 'often' compared to low paid people as a whole.

</comment><comment><USER8> Of course it can. Fancy advanced degrees aren't worth anything - that's just the lie colleges tell you so you'll part with more money. You're supposed to be the valuable part. If you aren't valuable, no matter what that means in your modern market, then you could be living in the streets.

<comment><USER15> And so the truth is laid bare.

Capital > humanity

This is why people is not free to move where they can find the most benefit, but capital is.

Priorities.

<comment><USER16> You could equally interpret that as character > money, like I did. And take heart that $ can't buy everything.

<comment><USER17> Ok, who at the _what_?

Character can't conjure a peanut butter sandwich or rent for an apartment, what do you mean?

</comment></comment></comment></comment><comment><USER18> Whenever I see things like this, I wonder about traumatic medical events. That thought wouldn't occur to me, but when my heart condition was in full force, one of my best friends on the cardiac unit was a severely overweight engineer.

We both reacted to medical trauma in different ways. He decided that he was going to quit his job and live out his days doing something physical. He thought he might get a job doing construction, stocking shelves, or anything where he would have to exercise. He wagered that it was worth taking an 80% pay cut to live for five more years. He was so serious about it that he was even asking if I thought he should keep his P.Eng on an application to work in construction. I didn't understand my heart condition or the lead up to it. So, the day after I got out of the hospital, I bought a pack of cigarettes and started smoking.

Of the people who I have stayed in touch with, not many of us have kept up with our post release resolutions. I quit smoking after about six months and took up running. One buddy took a partial early retirement and only works three days a week now. So, maybe medical trauma has absolutely nothing to do with any of these really major life changes. But to this day, whenever I hear of a story like that, I'm reminded of my friend who decided to trade in a very good engineering job for a gig in construction...

</comment><comment><USER19> There was a survey in Silicon Valley some years ago that showed that this kind of fear goes pretty far up, plenty of millionaires fear falling off the gravy train.

I do my family's grocery shopping, and I have several times noticed new clerks at the checkout, men in the 40-65 age range who are a little too well dressed -- very nicely ironed and starched white shirts, fashionable ties and watches. They seldom become fixtures in their new positions; which way they go, IDK.

<comment><AUTHOR> I'm the OP. I'm CEO of a small biotech company. I'm terrified, constantly, of falling of the ladder, and never again be trusted to do anything of value again. I worry that I won't be young much longer and if this one doesn't go out of the ballpark then it's game over. I'll be at Trader Joe's bagging your groceries.

Edit: Began as EE, hence my connection to HN . There isn't anything close to this community anywhere else.

<comment><USER20> I've failed before, so here is the perspective of someone else who "fell off the ladder".

It is good to be a little scared of failure. But you don't need to be terrified. If you are still young, you will have time to recover. It may have its bad moments ([https://news.ycombinator.com/item?id=13445141](https://news.ycombinator.com/item?id=13445141)). If failure looks imminent, make a plan B. But you don't need to live in fear.

Instead, look at what other lessons you can take from meeting the box-lifting chemist. Here is a guy with an advanced degree in chemistry who is working for peanuts. This could be an opportunity for you and him. When I was bankrupt, a complete chance encounter led to the job that pulled me out of that situation. I was having no luck getting a technical job. But while I was getting a haircut for another failed job interview, I told the hairstylist how difficult it was to find a job as a physicist. And she said, "Oh, I know a guy who is looking for physicists". She gave my number to a physicist who ran a small company. He hired me and it was a mutually rewarding relationship. He also hired other down-on-their-luck physicists and programmers. One of the current directors of the company was notably hired when the company founder met him as his waiter in a Chinese restaurant. By keeping his eyes open, this founder got great talent at a good price and now his company pulls in over $50M/yr revenue.

If things go bad, maybe you'll meet someone who pulls you back up while working at Trader Joes. If things go well, maybe you will be the person who pulls someone up.

<comment><AUTHOR> Thank you for this. I also read your previous post that you linked to.

</comment></comment></comment></comment><comment> d-sc Producting things that make people willing to pay you money can be very different than the skills emphasized in advanced degrees.

As long as you understand how you bring value to others, you'll probably be fine. Conversely if you don't, one job loss could knock you out.

</comment><comment><USER21> Is this UofA as in University of Arizona? As in Tucson, Arizona? Tucson is one of the most economically depressed regions in the nation, for a major city (see: [https://www.azcentral.com/story/money/business/economy/2018/...](https://www.azcentral.com/story/money/business/economy/2018/06/28/tucsons- economy-hasnt-fully-recovered-great-recession/681306002/)).

I imagine this man just might be overqualified for an already poor job market, and is doing whatever he can in the mean time to make ends meet.

Side note, I did attend UofA for undergrad. Loved it, the school and the education were great. Unfortunately Tucson just isn't a good place to be if you're trying to have a real career. Unless its a medical career at Banner or some research career that aligns with the university's strengths, I recommend to a lot of UofA grads leave Tucson.

EDIT: If its not UofArizona that you're talking about, just ignore everything I said

<comment><AUTHOR> University of Alberta in Edmonton. I live in Vancouver and the delivery was here. Edmonton has had lots of oil related jobs.

</comment></comment><comment><USER22> I once had an accomplished scientist apply to a customer support role in my company.

The reason she applied for an $18 p/h role was simple: burnout. She'd been burnt out on long hours of grinding research and wanted something that allowed her more flexibility.

I gave her a shot, but she genuinely wasn't a good fit for the role.

In the end, she took a course on coding and is now doing quite well as a back- end developer in the Bay Area.

</comment><comment><USER23> I got the impression that you're seeing into this too much, perhaps because you yourself have legitimate fears of failure and are turning the delivery guy into a symbol of that.

No one's life is alike. You don't know what life circumstances brought the guy from chemistry degree to delivering stuff. They could haeve been in his control or not.

What you saw was a person at a single point in time. Whatever your takeaway was, doesn't define who he is or what his life will be like forever.

</comment><comment><USER24> I have seen this happen to people I know. They don't have bad personalities or bad habits, etc. From what I have seen it is sometimes that the jobs dried up or were in places they couldn't move to (big mortgage, kids and family can be a barrier). My middle school computer scienece teacher whom I looked up to eventually became a mail courier. Advanced degrees aren't a golden ticket and always being on the lookout for better opportunites is necessary. Don't fear being low paid, fear being redundant. Your future is what you make it.

</comment><comment><USER25> Intelligence is wonderful but it alone does not make one well-off.

The short answer is that you get rich by leading, not by following. So unless that intelligence comes with a disposition to build a business or at least lead others then you don't get rich. Going with the flow and getting a delivery job like everyone else keeps people poor.

</comment><comment><USER26> Even Rocket Scientists - [https://www.npr.org/2011/07/11/137677198/end-of- shuttle-prog...](https://www.npr.org/2011/07/11/137677198/end-of-shuttle- program-leaves-thousands-jobless)

Always plan for a rainy day, and don't take it personally.

</comment><comment><USER27> Every time there's a recession, people get laid off and can't find work. After 6 months, 9 months, stocking shelves or bagging groceries starts looking pretty good. Pro Tip: don't mention your advanced degrees when you apply for the job.

</comment><comment><USER28> > I'm terrified that I'm going to end up the same way.

First off - we don't know that guy's life situation. That is, what did he do after graduation? Or - maybe he was successful, and does delivery just to have something to do while he gains royalties on all his patents? Or maybe he enjoys physical work more than doing chemistry at some company? Or maybe he was employed, then convicted of some crime he was a part of with an employer? Tons of possibilities, we (and probably you) just don't know what led him from there to here.

There's no way to know if this is how you'll end up; but your first question should be why you feel you may end up the same way?

What is it about your current situation (employment, life, etc) that may cause you to "fall down the ladder"? If you can answer that, then you'll have at least a clue as to what to do or try to prevent it.

I'll use my current situation as an example (maybe even a warning?):

I'm a software engineer - big whoop, right? So are a lot of people.

I'm also 45 years old. I've been a professional SE since I was 19. Unfortunately, I didn't do everything I probably should have done, and now I am making up for "lost time".

Biggest mistake: Not saving my money early. In fact, it took me a long while to learn to save money - and also to get off the credit spending cycle. Fortunately for me, I broke out of it - and today I am "debt free" (I call it "Dave Ramsey Debt Free" because I still have a mortgage - but that is secured debt, so it doesn't really count). I have a lot of savings - not as much as I could have had, but more than the average American does.

That gives me some flexibility - mainly in my career. I have what could be termed "FU" savings. Basically, I can tell my employer to "take a hike" if I want, and still be able to live comfortably for a while until I can find another job (not that I want to - I like where I'm at right now).

One thing I have done over the years to insulate myself from being unemployed has been two-part: I keep my skills up-to-date and varied (everyone should do this), but I also, in the field of being an SE, keep my skills general enough that I can apply my knowledge to get up to speed on whatever it is that my employer may need or want me to do.

I don't focus on the skill or language "du jour" so-to-speak. Chasing that demon will only lead to fruitless heartache, if not a lot of stress. Instead, I seek to improve my skills in more general avenues that can be applied more narrowly to situations.

To that end, in recent years I've been pursuing using online resources - learning what I can about ML/AI; I've yet to use what I've learned at an employer (these new skills have included a focus on self-driving vehicle technology - but there's a lot of general skills even in that which could be applied more broadly, which is the takeaway I seek when I pursue self education opportunities) - but I believe that having them may help me to find future employment if necessary.

That said, I do worry about hitting some kind of an "age ceiling" given my current age; one area that I've never had an opportunity to try has been that of "management" \- I've never been a team lead, or a manager of a team, or anything like that. I don't know how to gain that experience except by doing it, but if you are never given the chance to do it, you never gain it. Furthermore, I am not sure I would be good at it - but I've never been tasked with it. I worry that this lack of management experience may hinder me going forward as I get older.

But I have no choice here, except to keep doing what I have been doing that's been successful for me.

That's about all you can do yourself - try to find a career you can enjoy going to every day, make yourself relevant to the business needs, continue your education, especially towards more general knowledge in the problem domain that can be adapted more narrowly if needed, and in the meantime, increase your savings and reduce your unsecured debt load (ideally to zero).

I can't speak toward investment or anything like that - those are other skills and such that I lack, and I don't know how to gain them. I'm not even sure at this late date if such knowledge would matter. But if you are young, you might look into such a thing, whatever "investment" means for you.

There's no guarantee that any of this will prevent you from becoming a "service worker" \- or someone with an advanced degree working for a pittance. All you can do is to do what you can to prevent it, and know that may not be enough in the end. But it may be enough to slow things down during the "fall" \- should that happen - that you can pick yourself up and figure something else out to reverse your fortunes.

Oh - one other thing I forgot: I don't have kids - that was a decision my wife and I made a long time ago. Not having kids helps greatly with savings and debt-load issues. But that's another choice to make; everyone is different in regards to whether to have children or not, just realize that they can be both a "burden" and a "blessing" \- and to plan accordingly, for before and after should you decide to raise some.

</comment><comment> King-Aaron Was he happy doing what he's doing though?

Don't get so caught up with money. And don't judge people based on your perception of what their income might be.

</comment><comment><USER29> One thing to keep in mind is that Barry the Box Schlepper might have chosen that career. There are plenty of people who decide they want to do something different. Heck, YOU might talk to Barry, learn how much he enjoys his work, and decide what sounds way better than mucking with beakers & Bunsen burners. While that path is not for me (today), I can see the appeal of doing predictable, physical work during the day & having a lots of unspent creative energy on nights & weekends.

</comment><comment><USER30> Make wise decisions with your money. Save some, put in in index funds. Make FU money. Learn to manage the stock market.

</comment><comment><USER31> I think ageism is too overstated in tech industry. If graduates with zero experience can get work, then it doesn't make sense that senior software engineers should struggle in the job market.

Personally, I see the opposite with many job posts asking for minimum X years of experience. If a programmer with many years of expertise is jobless it says more about their personality and their ability to fit culturally speaking. Perhaps they're just applying for the wrong jobs, or use the wrong rhetoric etc.

Too many programmers are concerned with their skill level and less with their ability to communicate their potential. That's what it comes down to when everything is taken into consideration.

<comment><USER5> The reason 'ageism' is a thing is because many tech companies view labor costs > all.

Two people are applying for the same job. One is a guy with 2 decades experience in relevant technologies, the other is a fresh graduate who did an internship at a tech company. One of the big differences here are expectations. The experienced individual is going to demand substantially higher pay. They also are going to be less willing to live their job than a fresh grad due to a better understanding of the employer:employee relationship along with the fact that they likely also have more obligations outside of work, such as family. The fresh graduate is going to underestimate his own worth, be eager to please, and have fewer obligations as well as likely being more willing to put those aside for the job.

Because of this you're going to end up paying _substantially_ more for the more experienced employee. How will that affect your product? It'd _probably_ be good, but that's not a given. And even if it does result in a better product or a more efficient deployment time, how does that contrast against your increased labor costs? And this is all talking about things in terms of a meritocracy. In software, hype and marketing play a huge role in many product's success, meaning there's even less reason to optimize for the most capable teams.

As an aside this is also the reason for the huge push for getting [x into computer science]. It's great optics for public relations, but increase the labor pool and guess what happens to labor prices? Mega corporations such as Google and Apple are pushing upwards of 100,000 employees. Reduce average labor costs by 10,000 a year and that's well over a billion dollars of recurring profit per year - keeping in mind that when a company pays an employee e.g. $10,000 they end up paying substantially more than that in various compensation-scaling taxes and other disincentives.

As our capable labor market has exploded relative to the quantity of desirable jobs, many wages have stagnated. Tech is the exception. It's a field where demand is still in line with supply which keeps wages going up. This [1] is an archive link to Glassdoor's reporting on Google salaries. The inflation there is remarkable. In 2010 a senior software engineer made $125k. Today, 9 years later, they make $165k, a 32% increase. Inflation during that period has only increased by about 15%.

[1] - [https://web.archive.org/web/20100601000000*/https://www.glas...](https://web.archive.org/web/20100601000000*/https://www.glassdoor.com/Salary/Google- Salaries-E9079.htm)

</comment></comment><comment><USER32> Maybe his kids are doing well because he has a lot of time to be a great dad and coach them?

Life happens. Shit happens. Kids happen. Enjoy the ride and don't terrify yourself about money or what your life should look like. We all get 24 hours a day on the planet and from a long term perspective, almost nothing of what we do really matters. Maybe by moving boxes instead of schlepping in a lab for some deranged sociopath like Elizabeth Holmes, the guy gets to spend a couple more priceless hours with his kids? The same kids that are going to be so far ahead because of his great mind that they will take care of him once they're adults and he has his time back once full-time parenting is over..

tldr: you sound very young so ponder this tip from a very wise zen teacher I had once "your life doesn't have to look like anything."

<comment><USER33> Reminds of Heinrich Böll's wonderful anecdote concerning the lowering of productivity. [1,2] I would recommend anyone reading this comment to check it out. It's an entertaining and enlightening short story.

[https://en.wikipedia.org/wiki/Anekdote_zur_Senkung_der_Arbei...](https://en.wikipedia.org/wiki/Anekdote_zur_Senkung_der_Arbeitsmoral)

[https://www.uni- hildesheim.de/media/_migrated/content_upload...](https://www.uni- hildesheim.de/media/_migrated/content_uploads/Translating_Heinrich_Boell.pdf)

<comment><USER34> That story is much better known in English as the parable of the Mexican fisherman. In fact, it gets repeated in self-help and business circles so often that it has become a cliché. But I had no idea that it was taken from Heinrich Böll, and I'm sure few of the people repeating it do either!

[https://hn.algolia.com/?query=mexican%20fisherman&sort=byDat...](https://hn.algolia.com/?query=mexican%20fisherman&sort=byDate&dateRange=all&type=comment&storyText=false&prefix=false&page=0)

</comment></comment></comment><comment><USER35> Yeah such is life. What's worse, some of the people who shouldn't possess wealth are some of the richest people on earth. (think El Chapo).

</comment><comment><USER36> Walter White

</comment><comment><USER37> Don't have kids. Don't buy a house. Spend significantly less than you earn.

Or just earn a shitload of money.

</comment><comment><USER38> They care more about their work then money.

<comment><USER39> organic chemists care about delivering boxes? I wouldn't be so sure

</comment></comment><comment><USER40> I know a very smart individual in India who worked as a watchman (nighttime security guard) for a salary of 200 $ per month (PPP ~1000 $) who lived in < 125 sq ft dwelling</comment>


Tesla crosses $100B stock market valuation in extended trading - <AUTHOR> https://www.reuters.com/article/us-tesla-stocks/tesla-crosses-100-billion-stock-market-valuation-in-extended-trading-idUSKBN1ZL046 <comment><USER2> Noob question: Does a higher valuation help expand faster ? So is it possivle Tesla can now plan for GF5,6,7,8 at an accelerated timeline ?

<comment><USER3> Higher valued companies usually have more capital to do things so timelines may move up. Tesla has always been highly valued by the market though, even their bonds.</comment></comment>


Show HN: GrapeJS – Free and Open Source Web Builder Framework - <AUTHOR> http://grapesjs.com/ <comment><USER2> I am planning to integrate this in my project and convert those "Drag&Drop elements" to "Drag&Drop dynamic elements", so say you can drag and drop a "list of products" somewhere and style it on there itself, save to deploy.

<comment><AUTHOR> Would be interesting to see how you do this. If you can, write a blog post or something when you are done. Thank you in advanced.

<comment><USER2> In Short:

Two parts:

\- Storage

Daptin connects to a storage (eg google drive) using rclone, we upload a zip which goes to gdrive. That was how the site is stored.

\- Serve

Another part of daptin is "sub site", where we say "serve this storage folder" under this sub-domain/sub-path

GrapeJS is injected to the page if editor permission is given to current user. Changes by GrapeJS will reflect back to original storage (thanks to rclone)

Now that allows us to make static sites. But daptin already is exposing JSON apis for all your data. So along with those built in "Static drag and drop components", New "dynamic" components, which will act as "templates" for the data coming in via json api.

Plus we also have actions, which take in inputs like form submission, so the form inputs can be pointed to those actions.

Will write a longer article soon along with gifs.

</comment></comment></comment><comment><AUTHOR> I am NOT the author of this project. With the submission of a similar project a few days, I just though that maybe others would like to know of this one as well.

<comment><USER3> Thanks for the heads-up. Can you link the previous submission?

</comment></comment><comment><USER4> I like the layout, but I still find it way too confusing, especially compared to Carrd.co or the like (not affiliated with them, I just use the service). Look cool though, and the demo is pretty snappy.

</comment><comment><USER5> Shouldn't it present itself as a "visual HTML editor" or something like that? "Web builder" is confusing.</comment>


Quantum computers and black holes - <AUTHOR> https://www.journals.elsevier.com/annals-of-physics/highlighted-article/quantum-computers-and-black-holes <comment><AUTHOR> ... where the geometry of spacetime creates entanglement!!</comment>


What it feels like to survive Covid-19's dreaded "cytokine storm" - <AUTHOR> https://www.salon.com/2020/04/05/what-it-feels-like-to-survive-covid-19s-dreaded-cytokine-storm/ <comment><USER2> My understanding is, this cytokine storm is the big killer that defines who dies that would be expected not to die

"Increase of two serum cytokines may predict severity of COVID-19"...

[http://www.ecns.cn/m/news/sci-tech/2020-02-18/detail- ifztrmv...](http://www.ecns.cn/m/news/sci-tech/2020-02-18/detail- ifztrmvi9826124.shtml)</comment>


Why Duke Killed the Durham-Orange Light Rail Project - <AUTHOR> https://www.citylab.com/transportation/2019/03/durham-light-rail-duke-gotriangle-transit-research-triangle/584839/ <comment><USER2> They were going to hit up the Federal government for _almost half the cost_ but not even _apply_ for that in the first 20 years of planning?

<comment><USER3> That would be a bit crazy because the line for funding is about 15-20 years long. Seriously ten years ago Gov Christie killed the replacement train tunnels between New Jersey and New York and it took ten years to get them refunded. And then President Trump killed that.

<comment><USER2>
      That would be a bit crazy because the line for funding is about 15-20 years long.

_Exactly!_ Yet they hadn't even _applied yet_. Quoting: "an application to the Federal Transit Administration was due _this spring_ for federal funding of $1.25 billion"</comment></comment></comment>


Grads: Skip the Bank Job, Join a Startup - <AUTHOR> http://www.bloomberg.com/news/2012-06-13/grads-skip-the-bank-job-join-a-startup.html <comment><USER2> I work for a bank, and I will be the first to admit that I contribute nothing to society. I'd gladly join a startup in Silicon Valley if I could (1) pay my $500/month student loan, (2) keep a roof over my head, (3) keep clothes on my back, and (4) feed myself. If your software has bugs, chances are great that I'll find them. I routinely break the platform (not on purpose) we use for risk management.</comment>


Ask HN: C with lambdas? - <AUTHOR>

I was wondering if there was a language which would qualify as C with lambdas. To expand on that notion, I'm specifically looking for a language with manual memory management like plain C, functions as a first class citizen and eventually closures (although I'm not sure how that would fit with the manual memory management).
The reason why I really like C is that it's possible to finely tune data structures and optimize both for spatial and temporal complexity. However, the inability to use more abstract constructs such as lambdas and closures are in some cases a real PITA.
If this hasn't been done, any ideas why ? Is it technically feasible ? <comment><USER2> Look at Apple's blocks (LLVM/Darwin and FreeBSD only, I believe), GCC's anonymous or nested functions (may be supported by LLVM too, they tend to copy GCC language extensions), and (a very restricted subset of) C++.

Also note that C is easy to parse. It's definitely possible to write a C-to-C compiler that supports parts of Apple's syntax (e.g. "oneFrom = ^(int anInt) { return anInt - 1; };"), just by replacing every ^ by a function pointer to a function defined at the end of the current file.

Of course, blocks is much more than that (e.g. includes memory management), and there _is_ a reason for that...

</comment><comment><USER3> Have a look at:

[http://stackoverflow.com/questions/208835/function- pointers-...](http://stackoverflow.com/questions/208835/function-pointers- closures-and-lambda)

This may help your thoughts in this direction. I'm beginning to think that lambdas/closures/function pointers are design techniques that we should be more fully exposed to in many languages. Of course there are trade-offs and limitations regardless of programming language, but it seems like you can get the most mileage maybe of _thinking_ about your program design in those techniques rather than requiring some specific implementation of a lambda or closure structure.

I'm not expert in this area - look into it more, write something up, and post back to us here.

<comment><AUTHOR> Thanks, interesting read. Will certainly follow up if I find more interesting stuff.

</comment></comment><comment><USER4> Link to GCC anonymous function example:

[http://en.wikipedia.org/wiki/Anonymous_function#C_lambda_exp...](http://en.wikipedia.org/wiki/Anonymous_function#C_lambda_expressions)

</comment><comment><USER5> C++ has lambdas.

<comment><AUTHOR> I should clarify : I'm not looking for an OO language or something with all the bloat of C++. Just a minimal superset of C with lambdas.

<comment><USER6> "Just a minimal superset of C with lambdas"

You pretty much exactly described Objective-C with that statement. I'm not sure if you intentionally meant that or not?

<comment><AUTHOR> I guess I haven't looked into Objective-C that much, basically just stopped after seeing all the NS* addons, I'll definitely take a longer look, thanks.</comment></comment></comment></comment>


Introducing the next-generation of 8-bit megaAVR MCUs - <AUTHOR> http://atmelcorporation.wordpress.com/2014/11/11/introducing-the-next-generation-of-8-bit-megaavr-mcus/ <comment><AUTHOR> One of the really interesting things from article that Atmel is doing here is releasing _very_ low-cost eval boards for the new chips:

[http://store.atmel.com/PartDetail.aspx?q=p:10500404;c:100113...](http://store.atmel.com/PartDetail.aspx?q=p:10500404;c:100113#tc:description)

[http://store.atmel.com/PartDetail.aspx?q=p:10500392;c:100113...](http://store.atmel.com/PartDetail.aspx?q=p:10500392;c:100113#tc:description)

Also happy to see improved internal RC-oscillator support. I had to jump through some hoops to self-calibrate my project [1] for 9600 baud serial.

If there's one thing I'd ask from Atmel, it's that they release a low-cost, multi-core AVR. Right now there's a lot of timer juggling if you want to do more than one thing at once, and a second core would drastically improve that.

[1] [https://github.com/mmastrac/gpsclock/blob/master/displaydriv...](https://github.com/mmastrac/gpsclock/blob/master/displaydriver/calibrate_serial.c)

<comment><USER3> The very low cost evaluation boards almost make up for not providing DIP packages.

<comment><AUTHOR> Yeah, that's one thing that irked me here. I imagine that Adafruit and/or Sparkfun and/or Chinese resellers on eBay will fill the void and we'll end up with a dip-like breadboard.

From the datasheet, it looks like they've explicitly dedicated those four extra pins to I/O, so I imagine this means there will never be a DIP equivalent. Is a sign that DIP packages are on the way out?

<comment><USER4> DIPs have been dead for a long time, with only a few exceptions.

Replacement parts, hobbiest markets, and some optocouplers with huge spacing requirements are the only ones I can think of off the top of my head.

RoHS requirements were one of the final nails in the coffin, but even before that the material costs were really eating into profit margins - <USER2> for the larger microcontrollers.

For the older standard parts, I think RoHS requirements forced die redesigns, and manufacturers didn't want to pay for an obviously dead trend, so a lot of old packages got dropped then.</comment></comment></comment></comment>


Ask HN: Are you still using Socket.IO? - <AUTHOR> It seems that Socket.IO development has stalled again (lot of open issues and pull requests with no answer) so I started looking for a viable alternative.
Searching on Google I found some interesting projects like SockJS or SocketCluster.
What do you think? Are you still using Socket.IO? <comment><USER2> Take a look at [https://github.com/primus/primus](https://github.com/primus/primus).</comment>


Ask HN: Data assets – Automated filesystem exploration? - <AUTHOR> Given the task to list and inventory a bunch of data assets on a large amount of drives, what would be your go-to tools?
Is anyone aware of any software, scripts, etc. that might help in the task of finding "interesting" datasets on very large filesystems?
Anything helps. Thanks. <comment><USER2> What kind of "interesting" data are you looking for and in what environment. I'll assume you are doing some type of forensics. Maybe these tool can help you?

[https://www.sleuthkit.org/autopsy/](https://www.sleuthkit.org/autopsy/) [https://www.volatilityfoundation.org/](https://www.volatilityfoundation.org/)</comment>


The Anthropology of Hackers - <AUTHOR> http://www.theatlantic.com/technology/print/2010/09/the-anthropology-of-hackers/63308/ <comment><USER2> _one also gets a whiff of an ideological scent among hackers_

Well, that made me laugh.

Yeah. Just a whiff :-)

</comment><comment><USER3> Why does every study on hackers I've ever read start with how they're misunderstood and that it hasn't been seriously investigated before?

<comment><USER4> Well - have they?

I got interviewed by her the last time I was in the bay area. Nice person, and she has certainly spent a lot of time learning about different groups of hackers.

<comment><USER3> I would agree the general public has a murky understanding of the term hackers. But there have been plenty of similar exposés, Steven Levy's probably being the best known, however a little bit out of date.

<comment><USER4> I think what she is doing falls more towards actual academic research, although of course it's not a hard science.

</comment></comment></comment></comment><comment><USER5> dan_farmer = mullet of the century.

<comment><USER6> Makes me wonder about Wietse Venema's hairdo.

</comment></comment><comment><USER7> Definitely sounds like an interesting class!!</comment>


Show HN: A privacy-focused JSON pretty printer - <AUTHOR> https://nicejson.com <comment><USER2> I usually use jq [0] for this:

        pbpaste | jq

[0]: [https://stedolan.github.io/jq/](https://stedolan.github.io/jq/)

<comment><AUTHOR> I used to do it a similar way, but often I ended up copying everything up to the final `}` character (or sometimes the input has single-quote characters rather than double-quotes), which causes the JSON to be invalid. NiceJSON takes the input (even if it's malformed), attempts to construct an abstract syntax tree using json-ast[0] and then serializes the output (which should be well-formed JSON).

[0]: [https://www.npmjs.com/package/json- ast](https://www.npmjs.com/package/json-ast)

</comment></comment><comment><USER3> I like the idea of pasting to see the formatted output. I needed something like that - so I built this for this purpose [https://devstuffs.mustak.im/formatters/json-formatter- beauti...](https://devstuffs.mustak.im/formatters/json-formatter-beautifier)

</comment><comment><USER4> Very nice!

I have a small bug report: When you first paste something NiceJSON doesn't understand (like an image) and then you paste some valid JSON, the page will become blank (no error messages). You have to refresh and re-paste to see the JSON you tried to paste.

<comment><AUTHOR> Thanks for the feedback, I'll look into that later :)</comment></comment>


The mess Django's in - <AUTHOR> http://mockit.blogspot.com/2010/04/mess-djangos-in.html

<comment><USER2> I've only looked at a small portion of the underlying django code and from what I've seen there were definitely some complicated parts, but it was far from being messy. Perhaps the author is confusing necessary complication with messiness? After all, isn't the purpose of a high level framework to hide the messy details and allow you to express your ideas clearly and efficiently?

I have read and understood all of web.py and am currently buried up to my head in rails actionpack routing code, both contain some hairy bits of code. By pushing all these messy details down into the library they allow the application developer to be more expressive and concise. As long as there are tests, comments, and documentation to back up the complicated bits, I don't have a problem with a library or framework not being obvious to understand at first glance.

</comment><comment><USER3> I couldn't disagree more that Django's code is horrible. In my experience (which isn't much to be honest), Django's code is a pleasure to read.

That said, I do think that a case can be made that Django's architecture has some definite warts. Whether or not they are a huge deal is largely a matter of opinion. For instance, I do agree with the author that Django does have a bit of an overreliance on import-time side effects. I particularly don't like the fact that I can't even _import_ some parts of Django without having a settings.py defined. On the other hand, I don't know how difficult it would be to change it.

</comment><comment><USER4> Not sure I could disagree much more with this. Firstly, I think the power of Django's inbuilt functionality more than makes up for whatever aesthetic problems there might be (I haven't checked) with the underlying code. That's a trade-off I'm very willing to take. Secondly, I'd rather go with messy code and an active bug-fixing and development team than beautiful code that no-one touches. Plus, there's no 'kool aid drinking' going on here. In fact there's surprisingly little razzle-dazzle about Django. All I know is that it helps me build what I want to build, fast, and the documentation is the best I've ever seen for just about anything.

<comment><USER5> You have to drink the kool-aid. Django has managed to develop all of its own components. It's not impossible to switch out one of those components for a better one, but you'll be fighting the framework to do it. That's because the Django framework likes to use the Django components. If you don't drink the kool-aid, you're missing the point.

It's a decent framework for what it is and has a large community behind it. Some of the best marketing in a Python project I know about.

Just from memory, the last time I looked at the ORM code it was pretty bad. There were functions that ran on for hundreds of lines without comments or docstrings. Plenty of introspection being used to bypass encapsulation. It wasn't impossible to follow, but it did look a little haphazard and "thrown together" (as opposed to thoughtfully planned out and designed).

SQLAlchemy otoh, is a really good example of well designed and clean code. As far as ORMs and database interfaces go, they have some very clear ideas and concepts they've built up from.

The "mess" I think Django may find itself in is that there are frameworks built on third-party libraries that are easier to use and better to use than Django. Its ORM isn't as great as SQLAlchemy. Its templating engine isn't as great as Mako. For a framework as large as Django I think they will find it harder and harder to keep up with what everyone else is doing as long as they continue to believe that they can "code it all."

<comment><USER4> Following the conventions of a project in order to take advantage of its strengths is not 'drinking the kool-aid'. If you need custom components and find it hard to integrate them, use something else. Nobody's forcing you to use Django.

Your thoughts about the templating engine vs Mako, and the ORM vs SQLAlchemy are subjective. You should recognize this. I don't mean that one is not better than the other. I just mean that 'better' is really 'better for you and what you want to do'. For me, Django is perfectly sufficient. Similarly subjective is the value you put on 'clean code'. I happen to value a community that tests and makes sure it all works. That is also subjective. Don't confuse your preferences with actual problems with something you are evaluating.

Django works for me, very well. I didn't drink any kool-aid. If it doesn't work for you, that's fine. But if you think the fact that it doesn't work for you, or meet your standards, means that the project is in a mess, then I think you are the one missing the point.

<comment><USER5> I should recognize what, exactly? That you're using relativism as a red- herring? I meant what I said, thank you very much.

Not everything is created equal.

SQLAlchemy's ORM is just better than Django's ORM. Better in the majority of objective metrics you can think of. The code is well designed, structured, and documented. It supports better features and more databases. It's not just better because "it works for me."

I didn't say that the Django project itself "is a mess." It still has a great community and leadership. It still has great marketing and strong appeal for a niche audience. What I did say was that Django may find itself in a mess when competing frameworks provide more than Django can offer because they rely on a community of components that individually are better than those offered by Django.

I should mention I base my hypothesis on years of experience developing large and small sites and applications using Django as well as a few years developing websites using other frameworks and using SQLAlchemy.

<comment><USER4> You're not understanding me.

You say A is better than B, objectively.

I'm telling you that B suffices for my purposes. Given that, the fact that A is objectively better than B doesn't really matter. That fact's importance is subjective. You find it important. I do not.

So you should recognize that what you find as a fault is not necessarily a problem for others, and therefore not necessarily a problem for the project.

<comment><USER5> By taking the "it works for me" (relativist) position, you're avoiding the central argument.

The OP pointed out that Django's reliance on internal dependencies and import- time side effects is a bad thing.

I agreed and added that the internal components themselves aren't bad, but that it's the superior components that other frameworks are using that makes Django bad.

There are a lot of people out there who could justify using COBOL by your same logic.

I think Mark Ramm was being more prescient than most people give him credit for when he suggested Django could go the way of Zope if it doesn't open up to the wider python eco-system.

The Django ORM isn't the best ORM available and I think it hurts Django to not be able to take advantage of better ORMs without having to sacrifice its core features (admin, authentication, etc).

<comment><USER4> I'm not avoiding your argument. I'm telling you it's fallacious.

Technologies don't come and go according to whether they're better or worse than other technologies. They really don't. They come and go according to whether enough people decide to use them, or engage with them, or develop them, and so on. If it were as you say then no-one would be using php, which plenty of people would agree is 'worse' than its alternatives.

I mean, you're sort of right. Your argument is just missing a step. It may be that Django's difficulty including other toolkits is a weakness. But that only matters when enough people decide it matters.

You can call that relativism if you like. It doesn't make any difference. But it could just be that Django works fine enough.

Feel free to point out how wrong I am, but if you do it from a qwerty keyboard (an 'objectively' bad keyboard layout), you'll only be proving my point. Problems are only problems when they're problems for people.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> I mostly agree with the author of the article: ever try to modify the User object to accept an email instead of username for login purposes? It's a complete hack.

The thing is, it didn't _need_ to be a hack, but some of the core components are really tightly coupled together when they don't need to be, so it ends up being a hack. This tends to happen a lot when you 'go outside the box' of Django's codebase.

For example, everyone says you can 'use SQLAlchemy' in Django. On paper this is true. But then you lose the admin, the user auth system, the messages system, model forms, and all of the other batteries that make Django useful.

That said, the alternatives to Django are so incredibly lacking that (for the moment), I'd rather stick with Django than roll my own everything else. Pylons and Turbogears are an ugly mish-mash of third party libraries that don't work well together. In some cases there are good third party libraries (SQLAlchemy is indeed quite an amazing piece of software), but many other pieces are lacking:

      - Authentication/authorization libraries are terrible.
       (You want to bury that in the middleware layer and use
       query string parameters to indicate login failure? What?)
      - Nothing out there is as good as Django's model forms.
      - There is no equivalent to sorl-thumbnail, for basic image processing.
      - The boatload of third party Django apps. Yes, most
        of these are poorly written and not modular enough either
        but there are some really useful ones out there like django-pagination
        and django-compress.

Django is far from perfect but unfortunately, taken as a whole, it's still better than the current alternatives.

<comment><USER7> I agree with your conclusions on Django auth (and I really hate the UserProfile hack) - and once you start swapping out the template engine and ORM you lose much of the usefulness of Django (as well as most of the 3rd party apps).

If you take away admin, auth etc I really don't see much that's compelling about Django. However you are also correct about Pylons - I would like to recommend it but the documentation is terrible and has its own share of hacks (the "c" global, @validate decorator etc).

Rolling your own isn't _that_ painful though - you might want to look at Werkzeug. Coupled with SQLAlchemy and Jinja2 you have a really nice DIY framework for very little effort, that grows with your project. I'd also like to mention WTForms which uses a similar pattern to Django forms and is very easy to use and extend.

The Flask microframework, while just a few weeks old, is built on top of this toolkit and looks very promising, especially for beginners to Python web development or smaller projects.

<comment><USER6> Yes if I rolled my own it would almost certainly be on top of Werkzeug/SQLAlchemy/Jinja2.

The history of Flask is amusing but I'm not particularly interested in _another_ microframework - 80% of web app development is doing the same boring shit over and over again (user logins, permissions, registration, form processing, image uploads, password resets, REST apis, etc). Microframeworks punt on all of that stuff and expect you to reinvent the wheels there.

We don't need more microframeworks in the Python world, what I really want to see is a full stack alternative to Django that took care of all of the boring stuff so web app developers could focus on the 20% of work that makes their app really unique.

<comment><USER7> The problem with something like login/registration is that on the one hand it's a repetitive task, on the other it's something that ends up being highly customised for each application.

My experience with Django is that you generally start with the generic login and registration views, but quickly end up ditching them when you need something just a bit different. I'm not sure what would be a better solution, and I'm not sure there is one. I've yet to see a solution that is neither a) too complex (AuthKit) nor too simplistic (Django).

Form processing and REST are a bit more low level and should be achievable by a modestly-sized framework or library.

<comment><USER6> I agree that the end implementation of a User login and registration system will be highly customized for each application.

However, I think there is a TON of reusable code out there that is shared across apps: simple things like setting properly salted and hashed passwords, providing a password reset mechanism, and a base user object with permissions and groups.

Django gets a lot of this stuff right, what they get wrong is the complete lack of customizability which means you need to throw everything away once you go outside the box.

A few simple base classes that could be extended and overridden with custom fields would solve that problem entirely - the reason Django doesn't provide this (IIRC) is because the built in auth system was written before their ORM properly supported inheritance.

<comment><USER7> Class-based generic views would go a long way as well; Django's generic views are pretty useless in their current form.

</comment></comment></comment></comment></comment></comment><comment><USER8> It sounds like a lot of the complaints are about their ORM layer. I'll point out that Rails (a very comparable project) has a lot of cruft in ActiveRecord, their ORM layer, as well. I can't directly compare it to Django's, but it's a bit of a hairball. Some of it is just that it's hard to write a good ORM layer.

Let's hope that Django can also take a Rails 3-esque approach -- make the ORM layer modular, then use whichever you like. That's a surprisingly good way to disentangle the internals of the ORM from everything else. And once you do that, it gets a lot easier to polish up the code, or if necessary replace it with something prettier.

I imagine a fair number of the Rails 3 folks will be replacing ActiveRecord with DataMapper, for somewhat similar reasons. I plan to.

</comment><comment><USER9> What? How about an example?

The Django code is concise, readable, and pretty modular. I rarely read the docs anymore; just browse the code. In fact, I feel like a better programmer for having read most of the Django code.

This appears to have been written today, but it reads like it's from 3 years ago.

</comment><comment><USER10> ORMs are like sausages. You really don't want to know what goes into them.

<comment><USER11> Pssh, a lot more love went into the ORM than ever went into a sausage.

<comment><USER10> You've apparently been eating the wrong kinds of sausages.

</comment></comment></comment><comment><USER12> Just because you don't understand the code it doesn't mean it is awful. I am not defending django at all since I use webpy.

Saying the code is awful without proving why is just a way to explain to yourself why you are not understanding the code. It makes you relieved that it is not your fault. However it is your brain deceiving itself.

Blame it on yourself first then on the code.

<comment><USER6> >>> Just because you don't understand the code it doesn't mean it is awful.

Disagree entirely. My philosophy has always been that code is more difficult to maintain than it is to write in the first place, so one of the core tenets of well written code is its simplicity and ease of understanding.

If you write a convoluted mess that's difficult for someone new to pick up right away, it will probably also be difficult for you to jump back into several months later when you need to fix a bug or add features.

Not to mention making it more difficult for third party developers to contribute...

<comment><USER12> You are assuming that if you didn't understand the code, then no one can. Hence, if you don't understand it, then it is awful.

What I am saying if you want to say a code is awful, then state why it is awful.

</comment></comment></comment><comment><USER13> SQL and Objects are a problem in the first place. SQL is optimized when working with sets. So unless simple one-record read/write, most queries should fall to direct SQL which is really easy to do in Django and in Python. And for the one-record transactions, the ORM does not really matter that much. Bottom line: SQL is an essential programming skill.

</comment><comment><USER14> Completely disagree. Most of Django's components are so simple that you can tear them out and replace them for your own thing. I've done it several times now and I never felt confused about it.

</comment><comment><USER15> >Even simple things like setting up and tearing down the database is awkward. You have to actually make an outside call to a command-line script to do it.

... Because I want to be able to do that WITHIN my webapp?

As a side note, I wish this guy would of pointed to some specific examples instead of speaking in generalities.

<comment><USER16> > As a side note, I wish this guy would of pointed to some specific examples > instead of speaking in generalities.

It is very hard to give specific examples, most this kind of blog posts are mostly rants without anything concrete to grasp on. I guess it's mostly about what kind of coding/architectural style are you used to.

For example, I have done rails several years ago. I liked it, but just couple of small projects. Then I started my next site with django, which I liked very much. I found the django's modular system much better than rails, and it was very easy to add functionality through open-source packages and customize them for my needs.

Now I have started contracting project where I fix existing rails project, and it is kind of pain in the ass, because I'm used to django's way of thinking. But I can't give any specific reasons why it sucks, it is just my viewpoint.

</comment></comment><comment><USER17> Google uses Django on its AppEngine, at least some parts of it. Seems that it is not so badly written.

</comment><comment><USER18> Can't say I agree with this either.</comment>


Can you crack a code? - <AUTHOR> http://www.fbi.gov/news/stories/2013/april/can-you-crack-a-code

<comment><USER2> "To learn more about the types of ciphers and codes that terrorists, spies, and criminals use to conceal their communications, see ..." made me laugh. Remember kids, only bad guys use encryption.

<comment><USER3> That's not what they're trying to say; criminals just happen to be the reason the FBI cares about code breaking.

<comment><USER4> not too long ago, the act of making, using, or distributing encryption software made you a criminal in the eyes of the fbi

<comment><USER3> In reality, it has never been a crime to use or distribute encryption software.

</comment></comment></comment></comment><comment><USER5> From the javascript:

var bugRiddenCrashPronePieceOfJunk= (navigator.userAgent.indexOf('MSIE 5')!==-1 && navigator.userAgent.indexOf('Mac')!==-1)

I don't necessarily disagree with the sentiment, but I don't think FBI should disparage Microsoft and Apple with their variable names.

<comment><USER6> They are disparaging MSIE 5 for MacOS X in particular, which is indeed a piece of junk that no one should be using. That's just facts.

</comment></comment><comment><USER7> I much prefer what IBM is doing with their Ponder This challenges ([http://domino.research.ibm.com/Comm/wwwr_ponder.nsf/pages/in...](http://domino.research.ibm.com/Comm/wwwr_ponder.nsf/pages/index.html)). Only problem is that I'm not smart enough to answer all of them :-)

</comment><comment><USER8> "Be...sure...to drink your Ovaltine?"

</comment><comment><USER9> If you have zero experience in cryptography, how would you go about learning the necessary to crack this?

<comment><USER10> _SPOILER ALERT_

This looks like straight character substitution, so it's essentially just trial and error, but the best vector for attack is the following:

Look at the shorter words first (2 and 3 character words), guess what one word might be, then match the same characters in the other short words. Once you have a few that seem to pair up, you can start building the longer words from the answers you've got from the shorter ones.

Puzzles like this one isn't far off doing a crossword or sudoku. There isn't really a cypher to it, no maths etc. It's just having the patience to guess at a few placements then seeing if that fits the wider model.

<comment><USER10> Why am I being marked down for that? It's clearly marked spoiler so anyone who doesn't want tips can avoid it; yet in spite of that, I was very careful not to give any answers away. All I did was suggest techniques to crack the code. And most importantly, my post answers the question raised - which is the whole fucking point of a comments system.

If anyone didn't want to hints then they should have just skipped over the post the moment they read "spoiler alert" rather than knee jerk reacting with a down-vote for a post that others might have found helpful.

I swear to god the use of the peer review system on HN has been in steady decline over the last few years.

<comment><USER11> Step off the ledge, man. Downvotes happen.

<comment><USER10> I think being off work recovering from a minor op, and thus house-bound, is making me ratty. :(

<comment><USER12> It's just internet points, no worries. Everyone who matters can see you were trying to help. Hope you recover soon.

<comment><USER13> True, but on the receiving end a down vote feels like someone saying "No! You are Wrong!" and then offering nothing constructive.

Some days, I wish I could down vote down votes.

<comment><USER14> Sometimes downvotes are just fat-finger errors.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> Is the answer in English? Are there any tips on cracking a code when you don't know the language being used?

<comment><USER16> Yes, it is an English. It is a very simple code. I would recommend printing it out and using a pencil to break it.

<comment><AUTHOR> Indeed, it didn't really take that much effort.

<comment><USER15> I used to play Covert Action when I was a kid and decoding messages was part of the missions: [http://images2.wikia.nocookie.net/__cb20110118005142/coverta...](http://images2.wikia.nocookie.net/__cb20110118005142/covertaction/images/6/6e/Decoding_EasyCompleted.png)

</comment></comment></comment></comment><comment><USER17> you can use scrabble word pattern searches to determine that there is only one english word that matches the pattern of the largest set of characters in this cypher. the rest falls into place from there.

<comment><USER18> can you elaborate ? longest word appears to be 9 letters which has a lot of matches.

<comment><USER17> <http://www.design215.com/toolbox/wordpattern.php>

it's a pattern search, not just a character count search. check the instructions and examples, they're pretty straight-forward.

<comment><USER18> wow. of course! that worked like a charm. this just made my week :)

</comment></comment></comment></comment><comment><USER19> Don't work for the fbi, they're fucking bastards.

</comment><comment><USER20> was this supposed to be hard? I hope they don't plan their recruiting out of it</comment>


Spring '19 Updates to Translated Terminology - <AUTHOR> https://help.salesforce.com/articleView?id=000273904&language=en_US&type=1 <comment><AUTHOR> Changes they're making from /to:

team 小组 / 团队 团队 Chinese (Simplified)

follow 追随 关注 Chinese (Simplified)

followers 追随者 关注者 Chinese (Simplified)

like this 说这个赞 已点赞 Chinese (Simplified)

liked 说赞 已点赞 Chinese (Simplified)

write a comment 编写留言... 撰写评论 Chinese (Simplified)

post 张贴 帖子 (when used as a noun) / 发布 (when used as a verb)

comment 留言 评论 Chinese (Simplified)

Screen Component Näyttö Ruutu Finnish</comment>


A dangerous conflict of interest between Firefox and Google - <AUTHOR> http://www.cnet.com/8301-13739_1-9776759-46.html?tag=blg.orig <comment><USER2> I'm flattered and amused in the same time that this is a rip-off of ideas from an anonymous post I've made a few weeks back on news.yc:

<http://jottit.com/88ta6/>

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

<comment><USER3> I think those ideas are pretty much floating around these days, so I wouldn't automatically assume that they were ripped off your jottit article.</comment></comment>


GFA-BASIC 32 for Windows - <AUTHOR> http://gfabasic32.blogspot.com/p/about.html <comment><USER2> Thanks for the trip down memory lane. GFA-Basic on the Atari ST was such a step up from what preceded it. Hats off to the maintainer for keeping it going all these years later!

<comment><AUTHOR> > ... GFA-Basic on the Atari ST was such a step up from what preceded it ...

And what followed too ;-)

I had less memory on my first PC.</comment></comment>


Show HN: A zero configuration remote monitoring tool that's better than nothing - <AUTHOR> https://github.com/EnKrypt/Doppler.git <comment><USER2> Very cool! I currently use [https://github.com/netdata/netdata](https://github.com/netdata/netdata) for my monitoring but I like how clean/easy this is.

</comment><comment><USER3> Nice project!

What platforms does the backend run on? Linux only? Or BSDs as well?

<comment><USER4> Looks like it's using this package here [1] to gather the information. It lists support for Linux, macOS, "partial Windows", FreeBSD, OpenBSD, NetBSD and SunOS.

There's a compatibility table for the data you can access on each system.

[1] [https://www.npmjs.com/package/systeminformation](https://www.npmjs.com/package/systeminformation)

<comment><AUTHOR> This is correct. I have it currently deployed on an Arch setup, but I've also tested it on other flavors of Linux.

Tried testing on Windows as well, which is when I came across the issues with compatibility. Technically, it should still work for most of the graphs. The library just doesn't reliably give proper values for I/O (disk and network). There is also an additional Windows edge case where it does not return proper CPU temp values on AMD Ryzen CPUs.

So it could still work, with the simple workaround of not displaying those graphs on Windows, but since Windows was not exactly my intended use case anyway, I didn't really address it with the intention of doing so if / when it was needed.

If anyone reading this is serious about deploying on Windows, let me know.</comment></comment></comment>


Electronic contact lens displays pixels on the eyes - <AUTHOR> http://www.newscientist.com/blogs/onepercent/2011/11/electronic-contact-lens-displa.html <comment><USER2> It will be interesting to see if they are able to progressively scale up the resolution while still ensuring that you can actually see out of the lens.

As cool as this is, though, I'm more interested in having them figure out more ways of restoring vision rather than augmenting it. For purely selfish reasons, I'm especially interested in retina replacement, which is being worked on (they've been able to create new retinas using embryonic stem cells), but I haven't heard of any studies having started yet to actually swap out damaged retinas with the new ones.

<comment><USER3> How were your retinas damaged, if I may ask?

<comment><USER2> Luckily it was only a single retina that was damaged, and it was due to a parasite when I was under a year old, so I've never actually known what it was like to have two good eyes.

You can get by with only one eye, but you don't have any real depth perception and you don't get any benefits from 3D movies (although you still get all the downsides). Plus, although I would love to try laser surgery to improve my vision in my remaining "good" eye (if you can call needing -9.5 power lenses good), the risks are still too high given the consequences if something went wrong.

<comment><USER4> Do doctors think you're brain did enough development when you were an infant that it would handle visual info coming from your bad eye if your retina were replaced? I was under the impression that someone like you (who grew up without using the eye) might not be able to usefully interpret the signals from the eye if it were repaired.

<comment><USER5> The brain can adapt to "seeing" images through the tongue [1] so I don't think this would be a problem. The brain is always adapting to new inputs.

[1] <http://discovermagazine.com/2003/jun/feattongue>

<comment><USER4> There are limits to its adaptability, especially for processing-heavy tasks like vision for which the brain has specialized hardware. There is a world of difference between interpreting 144 electrodes to pick out just a couple of _bits_ of information, and seeing.

In particular, if the brain were infinitely plastic then you could just wire the output from a HD video camera to some random spot on the brain and wait for the brain to figure it out.

<comment><USER6> Have you tried doing that?

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I'm still waiting for easily affordable "Virtual Retinal Displays" (using a laser focused on the retina) to be available:

(<http://www.hitl.washington.edu/research/vrd/>)

<comment><USER8> I'm waiting for the inevitable news stories that will follow - "Could hackers hijack your VRD to fry your eyes with lasers? Tune in at 11."

</comment></comment><comment><USER9> I want one with facial recognition software. Never have that nervous moment again when you have to do introductions and you are just not quite so sure about your old acquaintances name.

<comment><USER10> That but with nice metadata associated with them. Imagine Rapportive in real life. That would be incredibly useful.

<comment> mike-cardwell I look forward to the day when my enemies leave an unattended Facebook session open, and I can update their status so they have a big "I'm carrying five grand in my wallet right now" sign floating above their heads as they walk around dark alleyways.

<comment><USER11> I know that was in jest (if not, you may be turning into a supervillian), but the actual implications of having facial recognition built into contacts is immense. It will be a Minority Report type world, where anonymity would be completely gone.

I guess it would mean no criminal outlaws or parole violators walking around, but for a common man to not be able to walk anywhere without everyone around him knowing everything there is to know about him....that's scary

<comment><USER12> It is, but then again that's what most humans have lived their entire lives doing, living in small communities where everyone knew everyone else since childhood.

<comment><USER11> isn't that why most people leave small towns, to go to a big city and be anonymous. To be able to get away from their past?

</comment></comment></comment></comment></comment></comment><comment><USER13> Show me the best ratio to winning when playing Blackjack. WIN!

<comment><USER14> Geez - this will spawn a whole new area of detection in casino security systems. High resolution cameras capable of seeing the subtle reflective changes in the eyeball, EM detectors at the doors for finding the minuscule circuits on your eyes ...

I can also see the casinos' utopia coming to fruition: those without the smarts to count cards, without the expertise to play properly, without all their electronics gadgets, coming to play^W empty their wallets into buckets owned by the casinos.

<comment><USER8> How is that significantly different from the casinos' status quo?

</comment></comment></comment><comment><USER15> Interestingly enough, I think a technology like this has to be monitored by professional sports--maybe not now, but I could see this type of technology being the new frontier in "cheating". It seems like the logical next step in performance enhancement. Imagine a display that could read the velocity of a fastball, measure the drop of a sinker, read a quarterbacks heart rate, or judge which receiver is the most open. A lot of players in professional sports already deal with technologically advanced contacts, though these are quite rudimentary and merely change the tint (Yellow and Red) to allow for athletes to see specific details much more clearly.

<comment><USER16> If everyone has access to these, then maybe it just makes the sports more exciting and enjoyable for all the players and fans to have extra information?

</comment></comment><comment><USER17> Did anyone else think about the Eyephone episode of Futurama when they saw this?

<comment><USER18> I thought of Steve Mann's "eye tap"

<comment><USER19> Was just about to post the same thing. Pretty nifty device, I've considered building my own for a while now. It's pretty simple.

<http://en.wikipedia.org/wiki/EyeTap>

<comment><USER18> Yeah, I like the wearable computing idea much more than I like walking about with a "smart" phone.

</comment></comment></comment></comment><comment><USER20> As interesting as this is, I don't think embedding all this into a contact lens is t he way to go. This is purely hypothetical but how about something like this <http://www.youtube.com/watch?v=mUdDhWfpqxg> (SixthSense) done with a sort of polarity/light effect that could only be seen though a special contact lens.

</comment><comment><USER21> It's an interesting development, but unfortunately not tested on humans yet. So we don't know yet the real resolution for human eye.

</comment><comment><USER14> How do you either keep them turned "upright" or detect rotation for updating the images? Contacts slide around in the eye a bit and their shape keeps them on the eye's lens pretty well, but there's no asymmetrical shape for keep the contact lens from rotating.

<comment><USER22> Some lenses, I think mostly the soft ones, are asymmetrical: They are intentionally heavier on the bottom and let gravity rotate them into place.

<comment><USER23> Yes -- those are toric lenses, for correcting astigmatism. Unfortunately it makes them rather thicker and less comfortable than the usual ones.

<comment><USER6> Funnily enough, I just picked up today my first ever daily disposable lenses for correcting astigmatism. These are the most comfortable lenses I've ever worn, including regular daily disposables.

</comment></comment></comment></comment><comment><USER24> thread title incorrect, should be 'displays pixel'

</comment><comment><USER25> Wirelessly powering something that sits in my eye? I don't think so. Isn't it about 10,000 times easier and safer to do a HUD using glasses than contacts?

<comment><USER26> At these scales? Probably not.

<comment><USER27> From the article:

"The test lens was powered remotely using a 5-millimetre-long antenna printed on the lens to receive gigahertz-range radio-frequency energy from a transmitter placed ten centimetres from the rabbit's eye. "

I'm a pretty rational person and I have no problem holding a cell phone up to my head, but this scares me.

<comment><USER28> Why? It would probably be a much weaker signal than that of a cellphone (~500 milliwatts). Assuming the tech is similar to short-range RFID, it could run on a transmission power of a few milliwatts.

</comment></comment></comment></comment><comment><USER29> That sound you hear is the sound thousands of advertisers creaming their pants.

Now you will have to look at that ad, even if you close your eyes.

<comment><USER25> Not if the software is open source. On the contrary, you could run Adblock and never see another billboard.

<comment><USER30> Why would you think this could ever be open source. It will be expensive to develop, and no corporation will spend the money to do so and then open source the software. It may (not likely) be jail breakable, but you still have to pay (probably) thousands to get it.

I was thinking one way for people to afford them would be to accept ads. I would hate that, and I think I'd just wear glasses or normal contacts.

In fact I'd be much more attracted to this sort of thing in glasses, because they'd likely be cheaper, and glasses can probably support more functions. And you wouldn't have a radio receiver concentrating radio energy directly on your eyes.

<comment><USER31> Hardware isn't software. I run open source on my hardware, but my hardware isn't open source. If your logic held, open source wouldn't be possible.

<comment><USER30> Sometimes open source on locked down and jailbroken hardware is better. Sometimes it bricks the hardware. I wonder what it's like to have a brick in the eye?

Also this is a thing that goes in your body, and the FDA might have something to say about open source in that context. Is there any open source software running on pacemakers at the moment?

I think there are many more issues involved than simply "it's my hardware and I'll do what I want with it." If we get better eyeware through open source then great, but I'm skeptical at the moment that it can, much less will happen.

<comment><USER31> "I think there are many more issues involved than simply "it's my hardware and I'll do what I want with it.""

Actually, that's kind of my point more than yours. It isn't as simple as a knee-jerk "it must be closed source". You argued black and I argued not-black; not-black isn't "white", it's white and the greys, too.

</comment></comment></comment></comment></comment></comment><comment><USER32> First thing that came to my mind, was Neuromancer where the implanted mirrorshades in Molly's eyes showed time.

</comment><comment><USER33> this: <http://www.wired.com/wired/archive/10.09/vision_pr.html> is just too good to not mention here

</comment><comment><USER34> Automatic photogrey eyes! Telescopic vision! Zoom!</comment>


Alienating Atmosphere - <AUTHOR> http://martinfowler.com/bliki/AlienatingAtmosphere.html <comment><USER2> This is brilliant. And it'll sink like a lead weight in the smug brogrammer atmosphere of HN. :(</comment>


My two week project turned into a full-time open source startup - <AUTHOR> http://blog.servicebot.io/my-two-week-project-turned-into-a-full-time-open-source-startup/ <comment><AUTHOR> Hi all, founder of ServiceBot here, we have just released our limited time free open-beta instances. Feel free to signup on our website [https://servicebot.io](https://servicebot.io) and give us your feedback. Note: you need a Stripe account for ServiceBot to complete the setup process.</comment>


Aug. 1, 2012: When Oculus Asked for Donations - <AUTHOR> http://blogs.wsj.com/digits/2014/03/25/aug-1-2012-when-oculus-asked-for-donations/ <comment><USER2> This is the real shame in the Oculus acquisition. If Oculus had been able to give away just 10% equity, every single Kickstarter backer would be $20,000 richer today. The sentiment would be completely different. The SEC needs to get in gear and start allowing equity crowdfunding pronto.

The SEC's classification of millionaires as "accredited investors" who get first crack at all the best investment opportunities is exactly the kind of "rich get richer" policy that people ought to be furious about. I think not enough people understand it.

<comment><USER3> If a crowd funding website that was completely bitcoin based would it be able to avoid all SEC regulations? If there are regulations in the future is there a liability to creating this now?

<comment><USER4> It's better to address the problem directly (investor eligibility) rather than trying to invent technological end-runs around it, because the law is not deterministic and such technological instrumentalities are very transparent to regulators..

</comment></comment></comment><comment><USER5> From Notch:

"And I did not chip in ten grand to seed a first investment round to build value for a Facebook acquisition."

[http://notch.net/2014/03/virtual-reality-is-going-to- change-...](http://notch.net/2014/03/virtual-reality-is-going-to-change-the- world/)

</comment><comment><USER6> For $300 those backers got the promise of an awesome VR headset. I don't see why they should get equity for free on top of that.

It would be nice if kickstarter campaigns could add equity as and option in the reward tiers, but it's not like these people gave their money for nothing in return.

<comment><USER7> You're assuming every backer paid 300. Some donated more, some paid less.

<comment><USER8> And? They knew the terms of the deal.

<comment><USER9> This is not a legal proceeding. It is more of an emotional outpouring of disappointment.

The unwritten deal was that the funders were backing a low-overhead, indie organisation.

<comment><USER10> So they can never becomes big company?

It's like a pathetic jealousy of wanting to help a homeless as long as you know they are never going to be richer than you.

<comment><USER9> You are conflating _big_ with _rich_. It is possible to dislike the former and yet support the latter.

Often, when companies get _big_ , the motives change from "making a great product" to "milking the user for more money".

</comment></comment></comment></comment></comment></comment><comment><USER11> "a $2.4 million early-stage investment in what would become a $2 billion business in a year and a half, in return for 0.0% equity" No. Those backers weren't investing in a company, they were purchasing a prototype device and software package. In practice, that's how Kickstarter works. Sure, there will be a lot of backers who are happy that their deferred purchase is helping a project actually get off the ground, but I guarantee every person who handed over the $300 read over the rewards carefully.

</comment><comment><USER12>
        1) Kickstarter is not an investment platform.
        2) Kickstarter is not a store.

Kickstarter is ONLY for _giving_ your money away to ideas you want to see succeed. The _perks_ are a gamble at best and misleading at worst.

If you give money to a kickstarter for any other reason, despite what the campaign or your friends or some blog tells you, you're quite unfortunately doing it wrong.

<comment><USER13> The perks are _not_ a gamble. If the project creator fails to deliver, you are entitled to a refund. Straight from the Kickstarter Terms of Use:

> Project Creators are required to fulfill all rewards of their successful > fundraising campaigns or refund any Backer whose reward they do not or > cannot fulfill.

<comment><USER12> Through what enforcement?

</comment></comment></comment><comment><USER14> Well you can't have it both ways. If you put your money in on kickstarter and expect to get a product in return, you have bought the product. You didn't invest.

Of course, how much people who put money into things on kickstarter expect to get a product versus how much risk they are expecting to take is an open question.

</comment><comment><USER15> I've always found it bizarre that people would willing give hundreds (if not, thousands) of dollars to fund a business venture for some paltry token of appreciation while the founders (and investors) receive all of the financial rewards. (The "Veronica Mars" movie comes to mind.)

Also, I find it deeply upsetting that I am be allowed to give my life savings to a startup founded by a friend or family member, but I can't do this with a stranger...because the government wants to protect me or something.

But, really, I can't really blame regulators for this paternalistic policies since most people blame the banks for the financial crisis while pitying those impoverished home owners who stupidly purchased homes they couldn't afford.

<comment><USER16> It wasn't a "paltry token" of appreciation in this case. It was the actual VR headset, unlike anything else you could purchase commercially, for $300. I am glad I got mine and knew what I was getting when I backed the project — a really fun toy I could mess around with.

</comment></comment><comment><USER17> I'll just say it: Kickstarter is for suckers. When you give money to a project, you're doing one of two things:

1\. Making a donation to a company. [1]

2\. Preordering something that hasn't been built yet.

Doing 1 is silly, since you don't really get anything in return. "But it makes it more likely that this thing I want will happen!" In some tiny marginal way, sure, but mostly it's going to happen because other people donate (or fails to happen because they don't). Don't be the fool who tries to personally take on the collective action problem. And stop trying to make other people rich out of the goodness of your heart.

Of course, as the WSJ fails to make clear, most of Oculus's Kickstarter money wasn't straight-up donations; it was preorders of the Rift. That's obviously not a donation, but it's not a good idea either. As the buyer, you bear the risk that it never ships at all. "But I'm compensated with a discount!" Essentially, you're making an investment in which your returns come in the form of future discounts on a product. Forget that you like the Oculus Rift for a second; is this a wise investment structure? If someone set up a VC company that did that instead of buying parts of companies, would you think that was smart? Did you do any kind of analysis that suggests this is actually works out to be a good investment? Do the potential returns even justify that analysis? Do you think of other consumer products this way, or only shiny electronic things?

Or to think about it a different way: imagine if someone set up a store that worked like this: you take your item to the counter, where they don't actually let you buy the item. Instead what you can do is pay the price minus n% and then they roll this big roulette to decide whether you get the product (m% success rate). If you win you get to keep the product and if you lose it goes back on the shelf and they keep your money. To spice things up, they don't tell you what n and m are either, just the price to play and whether you get the item. Now, it's possible--though unknown--that m and n work out that you're EV positive here. But would you really shop at that store? Especially when there's another store next door that just sells you the same stuff at a known price (i.e. just buy the Rift when it comes out).

The fact of the matter is that you're aren't pre-buying the Rift on a rational basis. You've been convinced by clever marketing to shoulder risk for a company because it _seems cool and feels good_. Total sucker move. That probably explains why it tastes bitter when the company whose capital requirements you fronted rolls that into a $2 billion dollar acquisition.

[1] Maybe it's not a company. Maybe it's a cause you support like improving CoffeeScript or something. For those cases, I withdraw my objections.

<comment><USER18> Who cares?

You seem to live in a universe where everything goes according to plan, that's not any real universe I'm aware of.

Kickstarter is about being a _patron_ of _creators_ for specific projects. Sometimes those projects are by people working in good faith, sometimes not. Sometimes those projects succeed, sometimes not.

The idea that this is somehow unusual is ridiculous. The idea that it should be discouraged is actively harmful. One of the most powerful things anyone can do with their money is to fund the development of things which change the world. Create products they wish existed, create art they desire, support creative or productive people, help others, etc.

</comment></comment><comment><USER19> So perhaps the answer is for Kickstarter to not allow any sort of companies to be funded, but rather only keep it for once off art projects...

<comment><USER11> I understand that's what the Kickstarter team is most interested in. But what would that accomplish besides causing all the companies to simply move to the next crowd-sourcing site?

If Kickstarter doesn't want a cut of that money I'm sure Indiegogo will be happy to take it

<comment><USER19> It's a tough question Kickstarter might ask itself, but then again since it gets a cut of all the funding that comes through it, why would it want to stop (over)funding these company projects. I think at this stage it won't change unless it is forced to from a third party.

</comment></comment></comment><comment><USER20> Actually, in all of this anger, there is great news. This is validation of the crowdfunding format in a big big way. I hope this is just the start (well, the start of getting actual ROI for your crowdfunding investment. Enough of this Donation silliness..)

</comment><comment><USER21> This is all that I'm reminded of:

[http://mashable.com/2010/04/02/facebook-acquires- divvyshot/](http://mashable.com/2010/04/02/facebook-acquires-divvyshot/)

</comment><comment><USER22> my complaint is mainly with the headline. if the word "kickstarter" was anywhere in the title I would not have clicked. d'oh.

<comment><USER23> and the headline has changed again...

it was "18 months ago Oculus did one of history's smartest rounds $2.4M for a 0.0% stake (wsj.com)

</comment></comment><comment><USER24> If the government let it, every small company or utopian project would sell stocks, not empty dreams, to believers in the internet.

</comment><comment><USER25> Did Oculus raise more money after the Kickstarter or did these guys own 100% of the equity?

<comment><USER26> They did a $75M round recently and have been hiring like crazy.

<comment><USER27> at this point, we should read "hiring like crazy" as "trying to get acquired". Having a lot of employees boosts your valuation but does little for your ability to deliver a product</comment></comment></comment>