Who took a chance on you? - <AUTHOR> http://bijansabet.com/post/44870687156/who-took-a-chance-on-you <comment><USER3> _Who took a chance on you?_

No one.

Perfect SAT scores. Great grades. Most creative in class. Most encouraged in class. Rejected by every college but one.

After graduating college, rejected by every prospective employer except Denny's.

Taught myself to program and gave it away until someone hired me.

Ten time employee who quit every company because someone got promoted over me even though I did 3X the work.

Beat the pavement but couldn't find customers until I wrote the software first, then they purchased.

When friends & family saw how much money I made, they all wanted in on it until they saw the sacrifice I expected from them, then every one backed out.

Rejected by Alphalab because "no one would buy" what I had already sold many times. Rejected by Ycombinator because they didn't think anyone would buy what I had already sold many times. Rejected by Incubate Miami because they wanted to see a business with a product and customers first. (Then why would I need you guys? I thought the whole point of these programs was to find otherwise unavailable opportunities by giving prospective founders a break from their other responsibilities to be able to focus on just building.)

Rejected by prospective cofounders who didn't want to make the same sacrifices I have made.

After being underestimated by the cool kids, teachers, girls, family members, employers, and strangers for being an ugly skinny nerd my whole life, I thought it would be different in the tech world, but it's not. It's still a beauty contest based primarily of superficial subjective perceptions. People are still often too lazy or unable to dig below the surface to find the reality.

Please don't misunderstand. I'm not bitter. I'm glad...

I wouldn't be half the builder I am now if someone would have given me a break along the way.

So I just keep on building and loving it.

<comment><USER4> I'm also curious what "Most creative in class" means. It seems odd to say nobody ever gave you a break while simultaneously saying you were the "Most encouraged". While not exactly the same, surely people recognized his strengths then?

> Rejected by every college but one.

Which colleges did you apply to? Plenty of people with great grades and perfect SAT scores still end up rejected from top-tier colleges.

> Taught myself to program and gave it away until someone hired me.

So someone decided to hire a young person with only self-taught programming experience and (I'm assuming) no CS degree. Certainly sounds like someone gave you a break here.

<comment><USER5> I highly doubt that he had "perfect SAT scores." A 2400 with good grades is an effective guarantee at most state flagships (and most mid-range private schools for that matter.) He is either mischaracterizing his merits or didn't apply to realistic school choices.

<comment><USER6> Most prestigious universities put a lot of weight on the essay and the interview as well. If his interactions in these two areas came off as cantankerous as he is coming off here, I'd understand letting in a guy with a 1580 over a guy with a 1600. (Based on the fact that he's had 10 jobs, I'm sure he was graded on the 1600 point scale, not out of 2400)

And trust me, not every perfect SAT score is a guarantee of getting into Harvard, Princeton, Yale, MIT, Stanford, etc.

</comment></comment></comment></comment><comment><USER7> Michael Robertson, founder of MP3.com, Lindows/Linspire, etc. I had been in the press for the release of PyMusique (open source client for the iTunes Music Store, which didn't apply DRM (it was done client-side, and in fact still is)) and he saw one of the articles. He sent me the following email:

> Cody,

> I really admire what you're doing. I am the founder and former CEO of > MP3.com. I'm not anti-DRM, but I am pro-consumer. I recently launched > MP3tunes.com, a MP3 only store which also includes a locker so you can sync > to many devices. Let me know if there's anything I can do to help. You might > also be interested in MP3beamer. See: <http://www.mp3beamer.com>

> Keep up the good work.

> \-- MR

I told him how much it meant to me to receive the email, and that the thing I really needed to continue the work was an IDA Pro license; I had one a few days later! Shortly thereafter, he contracted me to build hooks into iTunes to display the MP3tunes store, and other functionality like that. Flew me out to San Diego (my first time on a plane, from a tiny little farming town in the middle of nowhere in PA), took me to the deviantArt summit, etc. I can't overstate how important all this was to me.

He took a chance on me, and I ended up working my ass off for him for about two years before starting my own company and moving on. I was 17 -- I could've been a one-hit wonder, or I could've not fit with the team, or any number of other things. While MR and I are not on good terms these days, I owe my success in large part to him; for that I'll be forever grateful.

I hope I can pay the favor forward some day.

<comment><USER8> Awesome! He's great at responding to emails if you have an actual question/comment. While I don't agree with all of his politics, he has very interesting opinions that he shares on Twitter and in interviews. In terms of tech, he has great advice. His interviews on This Week in Startups and This Week in Venture Capital are some of my favorite episodes of both podcasts.

</comment></comment><comment><USER9> When I was about to graduate high school, I knew one thing: I couldn't be an adult and live with my folks (who are wonderful), or depend on them, period. Just the way I'm wired, I guess. I knew HTML and CSS really well (this was when A List Apart was _huge_ ), but that was about it. I had no right to a web designer/frontend developer job, let alone a leading one.

But there I was in Fairfax at my first real interview just a handful of days before graduation, nervous as hell. The business was document management and tax preparation web applications. My portfolio consisted of a single website I created to accompany my resume a week before this interview, with some made-up content about Herndon, deployed to a free webhost. I talked a good game about <table>-less CSS-driven layouts, accessibility, all the stuff his departing designer had been pushing for (thanks again, ALA).

The guy thought I was sharp and took a chance on me. He offered a small salary that seemed like a pot of gold to 18-year old me, and it was enough to be able to get my own place, not even with roommates. I was ecstatic, and I'll never forget the excitement of that summer.

In the rare event that you read Hacker News, thanks Arnold :^) ... Who knows where I'd be today if you hadn't taken that risk.

<comment><USER10> Similar story here. I spent a year out of college unemployed, listlessly sending out job applications in an awful market and stewing in depression. When I finally got a break it was at a company full of old-hand COBOL and RPG- IV programmers... and they wanted to hire me to lead a huge web-based modernization effort! Me, a scraggly-looking kid, decades younger than the rest of the team, with no real evidence of my talents or experience. And likewise the pay was a pittance compared to what the programmers in SV were allegedly making. But the degree of freedom to do basically whatever I wanted, however I wanted, more than made up for it. To this day they're delighted with the work that I produce, and it's done absolute wonders for my self- confidence. And even though I could strike out for greener pastures at this point, the fact that they took such a chance on me is the reason that I stick by them.

</comment></comment><comment><USER11> Honestly, very few individuals have ever taken a chance on me, but the British government certainly did in a very life-changing way: I was lucky enough to go to university when a full student grant would still pay for tuition and all basic living expenses. I got a BSc and then a PhD, which was a _giant_ leg-up (from a working-class background).

</comment><comment><USER5> This is a testament to how much weight luck holds in achieving a successful career, and how one's life is largely governed by people's whims and general arbitrariness.

(This is true not only due to people taking chances on others, but because people are born into situations that govern their capacity for success. Malcolm Gladwell demonstrates this wonderfully in Outliers, a book that has had a large impact on me and which I recommend to everyone I can. But I digress.)

It's actually somewhat disconcerting to consider.

<comment><USER12> Well, then, like anything else, you maximize your chances of success and having a few lucky breaks by: (a) having a long time horizon, developing expertise, and sticking with it, (b) simply going up to bat more and taking more and more chances (e.g. "You miss 100% of the shots you don't take"), and (c) learning from failure/mistakes and rebounding from it.

At first glance, his post reads like he had one lucky break after another after another, but I'm sure the road felt very shaky and uncertain along the way, and he doesn't mention any of his mistakes/failures and I'm sure he made several (it just wasn't the point of the post).

Max Levchin endured 3 failures early on, and then he had this chance encounter with Peter Thiel before founding PayPal: <http://ecorner.stanford.edu/authorMaterialInfo.html?mid=1022>

<comment><USER13> I'd like to add to this. One thing Jack Dorsey said (paraphrasing here) in his interview with Kevin Rose (in Foundation series), is that he wishes he is fortunate to realise an opportunity when it presents itself.

To me that means 2 things: seeking out and creating opportunities. Build stuff, meet people, take risks and chances. This increases the chances of opportunities (luck) happening: Meeting that perfect co-founder, stumbling onto a brilliant idea, finding the right investors, etc.

Then secondly, you have to practice to be open-minded enough to realise that when an opportunity actually arrives, you know it is one! You might seek and create opportunities as much you want, as most of it ends up being luck, but if you don't realise that luck, you've missed the boat.

</comment></comment></comment><comment><USER14> The CTO who hired me, a college dropout and former construction worker, to my first startup. It was a menial data entry job but he took a chance when he let me start coding 2 months later, and lead the web team to the launch a year after that.

By then I had the chance to pay it forward by mentoring employees with design and liberal arts background to become decent web devs. Coding for the web isn't really that hard to learn if you're motivated, which is why it pains me to see the bullshit "our hiring process" posts.

As a child in Israel, I'd hear about the American ideals of giving someone a chance and taking a risk. Many years later, when I lived in NYC, I was disappointed to find employers so risk averse they can barely make a decision on hiring a junior PHP coder without an Ivy League degree, 4 references and a 6 hour interview process. I had enough experience for degrees not to matter, but I feel for kids in the US who are now where I was when I started out.

</comment><comment><USER15> The list is practically innumerable, but a particularly relevant pair: Trace Wax and Obie Fernandez. They took on a 17 year old intern with no web development experience outside of HTML/CSS, who could only work remotely, from out of state, for about 8 hours a week, trained him in Ruby on Rails through hours of pairing and paid for his trip to NYC to try working on site.

That experience has equipped me with what I've needed to land another internship, start freelance consulting work, win a major hackathon, and get accepted into a brilliant program. All because they took a chance on me.

I'm watching a brilliant, college age friend struggle through that initial "getting started" process in web development, and all I can think is: Thanks Trace, thanks Obie!

Edit: Also, thanks HN, for being the forum by which I found them! Though I'm still not sure that was the correct use of an AskHN thread (and I'm afraid to recommend the tactic to friends) it definitely helped me!

</comment><comment><USER16> As a senior in high school, a pair NASA mech. engineers allowed me to shadow them. I had no experience in the field, nor current acceptance into an engineering program. They took me in and let me to work with flight hardware (presently taking 3D images of the sun [1]). They had to jump through hoops to get me in the door. The jobs were reserved for UC Berkeley students, and for some reason, they picked me.

It was an amazing, life changing experience. I got through some of my hardest engineering exams knowing I'd one day get to do something as cool as them. I now build research instruments for physical oceanography. I'm not at all surprised I stayed in a field of exploratory science.

[1] [http://www.nasa.gov/mission_pages/stereo/news/stereo3D_press...](http://www.nasa.gov/mission_pages/stereo/news/stereo3D_press.html)

</comment><comment><USER17> Someone on Craigslist paid me $50 to fix his CSS in the late 1990s. I was a teenager in Virginia looking at CL for the first time (not knowing it only served the Bay Area) when I saw the post in "gigs." I told him he could pay me half the original amount since I didn't totally solve his second of two problems, but he said, "I don't underpay my contractors," and the full amount was in my PayPal shortly thereafter. As a teenager who'd never held a job I was pretty stoked about getting paid for something fun. Later I'd be the only non-CS major hired by my university as a summer student PHP programmer. I never took the plunge to do programming full time, but I'm slowly working it into my job as a mechanical engineer.

</comment><comment><USER18> Why is it that people are so grateful to their first employers? These guys did nothing special, they just hired you. It is normal to hire inexperienced people and train them. One should be reasonably grateful for that but understand that employer also benefits from it (hi Captain Obvious). If a person is reasonably smart he/she will be able to produce useful work after a month of poking around. And being grateful for not being fired? Come on!

Be grateful to friends and lovers, not to governments and corporations.

<comment><USER19> I can understand this POV but I don't think it's the case every time. I feel grateful all the time because I was the only person hired in the tech dept that had no experience. Everyone else is either principle or has about 5-10 years experience. I've checked our job boards and the requirements involve standards I was no where near at the time. Yes they want to train you, but they want to train you because they believe in you as a person and what you can do...yes for them...but also for yourself. My boss isn't a cold dude, he's young, has tat sleeves, and was helped along the way by others...just like I am...minus the tats.

<comment><USER18> You are right that everyone's situation is different and it looks like your boss really went an extra mile for you. Did you share some common background with him, like went to the same school?

Keep in mind, though, that the situation when some (or all) current employees would not be hired under current job requirements for outside hires is more common than people think!

<comment><USER19> We did not, he actually give's me crap for my school (UT Austin) because he went to USC (look up Rose Bowl 2006). We did share common backgrounds. He went to school for creative writing and I went for Film. He was essentially given a chance at being a programmer and I'm assuming I've rec'd that same treatment.

</comment></comment></comment></comment><comment><USER6> I'm thankful that a manager at Xbox took a big chance on me and helped me to get my foot in the door in video games when I only had a college degree and a boatload of passion. But I'm just as thankful that when I first moved to Seattle, there were a few companies that _didn't_ take a chance on me, because if they had, I never would have even applied for that job in video games - <USER2> doing something that I never dreamed I'd be able to do: designing video games for a living.

Just as important to getting the opportunities is taking advantage of them. If Bijan had never agreed to take part in Spark, this may never have happened. So kudos to him for taking the bull by its horns.

</comment><comment><USER20> There were two different instances.

1\. In 1998, I was hired by the editor of the local newspaper to help maintain their new website. I was 14 at the time and my resume consisted of a couple of websites dedicated to Age of Empires.

2\. In beginnig 2000, at the age of 15, I was hired on by a small dialup ISP for a tech support role. I was the first employee the founding group had hired. At first it was just an after-school job, but it turned into a full- time job a few years later. I can't even begin to describe how much I learned there over the years.

</comment><comment><USER21> It is great to hear people's success stories.

For a while I applied to jobs left and right. I have very little professional experience(marketing). I hoped for similar story; someone willing to give me a shot. It never happened. Instead, I changed my focus to growing my girlfriend's dog treat business(startup). In the end, I gave myself a shot.

</comment><comment><USER19> I feel truly grateful for three people who took chances on me. I worked first in the film industry at Panavision with some of the top camera crews in the world because my boss (1) at the time believed in me. After that I decided software was a better future and a friend of mine (2) wanted me to work at the company he worked for...a digital agency. With no resume or cover level I got a job because my current boss (3) two years later believed in me. Now I'm here on HN, have a youtube channel teaching others, and just wrapped up an eight month enterprise website with a great team...and I'm going to buy a sports car this weekend! How big hearts in some people can make such a big difference in someone's life...forever grateful!

</comment><comment><USER22> Up until a few years back, I was long term unemployed. 2-3 years or so, it was pretty grating, but I tried to make the best of it, learning new skills, practicing and playing a shitload of WoW. The latter part wasn't exactly helpful, to be honest. I'd been through numerous government training and employment schemes but coupled with my depression and my lacking recent employment history, not many people were willing to take me on.

I had spent a lot of this time approaching local design agencies and web dev studios (of which there are a lot in my area) for internships and the like, rarely ever met with a response, let alone a "thank you, but no," so I kept plodding away.

Eventually, someone responded to my enquiry, a small design agency with a few fairly big clients, they offered me an unpaid internship working 3 or so days a week to build up some experience. As much as I came to learn they were exploiting me (I was there well over a year, eventually working for minimum wage), I still do owe them a hell of a lot. Getting back into the swing of things, doing something that I loved gave me my confidence back, I learned to trust my skills and that I am good at what I do.

From that point on, literally every changed in my life. I came off the anti- depressants, found a new girlfriend, got a new house and now have a new job making decent money for a company I really enjoy. As much as I may bitch and moan about how that agency took the piss so much with me, the chance that they took on me turned my life around.

</comment><comment><USER23> Really great recruiter in NYC in 1997. Told me exactly what to say for the interview and I got the job, with zero experience and a 2 yr gap after college. Even got me $33k when I asked for $27k. Thought I was the luckiest kid at the time!

</comment><comment><USER24> Chris Phillips. He was the first person to see promise in me beyond my own ambition, which was a big deal to a somewhat immature 18-year-old. He died in a freak climbing accident before I could ever properly thank him.

</comment><comment><USER25> Someone took a chance on me recently... and I fucked it up. Long story short, I was given the best job in the world and I decided to take it for granted so I was fired. Taught me a lot about respect.

</comment><comment><USER26> Personally I'm thankful my first employers/managers didn't fire me for being consistently late at work. Took me a while to figure out that being punctual is actually perceived as a big deal.

<comment><USER18> Which is completely arbitrary. Most software engineers do not need to be present at the office at a set time.

<comment><USER26> Sure, but not everyone realizes this. People can be rather conservative here in Europe.

</comment></comment></comment><comment><USER27> I've always wanted to be a programmer. Ever since I was a kid when I spent a bit of time in QBasic giving my friends unlimited lives in Snake and Gorillas. By the time I was nearing adulthood I knew that I definitely wanted to pursue programming as a career (by the standard-seeming path of getting a CS degree), so I joined the National Guard so I could pay for it.

In 2008 I was working at Wal-Mart throwing boxes off of trucks and trucking product out to the shelves. Incidentally this was the best job I had ever had excluding my current career, and I still look back fondly on it.

I had tried to go to the local technical college for their programmer analyst degree but quickly dropped out after I found that I knew most of the material and could not even test out of classes that were primarily focused on teaching you how to use a mouse.

In 2009 my unit was deployed to Iraq and I resigned that I would try to go to a four-year college for CS when I returned and I had my VA benefits to throw around.

Everything changed when I met my mentor (a figurehead in the Ruby community) online via a comment that I had left on his blog. I had been learning Ruby/Rails in my downtime during the deployment to that point and we continued to converse throughout the rest of the deployment.

When I got back in 2010, instead of applying to college, I already a job offer waiting for me because my mentor decided to take a chance on me and hire me at the RoR consulting company he was CTO of at the time.

Three years later, I've spoken at a conference, co-authored a book, and have been working in the career I always dreamed of because someone decided to take a chance on me.

I owe the success of the last three years in large part to Chad Fowler and the rest of the awesome folks I worked with at InfoEther in 2010, and I'll always be eternally grateful for the chance I was given that led me to where I am today.

</comment><comment><USER28> The Computer Science program at my college.

At the school I went to, you had to apply to your program at the end of your Sophomore year, and in order to continue, they had to accept you. The advisers basically told us up front that you had to have this GPA overall and this GPA in classes in that program and it helps if you get good grades in classes X, Y and Z since they are the weed outs. I didn't meet either GPA requirement, and I only had good grades in classes X and Z, with an average grade in class Y. I was also pretty shy and antisocial in the academic setting, so I didn't have any professor friends to go to bat for me. I got the acceptance letter anyway, and my plans for a back up degree in finance didn't have to come into play. I've always been thankful that they took a chance on the under performing dude they didn't know and let me develop my passion.

</comment><comment><USER29> I'm still in college so I don't have a ton to look back on, but I am very grateful that hackNY took a chance on me last summer. I certainly wasn't as qualified as many of the fellows and the program changed the direction I plan to take my life over the next few years. I was a Bioengineering Major dabbling in programming and now I'm goingfull-steam-ahead with CS and couldn't be more excited for where programming will take me over the next few years. I now know someone at dozens of cool companies and I got a chance to meet some industry legends, all because whoever read my application thought an Android app or two was enough experience to write production code for pay at an incredible startup (SecondMarket). Best summer of my life and only good things ahead, thanks hackNY.

</comment><comment><USER30> I am thankful for my last boss. I had just got my Masters degree in Computer Science, but because I was so busy I never really had time to put together a portfolio. He found me on Reddit and asked if I could code in Python. I said yes, he hired me right away without asking any other questions and said if he was satisfied after two weeks I could stay. I was quite nervous at first but I was never fired, and I learned a lot working for them. Unfortunately 8 months later they ran out of funding, but I will always remember the benefit of the doubt that he gave me. Now I need to find someone else to take a chance on me!

</comment><comment><USER31> Tony Stubblebine, co-founder and CEO of Lift. Can't thank him enough.

<https://medium.com/unforgettable-moments/36369a6063d1>

</comment><comment><USER32> I dropped out of school but my brother got me to move out of my hometown and start working for a small web host where the boss took a chance on me.

Turns out I was so hard working, so dedicated, that years later when I was stuck in a callcenter because I didn't have any grades from school, that same boss recommended me to a big consulting firm, who took a chance on me. And it payed off, for both of us. Now I have a career in IT and I never graduated what Americans would equal to High school. :)

</comment><comment><USER33> My parents[1], The Shuttleworth Foundation[2] and my parents[3].

[1] <http://jmathai.trovebox.com/p/5bk/tags-mathew,mary>

[2] <http://www.shuttleworthfoundation.org/fellows/jaisen-mathai/>

[3] <http://jmathai.trovebox.com/p/38f/tags-mathew,mary>

</comment><comment><USER34> A local creative director in town gave me my first break. I was slated to work as a designer at coupon company making classified ads until he decided to give me a chance and hire me at his company. I think my career would've taken a much different path if he didn't give me that chance.

Granted, he was in a different type of design discipline. Learning fundamentals and how to think was more valuable to me at that time than just learning software.

</comment><comment><USER35> Interesting thread. I hope I can be nearly this lucky in the future. Can't tell you how many times in NYC I've been flat out told "we don't take chances on people." I understand and I certainly don't feel like my life has been stymied by lack of opportunity. But I'm definitely still looking for the first one that really clicks.

</comment><comment><USER36> Mine is not a hiring story (though that's another story, since I was hired with just an English major), but a few months into my first job I asked my boss which of two different architectural approaches he thought I should take on a project, and he said, "I trust you." That really meant a lot to me.

</comment><comment><USER37> Noone has "taken a chance on me". I've had plenty of interviews, applications, resumes: you name it. Even went through the unemployment interview and resume courses. No real reason why. I can't even get a helpdesk position.

I've went back to school. I hope something pans out soon.

<comment><USER38> I had the same thing happen in the city I was in, no one was hiring programmers straight out of school, I got two phone interviews and that was it. Ended up losing a bet with my wife (That I could find a job in 3 months) and moving to Austria. Learned enough German to get a job (took about 5 months) and then found out they were desperate for software people here. I got two job offers in my first week of applying, I accepted one and have been with my firm for a year and a half now.

<comment><USER39> Out of interest, what is the attitude in Austria (and Germany) towards hiring programmers without degrees?

<comment><USER38> My colleague doesn't have a degree, the programmer I replaced also didn't have a degree. On the other side Austrian and German people see degrees as a rank and social status which means you will be generally respected more if you have a degree. Your starting salary will usually be higher as well if you have a degree.

</comment></comment></comment></comment><comment><USER40> Brian, who took a young student with no experience and took the chance for me to be a co-op. Securing that position revamped my entire view of what I do and has already opened doors.

</comment><comment><USER41> My brother, was at a bad stage of my life and he invited me to co-found with him. Risky on his part, two years on though and we're miles ahead of where we dreamed we could be!

</comment><comment><USER42> pretty much everyone who hired me before i turned about 27.

</comment><comment><USER43> Sendhub took a chance on me when I was just half a year into programming and one hackathon API prize in. I've been set ever since.

</comment><comment><USER44> I am getting a 404. Why would someone pull down a page which is on the front page of HN?

</comment><comment><USER45> Life. I am here. Sentient, mobile, and mentally able. That's all I need.

</comment><comment><USER46> Why would I expect someone to take a chance on me?

</comment><comment><USER47> No Mom/Dad ?

</comment><comment><USER48> Paul Graham in my 2013 summer application /future</comment>


What every software engineer should know about Apache Kafka - <AUTHOR> https://www.michael-noll.com/blog/2020/01/16/what-every-software-engineer-should-know-about-apache-kafka-fundamentals/ <comment><USER2> This notion of "stream-table duality" might be the most misleading, damaging idea floating around in software engineering today. Yes, you can turn a stream of events into a table of the present state. However, during that process you will eventually confront every single hard problem that relational database management systems have faced for decades. You will more or less have to write a full-fledged DBMS in your application code. And you will probably not do a great job, and will end up with dirty reads, phantoms, and all the other symptoms of a buggy database.

Kafka is a message broker. It's not a database and it's not close to being a database. This idea of stream-table duality is not nearly as profound or important as it seems at first.

<comment><USER3> Recently I watched a 50-engineer startup allocate more than 50% of their engineering time for about two years to trying to cope with the consequences of using Kafka as their database, and eventually try to migrate off of it. The whole time I was wondering "but how could anyone have started down this path?!?"

Apparently the primary reason they went out of business was sales-related, not purely technical, but if they hadn't used Kafka, they could have had 2x the feature velocity, or better yet 2x the runway, which might have let them survive and eventually thrive.

Imagine, thinking you want a message bus as your primary database.

<comment><USER4> I worked with a short-lived startup which made this exact mistake. I suggested persisting important events to a postgres db, but I was shot down over and over. They were positive it would be fine to hold everything in kafka. There was this notion that kafka functioned fine as a long term data store with the correct configuration (I'm not arguing that), but there was no solution to the lack of... Well, everything postgres could offer. As you mentioned, the lack of velocity really dragged them down. Customers were constantly upset that x broke or y wasn't delivered yet, and each time it was clear that kafka wasn't helping them meet those needs.

Kafka is awesome for what it does, but there are a ton of people out there using it for weird stuff.

<comment><USER5> Do you happen to know what sort of thinking leads a team down this path? It seems a fundamental mistake. Resume driven development?

<comment><USER6> In addition to what others have answered, I think many devs consistently underestimate the amount of heavy lifting that relational databases do.

And even worse a lot of this heavy lifting isn't obvious until you are fairly far into a project and suddenly realize that to solve a bug you need to implement transactions or referential integrity.

<comment><USER7> Not just Kafka, either. Mongo, Cassandra, couchbase, Redis, SOLR and elastic search are all mistaken as replacements for an RDBMS.

<comment><USER8> Cassandra __can __replace an rdbms in a lot of cases if eventual consistency works for your data.

It's not a drop in replacement though, that's for sure.

<comment><USER7> Better than the other suggestions, but my experience is that you run into Cassandra's limitations really quick: you can't query on non-primary columns, and you can't join tables without pulling all the data down to the client and merge manually.

<comment><USER8> > _can 't query on non-primary columns,_

That's incorrect unless I'm misunderstanding what you mean with primary columns.. It's just not as efficient.

And missing joins are by design and one of the reasons cassandra is as fast as it is. And as I said before: it's not a drop in replacement. You need to architect your application around it's strength to leverage it's performance.

It is however usable as a rdbms replacement if you know what you're doing and your data is fine with eventual consistency.

And knowing what cassandra does with your data is important as well. It's actually a key-value store on steroids. Once you get that, it's limitations and strengths become obvious

<comment><USER7> > That's incorrect unless I'm misunderstanding what you mean with primary > columns

I'm referring to "Cannot execute this query as it might involve data filtering and thus may have unpredictable performance. If you want to execute this query despite the performance unpredictability, use ALLOW FILTERING"

> It's just not as efficient.

That's what I thought, too, so I "allowed filtering". And crashed the database. (Apparently the correct solution here is to use Spark).

<comment><USER8> haha, yes - thats a real possibility.

cassandra is at its heart a key-value store. for every queryable field, you need to create a new in-place copy of the data. so you're basically saving the data n-times, for each way you wish to query the data.

if you however try to query on a field which hasn't been marked as query-able, the cluster will have to basically select everything in the table and do a for loop to filter for the 'where' clause :-)

But i haven't used in production yet, so you've got more experience then i do

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> >With Kafka, such a stream may record the history of your business for hundreds of years

Do not do this. Kafka is not a database! Kafka should never be the source of truth for your business. The source of truth should be in whatever consumes data from Kafka downstream when messages are committed as read. Why? Because in your middle layer you can do all the data normalization, sanity checking, processing, and interaction with a REAL database system downstream that can give you things like transactions, ACID, etc.

Of course Confluent _wants_ you to try to use Kafka as a DB, so your usage of it is very high and you pay for the top support package and they have you by the cajones, but that doesn't mean you should do that. You will miss out on all the benefits of using a real database, with what benefit? Having a simple client API?

<comment><USER10> So, I've been having a back and forth with a colleague on this and I'm genuinely interested in why you so strongly suggest this.

For the record, I have good real world experience with all kinds of databases (relational, NoSQL, and even legacy multivalue and hierarchical ones), and I don't see why what you say has to be "always true".

One way of looking at Kafka is that is an unbundled transaction log, nothing more or less, so it could be used to permanently store and replay transactional activity, if one wishes. Noting that, even most databases don't store an immutable, permanent transaction log (as they often grow to be huge and are truncated every so often, and tables are used as the current state).

This article by Confluent seems to cover the topic (yes, recognizing it is written by the very vendor you suggest is trying to lock us in): [https://www.confluent.io/blog/okay-store-data-apache- kafka/](https://www.confluent.io/blog/okay-store-data-apache-kafka/).

Ok, so how about the idea of a persistent, immutable, never-ending transaction log (uhoh, sounds like blockchain now!)? Setting aside Kafka for now, what do you think about the basic design pattern? To me it sounds a bit like it could represent a temporal database in raw transactional log form. Why not?

EDIT: After rereading your comment I see your main concern is using Kafka as a database management system (DBMS). I would agree, that's not what Kafka is for. But, I don't think Confluent intends that use case, do they? I look at it more as an unbundled single component that is very useful by itself, and is part of a more complex data platform/architecture (ex. Lambda or Kappa architecture).

<comment><USER11> > Ok, so how about the idea of a persistent, immutable, never-ending > transaction log (uhoh, sounds like blockchain now!)? Setting aside Kafka for > now, what do you think about the basic design pattern? To me it sounds a bit > like it could represent a temporal database in raw transactional log form. > Why not?

Because nobody wants to be replaying events all the time to get their actual data. They want the data to be, well, materialized. Replaying events can be helpful if you need an audit trail but the systems which need that have mostly all evolved their own audit trail techniques, e.g. double-entry accounting.

The people who invented these streaming event systems quickly realized that continually replaying events from the beginning would get absurdly expensive, so they even implemented 'checkpoint' events that snapshot the current state of the data every once in a while so that replays can start from (a hopefully recent) snapshot and finish quickly. At that point you have to encode the logic of how to roll up all events into the current state into your checkpointing code, which immediately enforces the notion of a global current state of the data, which is in fact what RDBMs solve anyway.

<comment><USER12> RDBMs do not generally (ie with a generic interface) allow access to the backing event stream, though, meaning you'll need to write this yourself when you need to sync changes across databases. There's no free lunch.

<comment><USER11> Across different databases as in Postgres-to-Maria, sure. But people who decide to do that should know what they are getting into. But across different instances of say Postgres, it is rather simple.

<comment><USER13> Debezium (debezium.io) might be interesting for you; it provides open-source change data capture for a variety of databases; together with the right Kafka Connect sink connectors (or using it via Pulsar etc.), setting up a Postgres- to-Maria data pipeline is quite easy. (Disclaimer: I work on Debezium)

</comment></comment></comment></comment></comment></comment><comment><USER14> Just a remark to writers, when you redact an "introduction to smth" please refrain from writing down the name of your product 50 or more time in the first paragraph. It's totally frustrating and made me run away to just look up wikipedia instead to get a grasp of the general idea.

Example: You've probably heard of smth thing and wonder how smth differ from smth else. In this article about smth we will dive into smth things to discover how smth is well better suited to do things thanks to smth things and other things that are really specific to smth! The power of smth enable things to things in a way things do things that make smth something you need to learn about.

So during this journey about smth will be cut in four part the first being an introduction.

(...) --sudo click the link for first part

This is the first part of a fourth series about smth to learn more about things and things in smth.

Smth is very specific about things, and that's specifically why smth is well suited for things. Smth is a new way to do something that will make you think more about things and things. Let's now dive into smth...

Smth use things as a things to do the smth things with tings on smth.........

\--sudo repeat marketing ad nauseam

No matter of wether the actual product is pure gold or pure garbage you probably just lost 50% of the readers at some point.

<comment><USER15> i totally agree with what you're saying but you should also know that redact doesnt fit in your sentence

<comment><USER14> Too late to edit sorry. English is not my native language and I clearly see my translation mistake now. Thank for pointing out ;)

</comment></comment></comment><comment><USER16> Something that I wish I had known about Apache Kafka a year or so ago is that it essentially has no support for long-running tasks, i.e. tasks where longest-possible-worker-execution-time >> longest-tolerable-group-rebalance- time.

After much angst in trying to work around this issue, I finally gave up and switched to Pulsar. Pulsar isn't without it's own issues (mostly around bugs and general maturity) but it handles this particular scenario admirably.

<comment><USER17> It's true, message buses and work queues have different characteristics. It sounds like you want a work queue, not a message bus. I have very successful experience with using rabbitmq for work queueing, but as you mention there are others too.

<comment><USER18> Pulsar works quite well as a message queue: [https://pulsar.apache.org/docs/en/cookbooks-message- queue/](https://pulsar.apache.org/docs/en/cookbooks-message-queue/)

<comment><USER19> Pulsar can also support infinite data retention using data tiering and by spreading data on all nodes.

It's much better than Kafka when you don't know when the consumer will come back looking for what changed

<comment><USER18> Spreading data on all BookKeeper nodes, yes :) Pulsar brokers are themselves stateless.

</comment></comment></comment></comment></comment><comment><USER20> What every software engineer should know about Kafka, it's dead.

If you're not already technically chained into it and Confluence hasn't already upsold your poor organization avoid it.

If you want the early flexibility and the rapid PoC just look at AWS Kinesis/Firehouse.

If you're looking at large scale (+1 gbit ingest, 100k/s, kind of stuff) then Apache Pulsar is where to go.

<comment><USER21> I would argue that Kinesis is not the way to go for quick POC unless you're tied to the JVM.

Pulsar is still niche in most enterprise.

Kafka is not dead, there are many enterprises (including 2 successful ones I've worked at in the past 5 years) that have built POCs and successful products on Kafka. Its supports all language performantly and has tons of community support. I would argue there is nothing better to build a POC on.

<comment><USER22> Why would you be tied to the JVM by using Kinesis? You can write a client library for any language. We did it for Go.

<comment><USER23> Because the official client from AWS is written in Java.

It is possible to write clients in any language, however, it is not that simple especially when you need to handle logic of scalling out or in your kinesis stream (that will split or join shards) and when you have multiple consumers in the same consumer group (you will need a distributed locking mechanism and a logic to steal locks if one consumer dies).

So it is not trivial.

<comment><USER24> Sure it is. AWS ships a bunch of clients for Kinesis as well as a kinesis agent for shipping log files.

[https://docs.aws.amazon.com/sdk-for- go/api/service/kinesis/](https://docs.aws.amazon.com/sdk-for- go/api/service/kinesis/)

<comment><USER23> This is an SDK not a full client for Kinesis.

This is the only official implementation from AWS: [https://github.com/awslabs/amazon-kinesis- client](https://github.com/awslabs/amazon-kinesis-client)

The client handles horizontal scalling, checkpoiting, shards split and shards merges. Using just the SDK, you have to build this yourself (unless you are using Kinesis for use cases that dont need it to be done correctly).

This is the doc for developing consumers using the SDK [https://docs.aws.amazon.com/streams/latest/dev/developing- co...](https://docs.aws.amazon.com/streams/latest/dev/developing-consumers- with-sdk.html)

And in the second paragraph of this documentation: "These examples discuss the Kinesis Data Streams API and use the AWS SDK for Java to get data from a stream. However, for most use cases, you should prefer using the Kinesis Client Library (KCL) . For more information, see Developing KCL 1.x Consumers."

</comment></comment></comment></comment></comment></comment><comment><USER25> I'm surprised by the amount of criticism in this thread. I've used Kafka in the past and it definitely got the job done (as a message bus, not using stream processing or the other more whiz-bang features). What do people use instead?

<comment><USER19> my experience is the opposite unless you really need the whiz-bang feature you should never use Kafka it's the least reliable and hardest to run it require active babysitting by skilled team of admin and ops.

if you don't need low end-to-end latency (tailing consumer blocked on long polling) it's better to use something like HdFS or AWS S3, but if you need it but have low throughout it's better to use something like RabbitMQ. if you have both high throughout and need polling then it's worth investing into Apache Pulsar.

<comment><USER26> Pulsar is half baked with limited number of half baked clients even for major languages. Kafka instead is a bulletproof solution with tons of clients in any flavor, with instruments to detect issues, alert about them. Don't even compare them.

<comment><USER27> Pulsar is far better designed than Kafka and is much more reliable and scalable. Clients in every language are an entirely different issue and mostly down to developer bandwidth because it's a small team.

Kafka actually doesn't have that many great clients either, they all are just wrappers around the C++ librdkafka library.

Pulsar clients are also easy to create because of the stateless protocol, per- message acknowledgements, and optional websockets API. Or you can just use their Kafka bridge adapter and use your existing Kafka clients.

</comment></comment></comment></comment><comment><USER28> As a Kafka alternative, has anyone attempted to use PostgreSQL logical replication with table partitioning for async service communication?

Proof of concept (with diagrams in the comments): [https://gist.github.com/shuber/8e53d42d0de40e90edaf4fb182b59...](https://gist.github.com/shuber/8e53d42d0de40e90edaf4fb182b59dfc)

Services would commit messages to their own databases along with the rest of their data (with the same transactional guarantees) and then messages are "realtime" replicated (with all of its features and guarantees) to the receiving service's database where their workers (e.g. [https://github.com/que-rb/que](https://github.com/que-rb/que), skip locked polling, etc) are waiting to respond by inserting messages into _their_ database to be replicated back.

Throw in a trigger to automatically acknowledge/cleanup/notify messages and I think we've got something that resembles a queue? Maybe make that same trigger match incoming messages against a "routes" table (based on message type, certain JSON schemas in the payload, etc) and write matches to the que-rb jobs table instead for some kind of distributed/replicated work queue hybrid?

I'm looking to poke holes in this concept before sinking anymore time exploring the idea. Any feedback/warnings/concerns would be much appreciated, thanks for your time!

Other discussions:

* [https://old.reddit.com/r/PostgreSQL/comments/gkdp6p/logical_...](https://old.reddit.com/r/PostgreSQL/comments/gkdp6p/logical_replication_for_async_service/)

* [https://dba.stackexchange.com/questions/267266/postgresql-lo...](https://dba.stackexchange.com/questions/267266/postgresql-logical-replication-for-async-service-communication)

* [https://www.postgresql.org/message-id/CAM8f5Mi1Ftj%2B48PZxN1...](https://www.postgresql.org/message-id/CAM8f5Mi1Ftj%2B48PZxN1AbM-P%3D4YMLENY5zRaPwTbmbkFwCsTkA%40mail.gmail.com)

<comment><USER29> Just as Kafka isn't a database, PostgreSQL isn't a queue/broker. You can use it that way, but you'll spend a lot of time tweaking it, and I suspect you'll find it's too slow for non-trivial workloads.

<comment><USER30> Skype at its earlier peak used Postgres as a queue at huge scale. PGQueue. It had a few tweaks and, sure, it is an anti-pattern but it can work. It is sure handy if you are already using postgres and want to maintain a small stack.

</comment></comment></comment><comment><USER19> What every engineer should know about Kafka is that it should not be used for anything critical like you would use Cassandra or Hbase.

But if you are ok with partitions not being available for many hours or losing all written data because the cluster did not automatically move parution to 3 new replica after 2 of the replica failed ... then it's a good scalable(speed) product.

There is also no serious multi tenant support. So if you need multitenancy you gotta use kubernete and do one cluster per tenant and automate that yourself.

</comment><comment><USER31> There seems to be this common problem among relatively new technologies, that they're not _actually_ aware of what the average person knows about them. So let me be the moron in the room. I work at a company that uses Kafka. What I know so far is that Kafka is broken. It seems to me that this article is more about what every software engineer who plans to re-skill as a kafka engineer should know.

<comment><USER32> In which way is Kafka broken?

<comment><USER19> The main aspect for me after 5 years of running several Kafka cluster to run production critical system at Microsoft is that it's very fragile because of the bad design.

distributed system are hard to design correctly. When using HDFS you can create a single 1TB file if the cluster have enough capacity. And with (hdfs hbase cassandra ..) if 5 server permanently fail in the span of 24 hours you don't need manual intervention and your data is not lost.

In Kafka your partition data need to fit entirely on a single server and you might still run into issue if that server also hosting other partition.

And with Kafka if one by one the 3 server manually assigned as replica to one partition fail before an engineer is wake up in middle of the night and have time to fix it manually you just lost all your data.

<comment><USER33> Do you have examples of other systems that won't lose all your data if all its replicas fail?

This seems unavoidable in any scenario.

<comment><USER19> Assuming replication factor of 3 i'm not talking about 3 machine going down at exact same time, but in sequence. like 5 minutes apart.

All other distributed system handle this with no issue. Ex: Cassandra, Hbase/hdfs, CockroachDB

</comment></comment></comment></comment></comment><comment><USER34> So much criticism here! I've read a lot about Kafka over the last few years and I wish I had read this article earlier -- even basic questions like "Can Kafka store data persistently?" are not adequately answered in many intros to it.

That said, I do find the tutorial flip-flops a bit in target audience. It's mainly "this is what Kafka is", but sometimes has weird asides like "This is how to optimise Kafka" (redundancy, number of partitions, etc) which are pretty distracting from the more fundamental points.

</comment><comment><USER35> I read the introduction to the series, and then the introduction to the first part, and I'm still not sure exactly what Kafka is, or why I (as part of "every software engineer") need to know anything about it. The title suggests that the article(s) will convey some concepts that are useful in a broad sense, but from a skim, this looks like a lot of details about some database- ish product, which probably are good to know if you use that product, but not so much otherwise.

</comment><comment><USER36> Hmm, I'm pretty sure that a software engineer developing safety-critical firmware for embedded medical systems does not need to know anything about Apache Kafka. Or a game developer. Or a web frontend developer. Given the title it's surprising how many software engineers can in fact go through life and career without ever knowing anything about Apache Kafka.

<comment><USER37> By now, "What Every Software Engineer Should Know" headlines aren't intended to be serious.

<comment><USER36> I wish, instead they are just not intended to be taken literally.

</comment></comment></comment><comment><USER38> Is there a reason Kafka wouldn't choose to leverage an existing mature RDBMS for their table storage instead of rolling their own?

<comment><USER39> Well they use rocksDB internally. Though that is not RDBMS.

</comment></comment><comment><USER19> Anyone know how large scale chat system ( facebook messenger, ...) are implemented? My guess is message are in a data store like hbase and a very simple notification system let user that are online know to fetch for new entry

<comment><USER40> It was roughly that at one point, [http://highscalability.com/blog/2010/11/16/facebooks-new- rea...](http://highscalability.com/blog/2010/11/16/facebooks-new-real-time- messaging-system-hbase-to-store-135.html), but now does something else, [https://engineering.fb.com/data- infrastructure/messenger/](https://engineering.fb.com/data- infrastructure/messenger/)

<comment><USER19> thanks a lot. This seem to be a very simple but smart design.

</comment></comment></comment><comment><USER41> anyone wanna share their thoughts about deploying their own messaging system vs using a messaging system provided by their cloud provider?

<comment><USER42> The GCP Pub/Sub API has largely replicated all the features you'd want out of Kafka (including Consumer Groups). The primary consideration at this point is cost. There's an inflection point in size (at some very large message volume) where it makes sense to start running your own Kafka cluster and hire a dedicated person or two to manage it. Most companies will never get anywhere close.

Any project just starting out should use Pub/Sub. One thing I really like is that GCP provides emulators of Pub/Sub et al for local testing. That used to be a bit of an obstacle not too long ago.

In terms of lock-in, I don't see how that applies to an AMQ. The data moving through it should only be transiently persisted, up to a week or two at most in the usual case.

If you want to avoid cloud lock-in, have DB backups, use Postgres/MySQL/etc, containerize your service(s), replicate data in object storage, etc. Common sense stuff, if that's something that's of concern.

Personally, I've seen "vendor lock-in" weaponized as an excuse for a lot of costly NIH bullshit. It's painful to reflect back on a project that could have involved literally a tenth of the time and pain it ended up taking because of that one choice alone.

<comment><USER43> GCP Pub/Sub is insanely expensive

<comment><USER44> I don't have a lot of devops experience, but I was just struck by how cheap it appeared to me. $40 / TB? I can't even imagine how much money is sunk into managing the Kafka clusters at my employer.

</comment></comment></comment></comment><comment><USER45> "Every engineer".

The whole human activity of reducing science to practical art will do just fine without knowing Apache Kafka, thanks.

</comment><comment><USER46> "Your scientists were so preoccupied with whether or not they could, they didn't stop to think if they should."

</comment><comment><USER47> Cool click-bait title

<comment><USER48> Not necessarily, it's most likely a reference to the popular article from 2013: [https://engineering.linkedin.com/distributed-systems/log- wha...](https://engineering.linkedin.com/distributed-systems/log-what-every- software-engineer-should-know-about-real-time-datas-unifying)

<comment><USER49> Or directly from 1991's "What Every Computer Scientist Should Know About Floating-Point Arithmetic".

<comment><USER50> Where the "every" was actually justified, contrarily to its descendants.

</comment></comment></comment></comment><comment><USER51> Some times you should just use Graylog (kafka+elastic) ,especially if you are already comfortable with Elastic. You get to scale,retain and monitor your data in addition to stream processing. If I have fairly small Go webapp that needs stream processing, I would just use Graylog instead of trying to use Kafka directly.

</comment><comment><USER52> One thing Kafka bite me is for each partition there can be only one consumer. If your consumer had performance issue (e.g using CPython) then you are out of luck.

<comment><USER44> The thing this article pointed out to me, which I didn't know before, it that is why you should just set the partition count very high to begin with. Then you just horizontally scale consumers.

<comment><USER52> Yeas that's the lesson I learned the hard way. The publisher was from another department and had only 1 partition with large volume of data.

</comment></comment></comment><comment><USER53> Kafka for events Flink for continous sql against topic events Kudu for event storage. Databases for data storage and queries

</comment><comment><USER54> 1st rule is you don't need kafka.

Second rule is don't forget about 1st rule.

</comment><comment><USER55> can someone give me a tldr for what problem kafka solves / what situation calls for the usage of kafka?

</comment><comment><USER56> this is so timely, thank you!

</comment><comment><USER57> Use pulsar - so much better than kafka

<comment><USER58> Why is that?

<comment><USER59> millions of topics, no zookeeper ect. Kafka is addressing these shortcomings on the roadmap.

<comment><USER32> For a lot a projects this is hardly a problem. On the other hand Kafka is more mature and has a huge ecosystem (Kafka Connect, Kafka Streams, KSQL, ...).

<comment><USER60> Kafka also has less moving parts even today before zookeeper removal is complete (2 vs pulsar 3).

<comment><USER18> But one of those moving parts of Pulsar, BookKeeper, means that you're no longer storing data on message brokers. Worth the extra puzzle piece for a lot of use cases.</comment></comment></comment></comment></comment></comment>


Terms and Conditions for Free Roku Plan - <AUTHOR> http://blog.videobox.com/blog/index.php/2013/03/05/terms-and-conditions-for-free-roku-plan/ <comment><USER2> Beware - NOTHING on the giveaway page indicates that the parent site is for Adults only! Click on the main page and - viola ... NSFW picture!!! Hope that your boss isn't behind you when that happens!</comment>


Show HN: HoverCards – Preview YouTube, Twitter, Reddit, Imgur, and Instagram Links - <AUTHOR> http://hovercards.com/ <comment><USER2> Very well done. The sidebar is a nice addition.</comment>


Reddit launches Ethereum-based tokens for cryptocurrency and Fortnite subreddits - <AUTHOR> https://www.theblockcrypto.com/linked/65178/reddit-launches-ethereum-based-tokens-for-cryptocurrency-and-fortnite-subreddits <comment><USER2> /r/EthTrader tried this with Donuts a while ago and it led to a community split to /r/EthFinance from all of the drama. Adding a monetary reward for comments and posts really skews the incentives of the community members who choose to participate. When you tie things like this to governance (your coins affect your vote weight on the polls) it really creates a perverse incentive for commercial products to come in and create astroturfing content to farm coins.

I think this is a neat experiment and it will be fun to watch what happens but I'm skeptical that this moves the subreddits in a positive direction.</comment>


Rambling On [PHP] Internals - <AUTHOR> http://blog.ircmaxell.com/2013/09/rambling-on-internals.html#comment-form <comment><USER2> The author is complaining about lack of vision, leadership and regulations. And most of us can perfectly understand that, except: those are exactly the things that set PHP apart from most other major open source projects.

It is by far the most anarchic and disorganized major OSS project and yet it _still thrives_. It still moves forward, it still gets better. Yes, it's design foundations as a language are not particularly elegant (to put it mildly), but that's pretty much the only major thing that's wrong with the resulting product.

According to all known wisdom about how an OSS community should function, PHP should have imploded and forked a long time ago. It should no longer exist.

And yet, despite this "I quit" rant, PHP has had relatively few major conflicts. The PHP way is unique, and while it may offend the sensibilities of people who like a nicely organized and disciplined community ran by a benevolent dictator or inspiring visionary, dammit, it works.

I strongly suspect that any successful attempt to solve PHP's organizational "problems" would actually result in killing it stone dead.

We already have Python and Ruby ea. PHP should stay weird.

<comment><USER3> Killing PHP dead would be as hard as killing IE6 was.

<comment><USER4> Much harder, I'm afraid.

</comment></comment></comment><comment><USER5> I read php-internals every day, and.. this is totally understandable. There's a lot of opinionated people on that list with totally different visions - nikic, stas, that one guy Lester who is convinced 5.3 and E_STRICT was the worst thing in the world... PHP just appeals to too many people to have a consensus. Possibly the point this was made most clear was when the property accessors RFC was declined on a hairpin vote despite having a majority (and the time that switching to an actual AST-based parser was a non-starter).

Your contributions and voice will be missed.

<comment><USER6> >that one guy Lester who is convinced 5.3 and E_STRICT was the worst thing in the world

Ahahaha, it's all coming back now. I used to find his emails funny.

I also remember why I unsubscribed from php-internals as well, though...

</comment></comment><comment><USER7> An eyeopener for me was reading parts of the discussion how the new namespace seperator was chosen: [http://pastebin.com/2iJP4Qhx](http://pastebin.com/2iJP4Qhx) (from [https://wiki.php.net/rfc/namespaceseparator](https://wiki.php.net/rfc/namespaceseparator))

If you read that IRC log and truly believe that a multi-million/billion dollar ecosystem/environment should be ruled by what reads like kids between 12-16 chatting, then go ahead. I won't. Apart from that there is enough rant on PHP on the internet already ;)

</comment><comment><USER8> Subscribe to it for awhile and you'll see.

It also turned off the suhosin author to the point where he moved onto other stuff.

He had some great ideas, now lost (no longer works with PHP > 5.3 )

But Zend shows up and folds back in some great stuff into PHP once in awhile.

Take a look at their now opensourced opcode cache, it's faster than all others.

<comment><USER9> > But Zend shows up and folds back in some great stuff into PHP once in > awhile.

That's kind of the exception instead of the rule, really. Andi and Zeev are very, very infrequent contributors to php-internals.

They proposed releasing the thing that became opcache after Rasmus finally convinced everyone how much of a pain in the rear end maintaining APC was.

</comment></comment><comment><USER10> This is super relevant. How to protect your open source project from poisonous people.

[http://www.slideshare.net/vishnu/how-to-protect-yourhow- to-p...](http://www.slideshare.net/vishnu/how-to-protect-yourhow-to-protect- your-open-source-project-from-poisonous-people)

<comment><USER11> That's extremely helpful advice.

The video to those slides : [https://www.youtube.com/watch?v=ZSFDm3UYkeE](https://www.youtube.com/watch?v=ZSFDm3UYkeE)

<comment><USER12> They also have a few other talks on youtube about similar topics and a book now: [http://shop.oreilly.com/product/0636920018025.do](http://shop.oreilly.com/product/0636920018025.do)

</comment></comment></comment><comment><USER13> I'd often wondered if the patchwork, self-contradicting, non-standard, anarchistic nature of PHP was a reflection of the mind-set of the creators.

<comment><USER14> I'll give you that. No clear direction. As I thought about this a little more in Ruby you have Matz, Python has Guido, Scala has Odersky, C# has Anders (those are just those that come to mind and I'm not sure of the current involvement). I can't think of who PHP really has like this. Rasmus maybe, but I don't think it's the same as the other languages I mentioned--understandably so due to other projects/engagements.

</comment></comment><comment><USER15> Any large community has these problems. This is the advantage to using forum engines that allow non-anonymous upvotes/downvotes over a naive mail-list - people can silently agree and separate the wheat from the chaff, and consensus becomes far more visible. You can even give the important contributors greater "weight" to the ups/downs (this is not a democracy, contributors are worth more).

<comment><USER16> All the "forum" software that I have seen (opposed to more "ephemeral discussion" software like HN/Slashdot/Reddit) provides such a goddamn awful reading/browsing/discoverability experience that any benefits it may have over mailing lists are completely lost. Just for starters, mailing lists allow the discussion to thread (as do sites like HN, Slashdot, and Reddit) and don't force you to use a shoddy web interface that shows you only a few dozen posts on a single page. If I have to scroll to the bottom of a page and click a link that says "513", I am having a bad day.

I have never seen a large open-source project that uses "forums" in a way that doesn't impose massive overhead. Without fail, forums for open source projects are dreadful while mailing lists are, with a few notable exceptions, pleasant. When I am looking for information about a project and discover that all the project officially has is a forum, my heart sinks; it ranks up there with finding out the project is still hosted on sourceforge or a mega/rapidshare/whatever clone.

<comment><USER17> Every time I'm forced to use a forum for something, I wish usenet hadn't succumbed to spam & binary warez. Many of the clients from 20 years ago have more (useful) features than modern forums.

It's probably about time to reinvent it again, tunneled over Websockets with a Flat Responsive html5 Retina-Aware Interhyperface or something.

<comment><USER16> Any reinvented Usenet should be client agnostic, otherwise it is just going to eventually succumb to the same problems that we already have with web forums.

<comment><USER15> In which case it will eventually succumb to the problem of RSS - the biggest client will decide to drop it in favor of moving to a proprietary system.

<comment><USER16> _(Well I suppose that is what you get for using a webclient that you are not paying for....)_

What is the alternative here though? Instead of making it client agnostic, make it _not_ client agnostic? How does that not make the situation even worse? Being client agnostic means that it _doesn 't matter_ if one particular client is discontinued. That is practically the entire point of being client agnostic...

Any solution that will be viable in the long-term needs to be decentralized and client agnostic. Otherwise you are not reinventing Usenet, you are just reinventing web forums poorly.

Edit: Aaaah, I need more sleep.

</comment></comment></comment></comment></comment></comment><comment><USER18> I recently started learning PHP as my first programming language and I love it so far. But the amount of negativity and hatred I see towards PHP on the internet (even among so-called PHP lovers) makes me question my decision of learning PHP.

My main purpose for learning PHP is for web-development. I have looked into java code and I felt like I am going to shit pants if I have to learn that.

2 questions.

\- Am I wasting my time with PHP?

\- What are some good alternative for web-development that preferably doesn't have a steep learning curve?

<comment><USER19> Whether or not you stick with PHP, you should learn some other languages. At the very least, it will make you a much better PHP programmer. But maybe you'll find something you like better.

Ruby, Python, and Node are all reasonable next things to try. Large communities, lots of resources, and plenty of example code to look at.

<comment><USER20> I leave PHP last year. The way PHP moves is not my way anymore. After so many years of using, it get boring too.

PHP has a problem, the "old stuff" / compatibility, like all older projects have. They change things, but slowly and sometimes inconseqent. I hope the will really renew everything with a new version, even if that mean that they lose many users.

In the last years so many new languages and styles were born, you feel really old with PHP ;-) ... that does not mean that the others were better.

</comment></comment></comment><comment><USER21> There is pretty much new independent PHP engines nowadays, one of my favorite is an embedded PHP5 implementation named PH7 written in ANSI C and following the SQLite3 coding style (very impressive) [http://ph7.symisc.net](http://ph7.symisc.net)

</comment><comment><USER22> PHP is addictive.

You can create whole web app in one PHP file from scratch and it will have everything including API and DB management layer and be secure and fully functioning.

And it will work on all servers and on all operating systems.

Millions are made by average developers developing themes and plugins for wordpress.

Hard to beat all that.

#drama is for queens :)

<comment><USER23> Common Lisp is addictive.

You can create a whole web app in one CL file from scratch and it will have everything including API and DB management layer and be secure and fully functioning.

And it will work on all servers and on all operating systems.

Also hard to beat that.

<comment><USER24> > fully functional

FTFY

<comment><USER23> CL people are not very tolerant of functional nazis. (Probably because functional nazis are usually static type system junkies who scoff at macros and incomplete-impure-but-working solutions to problems which are often associated with CL.)

</comment></comment></comment></comment><comment><USER25> I think the only hope PHP has of continuing development is if someone big like Facebook can add some direction to it. Maybe they will but I think last I checked even they were giving up on using it for much more then a thin veneer to their back end services.

<comment><USER9> Even if a large company like Facebook did want to help add direction, they'd have to do so within the confines of internals and the RFC process.

The prehistoric luddites and trolls on the list would shout down any truly language-improving proposals in the same way they always do, regardless of source.

The only way to get rid of those unwanted elements would be a fork, but that would be unproductive. The remaining thing keeping PHP so popular is how amazingly ubiquitous it is. A fork wouldn't have that advantage, especially in comparison to languages and environments that are objectively better anyway.

<comment><USER26> > The remaining thing keeping PHP so popular is how amazingly ubiquitous it > is. A fork wouldn't have that advantage, especially in comparison to > languages and environments that are objectively better anyway.

Initially, I believe you are correct, but I am not sure long term. PHP is easy for a system admin to install. Other than perl, I am not sure if there is anything out there that is as easy. I would imagine a fork, if it wants to survive, would need to be just as easy.

I do wonder why PHP has never really had any competition in the "super easy for my system admin" category.

<comment><USER27> A lot of things are becoming extremely easy to install though. With the growth of AWS and cloud-services I'd guess there will be movement away over the next 5 years.

<comment><USER26> I have not seen anything that comes close (other than CGI scripts) from either the system admin side or the client code side. I would love to know if other folks are addressing this. The closest (well, other than Perl) is some of the tooling surrounding Java deployment.

</comment></comment></comment></comment></comment><comment><USER28> I think what's important here is that PHP developers shouldn't look past the curtain. The whole web stack is a house of cards. The state of PHP doesn't change that. ;)

PHP is powering a huge industry. A lot of money is flowing on PHP code, from PHP developers banging out code for paying clients to companies like Facebook which got started as PHP apps. Wordpress powers a ridiculous number of companies which run on its code.

PHP may be a mess, but lets keep things in perspective. The state of what really matters is alive and well.

</comment><comment><USER29> HN white knights JavaScript but hates PHP. I can't figure it out. Each language is horrible in similar ways.

<comment><USER30> I've used both. Each of these languages has its quirks. But JS's design makes PHP's design look like it was done with crayons.

<comment><USER31> I will never forgive JS for the `this` pointer.

<comment><USER30> I will never forgive PHP for all kinds of shit.

<comment><USER32> Care to expand on that a bit (without repeating items found in the "Fractal of Bad Design" article)?

</comment></comment></comment></comment></comment><comment><USER33> Writing in PHP is a war against the platform - that's why PHP code tends to look like a battlefield...

<comment><USER34> That's why i'm impressed with Symfony and Doctrine.

Taking one of the worst language out there , and creating these well crafter libraries , that's insane. I think type hinting and basic POO saved PHP.

<comment><USER35> Symfony..maybe..but Doctrine?

Do we really need a sudo-sql language for creating object->db table relational mappings?

I used Doctrine extensively at my last job..and I will not be using it for any personal projects. It's bloated and when I need to optimize a sql query, I have to essentially create a hack outside of the main ORM..which kinda defeats the purpose in the first place.

I much prefer Zend or Codeigniter.

<comment><USER36> Doctrine1 was a _mess_. It was riddled with magic functions that were horrible to work with. It was slow, too.

Doctrine2, mixed with entities, is _awesome_. Its relationship manager is fun and easy to work with and it works very well.

You can even create hand-written custom queries if you want, using its own DSL that's fairly similar to what you would expect.

</comment></comment></comment></comment><comment><USER37> He complains about how internals lacks leadership, so why doesn't step up and fill that void instead of running away?

<comment><USER11> He tried that. He also cites an example :

      "To illustrate why this is an issue, I posted this reply explicitly asking
      for feedback on two items. How many replies did I get? One. A single reply.
      Oh, there were more replies to the thread afterwards. But they were too
      busy arguing over the other off-topic or non-constructive things in the
      above list to actually discuss the open issues with the proposal."

The problem here seems to be quite endemic and I don't think there are any simple fixes. This seems to be a cultural problem. I'm not even sure how to tackle something like that.

</comment></comment><comment><USER38> PHP will be useful if the bloat is eliminated. Just plain procedural scripting, simple, straight - Nothing else is needed. By the way, that is my view of any scripting language. Languages used to write complex systems should be type safe and strictly structured.

</comment><comment><USER39> Is this just a case of meritocracy at play?

I haven't followed the full discussion and events leading up to here, but would it be very wrong to assume this just a case of a bystander starting a discussion that didn't really catch on with any of the active maintainers?

<comment><USER40> Given the responses cited at the end of the post, I would assume that the author was previously a contributor of some significance to the project.

<comment><USER39> I just grepped the php-5.4.19 source and the only mention I found was for a bug reported and fixed in some earlier version, though.

<comment><USER40> Doing a `git shortlog --author "Anthony Ferrara"` in php-src/master pulls up 72 separate commits.

</comment></comment></comment></comment><comment><USER41> Slightly off topic, but relevant question: how many people move away from PHP because they get too annoyed to work with it - even if it does "work" \- and how many are moving from other languages _to_ PHP because they had enough of another language.

</comment><comment><USER34> Move to Python, I'm sure the community can benefit from your skills. I see no future in PHP development. If the core is rotten ,you can have the best libs in the world (symfony,doctrine,...) in the end you still need to face PHP architectural problems. Or back to the JVM maybe.

</comment><comment><USER42> Am I the only one who feels like this is a temper-tantrum of somebody who wanted to be in charge of more toys, punctuated with some salient (but obvious) points about PHP?

<comment><USER43> ircmaxwell has contributed a hell of a lot to PHP recently, this is not some worthless shmuck complaining, this is someone that _can_ and _does_ provide significant value to the community.

<comment><USER42> Who said he was a "worthless schmuck"?

Geniuses can have temper-tantrums, too. Just because he has made worthy contributions doesn't mean that he isn't acting like a drama queen.

<comment><USER44> You referred to his post as a temper tantrum (subtext: he's being childish), refer to him as someone who just wants more "toys" (subtext: also childish), and just had to point out that his points about PHP were obvious (subtext: nothing interesting to say). Then you suggested that he might be a drama queen (subtext: too numerous to list here). That may not reflect your feelings, but that is what you communicated, whether you meant to or not. It's the nature of electronic communication- it's very easy to misinterpret. Maybe you talk like this in real life and being somewhat hyperbolic in your choice of words is a humorous verbal quirk, but none of that comes across electronically.</comment></comment></comment></comment>


Music Ngram Viewer - <AUTHOR> http://www.peachnote.com/info.html <comment><USER2> so it should be possible to do the musical equivalent of nonsense texts, where you start with some pattern and piece together fragments using n-grams to find common following phrases. has anyone done this yet?

text equivalent described here - [http://www.decontextualize.com/teaching/dwwp/topics-n- grams-...](http://www.decontextualize.com/teaching/dwwp/topics-n-grams-and- markov-chains/) (or [http://www.theregister.co.uk/2008/10/02/sarah_palin_intervie...](http://www.theregister.co.uk/2008/10/02/sarah_palin_interview_generator/))

[searching around i found various interesting, related reports of work (<http://peabody.sapp.org/class/dmp2/lab/markov1/>; <https://ccrma.stanford.edu/~jacobliu/254report/>), but nothing using this corpus.]

<comment><USER3> David Cope experimented with Markov-chain-style generation of Bach pieces in the '80s, but he ended up switching to other models, like augmented transition networks (ATNs), because he wanted more global coherence, rather than locally coherent but wandering/aimless pieces.

He eventually ended up with a more complex system, EMI, that generates pieces in the style of around 100 composers, some of which have passed the "musical Turing test" in that scholars of the composer in question thought it might've been a genuine work.

There's a lot of pretty interesting experimentation with just about every possible generative grammar by other researchers, though, from Markov models to HMMs, context-free grammars, L-systems, cellular automata, etc. This 2009 book has a pretty good overview of what people have done, though it's textbook-priced: [http://www.amazon.com/gp/product/3211999159/ref=as_li_ss_tl?...](http://www.amazon.com/gp/product/3211999159/ref=as_li_ss_tl?ie=UTF8&tag=abxxm-20&linkCode=as2&camp=217145&creative=399373&creativeASIN=3211999159)

<comment><USER4> Yeah and there's a lot more out there

[http://www.amazon.com/Art-Artificial-Evolution- Evolutionary-...](http://www.amazon.com/Art-Artificial-Evolution-Evolutionary- Computing/dp/3540728767/) (about graphics as well as music)

</comment></comment></comment><comment><USER5> Previous discussion: <http://news.ycombinator.com/item?id=3203340></comment>


Criminals Explain How They Justified Their Crimes to Themselves (2016) - <AUTHOR> https://www.vice.com/en_us/article/gqmz4m/how-criminals-justify-crimes-psychology-gangsters-uk <comment><USER2> _" Next up was former armed robber Frank Prosper, now an actor, who said he purposefully avoided thinking about the rights and wrongs of what he was doing while he was an active criminal."_

This is the mental process, in various forms, that criminals use to do what they do. Rand identified this as the "blank-out" and the root of all evil;

 _" Thinking is man's only basic virtue, from which all the others proceed. And his basic vice, the source of all his evils, is that nameless act which all of you practice, but struggle never to admit: the act of blanking out, the willful suspension of one's consciousness, the refusal to think — not blindness, but the refusal to see; not ignorance, but the refusal to know."_ [1]

The error is in the title, the criminals don't justify their actions to themselves and all the other justifications in the article are how criminals justify their actions to others when called out to explain what they did, i.e. rationalization.

[1] [http://aynrandlexicon.com/lexicon/evasion.html](http://aynrandlexicon.com/lexicon/evasion.html)</comment>


I made my first 100$ with a Feedback platform (in the first 3 weeks) - <AUTHOR> Hi all!
I'm glad (and surprised) to see that 3 weeks after official launch of https://roastme.xyz I reached 100$ on revenue with direct sales.
I know that this is not MRR but the metrics are quite good for the moment: new visitors coming to site, a 4% of converting rate (users vs paying users), and new experts submissions (almost 20, 1 per day).
I'm working hard to keep improving the site and maintain this revenue over the next months, but I have to struggle with low traffic and increase participation inside my platform. Any advice?
Hope you like it! <comment><USER2> You have launched and got your first customers. That is so cool. congratulations.

The FAQ needs some work. For example,

\--> We get inspired from the comedy world, where you put in the middle and receive criticism. In the last times we saw a few of them across the Internet (for instance here). Now, we want to create a specific portal for this.

\--> We got inspiration from the comedy world, where you put some one in the middle and they receive criticism from everyone in the room. This model works great for websites as more eyeballs equals multiple perspectives and varied feedback. Here is an example of a web roast. We wanted to create a specific portal for this.

This can obviously be refined further.

Also your activation email ended up in spam. What service do you use to send transactional emails? (This is pure conjecture) Can the domain tld be an issue?

<comment><USER2> Also, there are two pricing tables. One on the home page and one on the page "Price". They show different cost per plan.

<comment><AUTHOR> Wow, that's true, I will fix ASAP! Thanks!

</comment></comment></comment><comment><USER3> First of all great work with the website. Looks amazing. Some things:

\- The red color on the banner is too bright. Hurts the eye.

\- Why would I use your service rather than something like Reddit's r/roastmystartup?

\- Too many pricing verticals and a huge gap between free and first paid option.

<comment><AUTHOR> Thanks for your feedback! I will take a look at the red color to improve readability.

I know that there are some others places to submit your startup, but here you can "buy expert review" and have more features than others platforms like reddit. For this reason I added in the FAQ:

I can do it for free at X (twitter, indie hacker, etc.) Yes, probably yes. But with roastMe, you are supporting a hand-made little business and you will get real expert feedback & we will work hard to get you more and better feedback.

I will increase the functionalities in free paid options soon.

Thanks for the feedback!

</comment></comment><comment><USER4> clickable link [https://roastme.xyz](https://roastme.xyz)

</comment><comment><USER5> The red feels strong, but maybe that's the point. Do you have to track cookies - can you add an "X" to opt-out?

<comment><AUTHOR> Thanks! I will take a look on the red (too many comments about it!). Do you mean be able to disable some cookies?

</comment></comment><comment><USER6> 1\. Please no red.

2\. Able to differentiate a clickable link and text on the header.

Good idea. Best of luck

<comment><AUTHOR> Thanks for your feedback! I will improve the header and take a look at the red issue.

</comment></comment><comment><USER7> Looks really great! Seems like a solid model you can build out.

Red is a little strong. I agree with other comments. Good job!

<comment><AUTHOR> Thanks!

</comment></comment><comment><USER8> What technology stack did you use?

<comment><AUTHOR> · Laravel + VueJs + jQuery + HTML5 + CSS3</comment></comment>


A little-noticed surge across the U.S.-Mexico border: Americans heading south - <AUTHOR> https://www.washingtonpost.com/world/the_americas/the-little-noticed-surge-across-the-us-mexico-border-its-americans-heading-south/2019/05/18/7988421e-6c28-11e9-bbe7-1c798fb80536_story.html <comment><USER2> I work for a tiny (remote work) startup that isn't funded so the pay is minimal for now. I lived in San Diego for most of my life but I couldn't really afford it anymore without giving up on the startup.

So I moved to Playas de Tijuana. The rent is hundreds of dollars less than the apartment that I had in the ghetto on the US side, but it's right on the beach.

I haven't owned a car for awhile so take Uber most of the time when it's too far to walk. Short Uber trips would cost about $6 in the US, and longer ones $23 or so. In Tijuana it is $2 for short or $7 for longer. Some things like many electronics seem to be similar prices to the US side, but other things like food are significantly less than the US. Normally to get groceries I walk to Calimax or Walmart. The private health insurance with medication was adding up to quite a bit and I did not want to lie and pretend I lived in California so I did not maintain that. The most expensive medication I have is the Advair asthma inhaler which costs $400 in the US is about $40 here.

Overall my cost of living is maybe 66% lower.

As far as the visa, I was honest when I initially walked across the border that I was planning to stay for an extended time, and they just had me pay $30 for a 180 day tourist visa. Then I actually screwed up and it was expired by a few weeks before I realized so I walked back across the border again and came back and told them I was going to stay for at least a few months more. I was apprehensive when I went to buy the visa again because it seems like they could easily track it via the computer when you give them your passport and purchase it. But the attendant didn't say anything and just gave me another one.

This leads me to believe that hardly anyone in Tijuana cares about the visas for Americans and that the official policy is to just keep giving 6 month tourist visas indefinitely.

If I did not want to pay the $30 every six months anymore then I could just lie when I cross back and say I was just going to party for a few days. It doesn't seem like there is any possibility of anyone besides me looking at the tourist visa while I am here. They only look at it when you cross back over and I rarely receive mail in my San Ysidro box so I rarely need to cross.

<comment><USER3> Even if you overstay a visa, it's 700 pesos to get a new one inside Mexico (in Guadalajara at least).

I'm the only person I know who leaves the country every six months, and it's mainly because I like to visit my parents at least twice a year and it only costs a $100 ticket for me to see them.

Everyone else discards the visa and pays the 700 pesos (35 USD) when they finally fly out of Mexico.

</comment></comment><comment><USER4> Once you get away from the hustle and bustle of the border towns, Mexico is the land of sun and flavor. I've got family that live like Kings off thier civil service pension in oceanfront villas just a few short miles south of here. There were scary stories about the narco related violence all over the news a while ago and I'm sure it's still happening but in my experience if you don't go looking for trouble you don't find it. I understand why the locals want to leave for better opportunities. I also understand why the locals on this side of the border head south- for better opportunities. Yes,Mexico has some issues Just like everywhere else But the housing is cheaper and sometimes even better than what you get in southern California. Beer is cheaper (Coronas are about 10$ a case) People are friendlier and really have a honorable culture compared to where I live now. Food prices are basically comparable in the cities with all your favorite brands ( produce is better than USA imho) Most places have less regulation regarding building codes and zoning although I understand this cuts both ways but basically if you get the land( they do 99yr leases instead of ownership unless you are a citizen) If you get the land- you can build to your hearts content. There is a huge population of usa people there already and from countries far and wide and the locals for the most part embrace development . I could go on and on

<comment><USER5> I love being in Mexico but when the occasional thing happens it's horrifying. In Cabo San Lucas someone in my family has a house and it feels safe and fun to go there. Then two years ago there was a kind of mini drug war and one day there were dead bodies hanging from the freeway overpass [1]. If I was driving by they might just kill me to keep it quiet. That's the terrifying thing, I never worry about that in the US. I have a friend from Mexico, he was a college prof, he refused to give a student a good grade based on a bribe but he didn't know his family was in some kind of gang and one thing lead to another and he decided to immigrate for safety. We never had problems in my family, but we stopped going that year it got dangerous there.

[1] [https://www.kcra.com/article/bodies-found-hanging-from- overp...](https://www.kcra.com/article/bodies-found-hanging-from-overpasses- near-cabo-san-lucas/14488563)

</comment></comment><comment><USER6> I'm an American that's been living in Mexico City for 2 years and don't want to ever have to leave. AMA

<comment><USER7> What's crime like compared to a major city in the USA?

<comment> King-Aaron This is what I'm most interested in. The picture that the media paints of Mexico City is one of constant violence and crime, I'd love to hear a differing perspective.

<comment><USER8> US media I see depict Mexico City as _safer_ than the country at large due to less gang influence.

<comment><USER6> There are a couple of neighborhoods here like Tepito that people say to avoid at all costs. But other than that I don't think it is less safe than any major city anywhere. Mexico City is huge. A lot of people don't realize how big it is.

</comment></comment></comment></comment></comment><comment><USER9> Centuries after independence, seems like the former colonies keep mirroring the relationship of their former colonizers - Spanish-speakers going north to work, English-speakers going south to retire.

<comment><USER10> Except the colonizers of Mexico were Spanish. They definitely did not speak English

<comment><USER11> I think he is referring to the English going to Spain to retire and the Spanish going to London for work mirrors Americans going to Mexico to retire, and Mexicans coming to America for work opportunities.

<comment><USER9> Yes, exactly.

</comment></comment></comment></comment><comment><USER12> I'm sorry, call me paranoid or easily duped by bad press, but there is just no way. I understand that you can get more got your money there, but I'll take my chances here. America needs work, don't get me wrong, but no thanks.

<comment><USER9> Eh, lots of Europeans would say the same about moving to the US!

<comment><USER13> Sure and vice versa for us about Europe. Either way Mexico is much more worse off than the other two entities.

</comment></comment></comment><comment><USER14> [http://archive.is/qb2GJ](http://archive.is/qb2GJ)

</comment><comment><USER15> How much would you need per month to live very comfy? In a beachside place?

<comment><USER3> "comfy" varies so much between people that the question cannot be answered.

I lived in a tiny unit on a beach in Oaxaca for $60/mo. And I consider walking out the front door of an apartment onto a beach more comfy than anywhere I have lived so far in the States for $1000+/mo.

Meanwhile, I know people who aren't willing to give up even the smallest trappings of familiarity, and they can only endure in a Hilton in a tourist city that doesn't even seem like Mexico.

<comment><USER15> What I wood need; good condition house or unit with 2 bed room, fast internet, safe area, no shortage of good food, beach

<comment><USER15> Safe for kids too

</comment></comment></comment></comment><comment><USER16> > "Despite the fact that Donald Trump insults my country every day, here we > receive the entire international community, beginning with Americans, with > open arms and hearts," Villareal said. [..] Unlike the United States, Mexico > hasn't traditionally had many immigrants. Less than 1 percent of the > population is foreign-born.

13.7% in the US are foreign-born - making US arms more than ten times as open to the international community as Mexico's. It's easy to be welcoming to foreigners when their numbers are a rounding error compared to the total population.

<comment><USER5> 13.7% might be foreign born but immigrants are crucial to our economy, they stimulate the economy by their spending and we'd have negative population growth without them. Even undocumented or illegal immigrants are a net positive economically. Many many industries would be devastated without their foreign workers, including agriculture and restaurants, among many other areas.

<comment><USER17> Illegal aliens are a net loss of around $113b cost to the taxpayers. More than they bring in and it's just a little more than I want to spend. If California complains about having $1b funding pulled for their rail project imagine having 113b pulled. At least be honest that you don't know what you're talking about.

[https://www.fairus.org/issue/publications- resources/fiscal-b...](https://www.fairus.org/issue/publications- resources/fiscal-burden-illegal-immigration-united-states-taxpayers)

<comment><USER16> I don't think it's fair to distill everything down to good if it grows the economy, bad if it doesn't. For example, we keep hearing how oppressed minorities are, but in the last ~35 years, a single generation, California went from 66% to 37% white - is a 2% higher annual GDP growth worth becoming a minority for?

<comment><USER17> I live in California, we are not doing as great as everyone thinks we are. We have homeless, shit in the streets, stupid high rent, extra traffic, high taxes, etc.

As great as it is to live here I think the state is actually going downhill over time.

I also don't care what it does, if an illegal alien takes from the tax payer that money could be spent on, oh I don't know, healthcare, homeless, VA, or any other humanitarian purpose. I can walk outside and see a couple tents, I drive to work I see dozens, I drive further and I see tent cities. Let's take care of our own citizens first for once? Why not improve their home countries instead of everyone coming here?

<comment><USER5> I live in Seattle and there are similar problems. The homeless are all us citizens. They don't have problems caused by immigration. I talk to these sad souls frequently. Every day unfortunately I walk past them on the way to work. I say unfortunate because I want them to have a place to live and not be on the street.

They have nothing to do with illegal immigrants. These homeless people aren't going to be working in a restaurant or other kinds of jobs immigrants often do. In seattle the minimum wage is $15 an hour, that is not enough to attract the homeless here.

<comment><USER17> You're dense, I said rather than spending $113b on the illegal aliens how about we spend even if it's a fraction of "one hundred thirteen billion" on the homeless problem. If they're all US citizens then you should feel empathetic to help them more.</comment></comment></comment></comment></comment></comment></comment>


Ask HN: Were you born outside US and got paid help to apply to US colleges? - <AUTHOR> Looking to understand how prevalent it is for international students to pay for assistance in applying to US colleges.  It seems common, was that your experience?  Mind sharing how you did it?  (question from SUS2019 graduate) <comment><USER2> It is very common here in India. We have paid counselors who recommend colleges and courses and help you study for SATs, etc. and write essays and stuff.

Some (but not most, I think) of the counselors have tie-ups with a few foreign universities/colleges and get paid I think.

But by far, most make money by charging students for their services.

<comment><AUTHOR> Thanks! Can I hit you with some follow up questions? firstname.lastname@example.com</comment></comment>