Parsing HTML in Python with BeautifulSoup - <AUTHOR> http://www.jgc.org/blog/2009/11/parsing-html-in-python-with.html <comment><USER2> I think there's an important distinction between telling someone they've written "poor code" and telling them they're a "poor programmer". Whether the latter is true or not is irrelevant to the discussion at hand and comes across as an ad hominem argument.

I more or less agree with your criticism of parsing via regular expressions, but there was no need to distract us all with insulting Eric (and he should know better than to respond in kind).

<comment><AUTHOR> One thing I asked myself after I wrote that comment was how I would feel if I had been on the receiving end. I think there would have been two reactions.

First, I would have had the sort of anger and upset reaction that would have come with someone describing my code as "looking like it was written by a poor programmer". I'm sure that I would have wanted to lash out at that person.

But that reaction would have quickly been replaced with deep shame that my code had been examined by someone and found to be very poor. Once I had examined the code I would have felt very bad because I had put something out there of that quality.

<comment><USER3> esr is a poor programmer. there are dozens of examples.

<comment><USER4> Indeed, there are dozens of examples of poor programmers.

</comment></comment></comment></comment><comment><USER5> The only problem with BeautifulSoup is that its kind of slow, but if it's fast enough for you go for it, otherwise you can try lxml with its lxml.html module. See also: [http://blog.ianbicking.org/2008/03/30/python-html-parser- per...](http://blog.ianbicking.org/2008/03/30/python-html-parser-performance/)

<comment><USER6> Upvote I used to dig BeautifulSoup. It's latest release is slower than it's predecessors. That's why I use PyQuery nowadays, it's based on lxml and uses a jQuery like API to access the DOM.

<comment><USER7> I'm always terrified that these conversations will unearth a library or technique that will immediately obsolete most of the code in my current pet project.

Thanks!

</comment></comment></comment><comment><USER8> At Tipjoy, I needed to parse pages to find Tipjoy widgets to validate the owner of the widget. The configuration made sense, but left me in an undesirable position of parsing lots of pages.

At first I used regexes. I would find bugs, and fix them. The bugs affected the product in delaying confirmation of content ownership, which stinks.

I noticed that the bugs didn't stop coming, so I switched to BeautifulSoup. It was faster and better. I highly recommend it for anyone using Python.

</comment><comment><USER9> This guy is correct, of course. But he comes across quite rudely. Sometimes it is better to not be right at all than to be right at any cost.

Actually, I'm a bit surprised that this article has been voted to the top of HN. It's not particularly interesting or challenging from any perspective that I can think of.

<comment><AUTHOR> I was a bit rude, but it's not always inappropriate to be rude. Recall that I was addressing a person who claims, literally, to be a God: <http://catb.org/~esr/writings/dancing.html>

<comment><USER10> I disagreed with you on the previous thread, but I would agree that if anyone deserved a harsh reality check on his skills, it would probably be esr:

<http://esr.ibiblio.org/?p=1350#comment-241727>

"On the other hand, every once in while I am reminded that "programmers I've known" are clustered in the top 5% of ability, usually the top 1% of ability."

</comment></comment></comment><comment><USER11> The author doesn't state which version of Python / BeautifulSoup he's using, but based on this page, the older versions parse HTML more reliably.

[http://www.crummy.com/software/BeautifulSoup/3.1-problems.ht...](http://www.crummy.com/software/BeautifulSoup/3.1-problems.html)

<comment><AUTHOR> I was using 188.8.131.52

</comment></comment><comment><USER12> I've tried to use BeautifulSoup, but I wasn't impressed. Coming from Hpricot and Nokogiri, it leaves a lot to be desired. Mostly because it's not very tolerant of bad markup, which is a deal breaker when you're trying to parse random HTML from around the web. I'm also pretty sure it's a dead project.

</comment><comment><USER13> I started using BeautifulSoup a few weeks ago to help write more exact unit tests for front end design. Instead of saying "make sure this page contains abcdef", I can say "pull the exact section that abcdef is supposed to be in, and make sure it is (or conversely, make sure it's NOT showing up when it's not supposed to). If you have access to the HTML code, you can make it a lot easier on yourself by putting eyecatcher IDs or classes in elements and starting from there.

</comment><comment><USER14> I've used BeautifulSoup before and I've gotta say that it was kind of a pain; surely easier than writing regex myself, but I've had a much more pleasant parsing experience with other methods, like XPath in scrapy or jQuery API.

BeautifulSoup is also only kinda-sorta-maintained from what I recall, so it's probably better to use something else.

<comment><USER15> I've found this addition to BeatifulSoup useful: <http://code.google.com/p/soupselect/>

which lets you use CSS expressions to find what you want.

</comment></comment><comment><USER16> It's a shame we don't have something like Beautiful Soup for .NET or C or any other of a dozen languages -- it would have made this article more applicable.

But the thrust is good -- for easy-to-describe yet tough-to-implement problems, always steal somebody else's work if you can

<comment><USER17> There's a port for Ruby, Rubyful Soup <http://www.crummy.com/software/RubyfulSoup/>

Apparently it's slower, though. I've only used the python version, which works very well if you use it with the old SGMLParser.

<comment><USER16> UPDATE:

For those of you doing .NET, the HtmlAgilityPack looks very interesting. You can search using multiple paradigms such as XPath, XSLT, and Linq

<http://www.codeplex.com/htmlagilitypack>

</comment></comment></comment><comment><USER18> Another option is to run the source through Tidy with XHTML output and then treat it as XML.

</comment><comment><AUTHOR> The other thing that I wondered about is why he goes to all the trouble of web scraping when SourceForge (at least) offers an XML export option: <https://sourceforge.net/export/>

</comment><comment><USER19> Is there an equivalent library for PHP? It might save me a lot of time.

<comment><USER20> Yes, try Simple HTML DOM:

<http://simplehtmldom.sourceforge.net/>

Its a little light on documentation, but has a familiar syntax and handles malformed HTML. I've used it in a number of projects and its been great.

</comment></comment><comment><USER20> So someone open-sources code they wrote, and the author decides to insult them for it? And as if being an ass on HN wasn't enough, he regurgitated it on his blog and then resubmitted _that_ to HN? Ugh.

Parsing malformed HTML is a nightmare, I'm impressed the programmer even gave it a shot.

<comment><USER21> You're not supposed to give it a shot. That's the point.

<comment><USER20> I fundamentally disagree with this. If an existing solution exists, one shouldn't try to create his own? Then why did Linus build Linux?

There's also a lot to be said for curiosity. I'm currently building an email client in my spare time, not because I don't think there are plenty of great ones already, but because I'm interested in programming with IMAP. I'll probably open source the final result, and I don't think there's anything wrong with doing so.

<comment><USER21> If you want to build an HTML parser, go ahead. From the comments in the code, it's clear that ESR tried to parse HTML because he thought he had to, not because he wanted to.

<comment><USER20> Fair enough, good point.

</comment></comment></comment></comment></comment><comment><USER4> The question is would you have spent that much time picking apart his code if you had liked the guy ?

</comment><comment><USER22> Yeah good job for destroying his code publicly like that, that's pretty cool and I hope it make you feel good. Just send him a patch email with the beautifulsoup version instead.

And I can't believe this is ranked first on hacker news.

<comment><USER23> Peer-review and constructive criticism are valuable forces for change and improvement.

Clearly there's some personal politics going on (insults having been traded) but jgc does raise some good points: the original code is very tightly-coupled code to whatever Berlios outputs, and would incur a large maintainability cost.

It's also bought BeautifulSoup to my attention, which seems quite a neat utility built _exactly_ for this sort of thing.

For these reasons it's interesting, and is why I've upvoted it.

<comment><AUTHOR> It would be foolish of me to pretend and try to hide my dislike for Eric Raymond, but it comes down not to a personal problem, but a problem with the way he presents himself.

In this case, the juxtaposition of the quality of the code (which was truly poor) and Raymond's opinion of himself (recall that he claimed to be a Core Linux Developer at one point) made plain the problem that many people have with the man.

Interestingly, his response to my criticism was not to say something like "You are right, but don't be nasty about it". Instead he wrote a blog posting going on about how right he is. Oddly, I share his concerns about HTML parsing, but I think he's wrong to not use an HTML parser and do everything by hand. Having done a lot of screen scraping work dealing with all the edge cases is a pain.

And, also, Raymond claims to be very thick-skinned: <http://catb.org/~esr/writings/take-my-job-please.html>

<comment><USER10> >Oddly, I share his concerns about HTML parsing, but I think he's wrong to not use an HTML parser and do everything by hand

It looks like he didn't really understand how BeautifulSoup (or for that matter, xpath) works. For example, he seems completely unaware of the '//node' syntax which would completely sidestep the issue of encoding structure in the code.

<comment><USER24> And in his defense, someone who has not used BeautifulSoup might not realize how robust it is. I was deeply impressed with it when I used it for a scraping project - it's really good at handling tag soup _and_ giving you powerful access to the parse tree. I would not have expected one tool to perform well in both those areas.

ESR probably just made some assumptions about the capabilities of available parsing options that would be correct but for a few exceptional tools. Let's fault him for not checking his assumptions rather than name-calling about poor programming.</comment></comment></comment></comment></comment>


Techstars Graduates' Survival Rates: What the Numbers Show - <AUTHOR> http://blogs.wsj.com/venturecapital/2014/11/20/techstars-graduates-success-rates-what-the-numbers-show/ <comment><USER2> I know a lot of zombie startups that make little to no money, yet they raised seed rounds that will last them 2 years.

I know a handful of other startups that were "acqui-hired" but the founders did not see any returns (and the VCs didn't even get their initial investment back). Even in the case that the returns were 1.2x the initial investment, these are not the winners that investors are looking for.

I would love to see a more in-depth analysis of these situations, but unfortunately, many of them are not publicized.

<comment><USER3> > I know a lot of zombie startups that make little to no money, yet they > raised seed rounds that will last them 2 years.

Were these zombie startups in YC or Techstars?

<comment><USER4> You see this in the startup world in general. Worth noting there's often a lot going on behind the scenes at zombie startups – off-label experiments, etc., so they can be less dead than they appear.

</comment></comment></comment><comment><USER5> Well, on a long enough time span, all companies die. Picking the number of years afterward to measure by is tough and may not be the best way to do so. Perhaps measuring the success by a more personal and human method describes the elephant better: Deferred income. Take an average (yes, also fraught with trouble) of yearly income for people of that skill set (entrepuners, coders, widget makers, inventors, etc ) and then see if the founders and employees made less, within a standard deviation, or far above that average, on a year to year basis. This is really troublesome to get the data at all, as it is very personal and emotional to a lot of folk. Also, the average is pretty wonky here as well. However, it should be a starting point to see how companies are doing a little bit better than a plain up/down number.

<comment><USER6> the problem is that those companies took investor money and the purpose of them is to in the very mininum, turn a profit. Most startups don't focus enough on making money from the start and go out of business.

Looking at most of the startups in my local area, I can almost immediately tell which ones will be out of business.

hoping for a buyout isn't a business model.

<comment><USER5> I sincerely hope you are going into the VC game then! Skills like that are very hard to come by and worth a lot.

</comment></comment></comment><comment><USER7> If you have a look at the Y Combinator startups (at [http://yclist.com](http://yclist.com)), quite a large proportion of the 2008 and earlier startups appear to be dead. Although it only lists "Dead" for a some of them, if you click on the links for the other sites (apart from the ones that say "Exited") you'll see a lot of their websites don't exist any more. It looks like about 80-90% are dead.

<comment><USER8> It would be an interesting exercise for someone to go down the list and try and contact each of the seemly dead companies to confirm.

Not sure if there is a way for people to contribute updates to yclist? For example just clicking through from the oldest first I see that the company snipshot was acquired at some point but can't see any tech coverage on it apart from a page on the acquirers website.

<comment><USER9> I'd be happy to contact and otherwise help out updating that Yclist; hadn't seen it before but there are a _lot_ of older URLs that aren't working. With the corp name (if it's possible to find) for say, California, you can look up the organization and see if it's still active, etc.

</comment></comment></comment><comment><USER10> That's about normal for VC-funded firms. About 10% are big winners, about 10% go bust, and the rest become "zombies", able to meet their operating expenses but not return their investment. Zombies are a headache for VCs; they require attention but generate no revenue.

YCombinator has been reducing the amount of startup capital each startup gets, so that the zombies die faster.

[http://www.quora.com/Whats-the-real-reason-for-the-drop- in-c...](http://www.quora.com/Whats-the-real-reason-for-the-drop-in-cash-that- Y-Combinator-gives-companies)

<comment><USER11> As of April they now give a flat $120,000 for 7%:

[http://blog.ycombinator.com/the-new-deal](http://blog.ycombinator.com/the- new-deal)

</comment></comment><comment><USER12> I'd like to see data on "no accelerator". This of course would be tougher to put together, since by definition there exists no coherent list of such companies in one place.

Other related data breakdowns I'd love to see:

\- Number of founders

\- Amount of seed capital taken

\- Type of funding vehicle (equity, convertible note, SAFE or similar)

\- Location

<comment><USER13> I've read one draft paper that does exactly that... Try to compare companies that have gone through accelerators to counterparts that haven't. I would hope it gets published sometime next year. I can't share the content (I agreed to keep it confidential), but I found it intriguing. (I'm the founder of [http://www.Seed-DB.com](http://www.Seed-DB.com) so that's how I'm in touch with some researchers in the area)

</comment></comment><comment><USER14> @sama said: "there are now 27 YC companies worth $100 million or more!" \- I wonder how many there are for TS?

@Grabcad was sold for ~100m, I wonder what the other major successes have been?

<comment><USER13> They haven't exited, but prominent companies are: DigitalOcean, SendGrid, Orbotix/Sphero, DataRobot. (They've ask raised pretty significant rounds)

<comment><USER15> I'd put Localytics on that list as well.

</comment></comment></comment><comment><USER16> These charts aren't great. A single survival curve could display all of that data, and account for the different starting times of the startups[1]. But it looks like Datawrapper can't do survival curves. Also, a 3 section pie chart is a waste of space.

[1] [http://en.wikipedia.org/wiki/Kaplan%E2%80%93Meier_estimator](http://en.wikipedia.org/wiki/Kaplan%E2%80%93Meier_estimator)

<comment><USER17> My PhD adviser's rule of thumb with pie charts: don't use pie charts.

<comment><USER18> Florence Nightingale invented the pie chart to be able to convey medical data visually in a time before other visual devices were invented. They still serve a role, but an argument against them today is that representing two dimensional data in three dimensions can be misleading (such as w/surface area).

<comment><USER19> Sorry, but did you mean one-dimensional data represented in two dimensions, as in scalars represented through areas?

<comment><USER18> Pie charts can be three-dimensional, but thanks for clearing up what I muddied.

</comment></comment></comment></comment></comment><comment><USER20> I wonder if most of the people behind these startups are still working under the "work hard, huge payout" mantra, given the evidence against that highly unlikely outcome.

</comment><comment><USER21> Does this include startups that were incubated by another accelerator which was bought by TechStars?

Excellerate Labs in Chicago comes to mind..

<comment><USER22> What makes you think Excelerate was 'bought'?

<comment><USER21> Was always my assumption that's what "join forces" meant:

1) [http://www.techstars.com/announcing-techstars-in- chicago/](http://www.techstars.com/announcing-techstars-in-chicago/)

2) [http://technori.com/2013/02/3147-excelerate-labs-to- become-t...](http://technori.com/2013/02/3147-excelerate-labs-to-become- techstars-chicago/)

</comment></comment></comment><comment><USER23> So 0 IPOs so far?

<comment><USER15> Can't tell if this is a joke. Typical time to IPO is like 8+ years aka longer than TechStars has been around.

</comment></comment><comment><USER24> What is always deceiving in statistics like that? Authors rarely realise the fact that even if just a single startup survives with a good product, it is much better for humanity than survival of a single journalist or statistician (except R programmers, those are precious).

</comment><comment><USER25> "We also think these breakouts aren't necessarily a good way to judge accelerators."

Is Y Combinator a bit arrogant to say that the success of its startups is a bad a metric for evaluating their success? If it is a bad metric, what's a good metric?

<comment><USER26> Profits? The distribution of returns on investments is not flat.</comment></comment>


Show HN: Overcoat.js – Simple Labeled Overlays that respond to browser resize - <AUTHOR> http://codeshoppe.io/overcoat/

<comment><USER2> the demo is well done!

<comment><USER3> I agree, its very simple and easy to understand.

<comment><AUTHOR> Thanks!</comment></comment></comment>


Ask HN: Who is firing? - <AUTHOR> The startup I work at will soon be undergoing an exodus of staff due to a failure in leadership and management by the founders. Really painful, sad, situation for all involved.<p>So, I figure if we're allowed to talk about who is hiring, why not the other way around? At the very least, we can get a pulse on those companies which smells like roses on the outside, and reek of something more earthy on the inside. <comment><USER2> Twitter is firing the people who worked on Vine. [http://www.digitalmusicnews.com/2016/10/27/twitter- strong-q3...](http://www.digitalmusicnews.com/2016/10/27/twitter- strong-q3-fires-employees-shutters-vine/)

Really love how you are doing the opposite for this thread. I guess It helps people get prospective on both sides :)

<comment><USER3> I did a double-take when I saw Twitter posting[0] in the Who's Hiring thread.

What's the rationale here? Why are they firing and hiring at the same time?

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

<comment><USER4> Because having a mass layoff is an easy way to reduce non productive people. Otherwise you have to go through a complicated process for each individual, with a higher risk to be sued.

<comment><USER5> How come in a right to work regimen like the states how is it hard? you can just say "we have decided to cut back marketing head count by 20%"

<comment><USER6> Exactly. That's a layoff, not firing.

<comment><USER7> There are some nuances to the terminology. Companies avoid the term "layoff" because it implies that people might be re-hired once the slowdown is over. Growing up near Detroit, I remember layoffs where the status of the laid off workers was specified in the union contract. I have not heard of this kind of layoff in recent times, outside of unionized companies.

Laypeople like me usually reserve "firing" for people who are fired "with cause." When companies fire people "at will," they often use words like "reduction in force."

Perhaps a better way of thinking about it is the consequences of being fired. If you are fired "at will," then you are entitled to things like unemployment compensation, COBRA benefits, etc. If you are fired "with cause," then you lose those benefits.

If an employee is a klunker, they will often wait for business to slow down, fire them "at will," and pay the benefits, to avoid potentially getting sued for false termination.

</comment></comment></comment></comment></comment></comment><comment><USER8> I was fired from Wickr.com a few months after their layoffs.

I was fired from Wickr a few months ago. The given reason was they considered me not a Senior Android Developer and that was my title - I asked too many questions apparently. My manager indicated that if my title had been Android Developer there probably would not have been a problem. I don't care about titles really. I was hired in 2014 as a contractor for 3 months, and then they converted me to a salaried employee. I'm currently searching for a job. I'm finding it challenging to find my next job I think due to disclosing that I was fired from Wickr after a performance review and me being there 2 years doesn't help. The interesting thing is the performance review was held in December 2015, a few months after some layoffs where I was not affected but coworkers were. Another interesting thing is Wickr HR person told us that during the performance review to not expect any surprises. However, this underperformance was a complete surprise to me. I had never been notified. Personally, I would prefer to be laid off vs fired, even if it means a few months less of salary. It was very easy for me to obtain the job at Wickr. I wasn't asked hardly any technical questions and just did a phone screen, never met in person. One thing is I liked being a contractor at Wickr because I was paid for hours worked. The CTO was very insistent about us working overtime, meaning nights and weekends. I complained to him about this overtime requirement without getting paid in an email about a month before my performance review. The reason I emailed was because we were just in a scrum meeting where management was asking us for feedback on how the sprint went.

<comment><USER9> First question is are you sure you were fired with cause and not laid off?

If you're sure it's the first you might want to consult a lawyer. Usually a company needs a pretty strong paper trail and a lot of evidence of you screwing up royally before they can fire with cause.

<comment><USER10> Obviously, they should consult a lawyer, but I want to clarify this point, because the parent comment can be very misleading.

If you have a specific employment contract, all bets are off and only your lawyer and the courts can really determine what is/is not a permissible dismissal.

Assuming no contract, "cause" needs vary by state, so you can't just trust the parent message. In At-Will states, most of the time, you can be fired for any reason (except protected reasons) at any time including "asking too many questions", "asking the wrong questions", "not asking enough questions", or "he/she looked at me funny and I was in a bad mood." All are perfectly valid reasons for an on-the-spot dismissal in an At-Will state.

Now where it gets trickier is filing for unemployment. This can be harder to navigate than simple At-Will rules. In my state, all of the following will be docked against the employer for unemployment compensation:

* Just felt like firing someone

* Asks too many/not enough questions

* Constant quality issues

* Couldn't actually code and in a developer role

In all of the above, it is expected that the employer either should have figured it out before hiring, or should train/retrain to address the situation.

If an employer fires you for a policy violation, then unemployment will not be charged back to the employer (and likely the employee is not "unemployment eligible"). Usually this involves a longer paper trail with multiple meetings and "official" written notice of a policy violation in your company file before being terminated. Generally, this is a CYA thing for the employer so you cannot claim "you didn't know."

Protip: If there is a bs policy that everyone violates, you can still be fired for-cause for violating it. Chances are if this happens, someone really doesn't like you and they want a good reason to get you out.

But in all cases in an At-Will state, you are still out of a job.

(PS: You notice I do not name my state. Since this is an already tricky situation, assume my state is fictitious, and the rules and experiences are equally made up. Ask your lawyer or the equivalent of your state's (un)employment department/commission/branch for how things apply in your state.)

<comment><USER9> I think you are confusing termination in an at will state with "termination- with-cause" which means that you cannot collect unemployment, and cannot be rehired by the same firm.(or maybe I'm wrong)

When someone asks if you've been fired by a previous company usually they are asking about the second. They will call the previous company and ask if you are eligible for rehire.

<comment><USER10> No, not confusing it. Your original message was WRT paper trail, which is not required in all cases.

To your message here, fired means something very specific. Though fired can be for cause or no cause. And the reason of cause matters for unemployment.

Laid off means something else.

So really, there are four categories from an unemployment standpoint:

1\. Fired - policy violation

2\. Fired - "incompetent" (note: in the eyes of the employer)

3\. Fired - no cause

4\. Laid off

Both 1 and 2 are bad for new job prospects. 3 is hit and miss from a job prospect perspective, but still generally negative. 4 has no impact.

For unemployment in my state, 2, 3, and 4 will all let you collect (and bills back to the company who terminated the working relationship) where #1 makes you unemployment ineligible.

Circling back to your original message about paper trail, #1 is the only one that companies essentially always keep (or should keep) the paper trail for in my state, because it is the only one that is needed to to defend the company in an unemployment hearing if it ever gets there. For the other categories, there may or may not be a paper trail, and it certainly isn't required.

<comment><USER9> Do most companies when contacted by future prospective employers disclose which of these 4 was the reason for termination?

<comment><USER10> Depends on who is asking, what they ask, and for what reason. Though it is generally avoided.

If it is a simple reference check (never minding why a terminating company would be listed as a ref...) then as little information as possible would be given; possibly as small as "so and so no longer works here and that is the limit of what we can disclose with them" in order to avoid a bad reference lawsuit.

If it is an employment verification firm, depending on how rigorous the verification, it may come up by direct questioning and this should be expected by all parties.

Some companies do have strict policies about not disclosing some/all details. I am aware of a few firms, that wether good or bad, have policies against providing any reference, similarly, to avoid any potential lawsuit.

Now, when it comes to unemployment, if an ex-employee files a claim, the gloves will very likely come off. If the company can avoid a claim being made against their account, that is the difference of a lot of money on a recurring basis. So in this sense, reason very much matters.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> The company where I work has been going through problems and for the past few months people keep being let go. After 4 months of watching an average of 2 people loose their jobs per month, I had the idea to register dayssincelastlayoff.com. My idea was to have a 'X Days Since Last Injury' kind of image on the site that would just show this stat for various companies. My thinking was that knowing how frequently a company was letting go of it's employees might be a good metric to figure out if the management knows what they are doing. And my experience (written below) leads me to believe that a company laying off a small number of employees but doing it frequently is worse than a company that just does one huge round of layoffs.

This is the first time I've been part of a company that's going through a round of layoffs, and I understand that there are business decisions that lead to this. But the way I've seen it happen here is that instead of one massive round of layoffs (which they had as well. Fired around 8 people at the same time when the down sizing started) the management here kept firing 1 or 2 people at a time every month. From a morale perspective, this felt worse than loosing a bunch of people at once. Because this way, everybody keeps thinking if they are next. Has anyone else seen this happen, and did the company survive after this? Because what's happening at my work is that now, _everybody_ has started looking for new jobs, because of the uncertainty.

The layoffs have stopped since the last month, so I lost interest in the idea. But just to throw it out there, could something like this ever be useful? If yes I might do something useful with the domain.

<comment><USER12> Pretty much my experience. Once one useful person gets laid off, everyone can't help but think they're the next useful person to get laid off.

And in small groups it feels personal. So now you're playing CYA instead of taking the good kinds of risks with big payoffs.

<comment><USER11> In your opinion what hurts morale more? One big round of layoff, or multiple smaller rounds?

I've only seen the later happen, and personally I think I'd prefer the first one. If you know that after that large layoff round the rest of the company is safe, I'd venture that might be better for the morale of the remaining employees.

<comment><USER13> I worked at a place, where I was not laid off, but my friend was, on his birthday.

For me, this was a real eye-opener.

It would not have been a big deal for HR to wait another day, and then lay him off.

Another employee, also laid off, 2 days after moving out of his aunt's house and had put a deposit down on an apartment and DSL connection.

I think I left a month later right before the company imploded.

<comment><USER14> >but my friend was, on his birthday.

I've had this happen

good 20th.

<comment><USER15> I've had it happen too. Granted, it was kind of a bullshit zeroth job where it happened and the company folded a month later, but it still sucked. I almost brought in cupcakes to share with the company...

</comment></comment></comment></comment></comment></comment><comment><USER16> Back in the first dotcom bubble, we had FuckedCompany.com. It tracked these sorts of things on a daily basis.

<comment><USER17> Ahh FuckedCompany.com

I remember when I sat in an interview for a position at marchFIRST in Melbourne, Australia. And when it came time in the interview for them to ask "Have you got any questions for us?"

"Yeah, look this is kind of awkward, but I've seen marchFIRST mentioned quite a number of times on this website called fuckedcompany.com... Is that indicative of any issues I should be aware about?"

"Oh, don't worry about that, thats just our american parent company"

"Oh great"

So I accepted the offer, worked off-site for 3 months, and then marchFIRST went chapter 11.

Should have paid more attention to that damned website.

<comment><USER18> I worked at marchFirst back in the day. Even had the chance to meet Bob Bernard. That experience shaped how I run the company I co-founded 3 years ago. M1's number one problem was a culture of spending money without any thought of a return. Which was probably really odd for folks on the Whitman Hart side of the merger. It really was a merger of two opposite cultures.

<comment><USER19> This extended back to USWeb/CKS. I might still have a shirt bragging about a $300M quarter (Though if you looked at the financials,we had something like a $50M loss).

It was like the Tres Comma club, but tackier.

</comment></comment></comment></comment><comment><USER20> The Ontario Teachers' Pension Plan (OTPP) in Toronto, Ontario, Canada is currently laying off over 100+ (union, management and contractor) IT folks from the Enterprise Technology Solutions (IT operations) and Testing teams. All of the affected positions are being transferred to Tata Consultancy Services (TCS - India based offshoring service company), with those who are affected being mandated to knowledge transfer with TCS up to the January 31, 2017 termination date.

While there have been internal assurances that no other teams are going to be outsourced in the near future, I wouldn't recommend applying for any IT based roles at OTPP.

Full disclosure - I currently work for, and am affected by this outsourcing.

(edit - adding article for those interested in details) [http://www.benefitscanada.com/news/ontario-teachers-to- outso...](http://www.benefitscanada.com/news/ontario-teachers-to- outsource-108-it-positions-86124)

<comment><USER21> This reminds me of the RBC debacle a few years ago, where they abused the Temporary Foreign Worker Program to replace capable, salaried Canadian IT workers with offshore services.

That stint hurt not just those workers but other companies that were trying to hire the best in the world, only for the feds to deny visas due to one bad apple spoiling the bunch.

[http://www.huffingtonpost.ca/news/rbc-temporary-foreign- work...](http://www.huffingtonpost.ca/news/rbc-temporary-foreign-workers/)

<comment><USER20> Yes - we've discussed amongst ourselves (those affected) about what RBC did, and how they were lambasted in the media for abusing the visas. In our particular case, TCS seems to already have a number of local assets they're involving, with most of the work to be sourced by India based teams. I'm sure OTPP is trying to avoid similar negative press in regards to abusing visas, but I've been surprised how little coverage this news is getting in general (a pension plan funded by local Ontario union based teachers firing local union based employees for offshore assets.)

<comment><USER22> I worked at RBC during that time and can add a bit of context. Rumour was the CIO at the time (Morteza Mahjour) had staked his job on reducing operating costs of the tech services & operations division by bringing in an offshore firm called iGate. I wasn't laid off but plenty folks I know were and I left anyway.

The cost savings plan turned out to be a bust, projects ran over budget or never got off the ground at all and Morteza left. Apparently the new guy is turning things around. Some old colleagues have gone back after being offered hefty raises.

Edit: also, does the teachers union know this is happening? Isn't that retirement fund worth a fortune?

<comment><USER20> Yes - the Ontario Teachers Federation (the parent body that manages the different Ontario teachers' unions) was made aware of the outsourcing shortly after it was announced in July. They questioned Ron Mock (OTPP's CEO) shortly afterwards, and voted to have OTPP reverse the decision:

[https://twitter.com/oectagovernor/status/768170531468095492](https://twitter.com/oectagovernor/status/768170531468095492)

Sadly, this has resulted in no visible changes to the decision.

The OTPP fund is currently at $171.4 billion (all figures in Canadian dollars) as of December 2015, with $13.2 billion in surplus funding as of January 1, 2015. Makes you wonder why they'd go through this kind of cost cutting, doesn't it?

<comment><USER22> Wow! I have a few friends who teach in Ontario, will be interested to hear their thoughts. Thanks for the background info.

</comment></comment></comment></comment></comment></comment><comment><USER23> Not technically "firing" I suppose but all of the dev org in Atlanta and SF, including myself, were laid off at athenahealth last week. Something like 120 people. Sucks.

<comment><USER24> What's the difference between being fired and laid off?

<comment><USER25> In the UK, "getting fired" or "getting the sack" means you were incompetent (or commited misconduct) and are sent home. For incompentance, they can only do this after a "performance review" (they have to give you 3 months to improve, I think).

"Laid off" is called being "made redundant". The company can do this much more easily to a bunch of people, but it generally has to pay them ~6 months salary and _can 't_ hire new people at the same time, for the same job(s).

Any employer being more aggressive than this will probably be taken to an employment tribunal.

In the States, I've heard you guys use the terms synonymously, but it always sounded a little weird. Your employment law is awful for employees though, by comparison.

<comment><USER26> You forgot about being 'sent to Coventry' \- i.e. the company doesn't want to pay you redundancy, and can't fire you for incompetence, so you get ignored, not given any work, get put in a useless role, etc until you wise up and quit/find another job. British passive aggressiveness at its finest!

Being American. I would have had no problem with being fired aka 'you're now surplus' and it would have been far more helpful (i.e. get it over with) vs. letting me twist in the wind for a few months... or even have a hard talk with me to see if I might be useful elsewhere in the company because I was bored etc.

But the procedure they used to downsize the workforce earlier that year before that was cruel - straight out of the Victorian era...

<comment><USER25> I've heard that that practise (what a name!) Is relatively common in Japan: I've never heard of it in the UK before.

I have heard of "gardening leave" though: where you're left on full salary but kept out of the building for your notice period, to stop you passing up to date market info to your new company. (It's the only legal way I know of in the UK to implement a non-compete clause.)

<comment><USER27> I love the fact that no one seems to know why we say "sent to Coventry" as well.

<comment><USER28> Probably related to Coventry being "ignored" in WWII by British officials so that German wouldn't catch on that the enigma machine was broken.

[http://www.bbc.com/news/uk-11486219](http://www.bbc.com/news/uk-11486219)

<comment><USER29> The phrase is much older than that..

>Grose's The Dictionary of the Vulgar Tongue - 1811:

>>To send one to Coventry; a punishment inflicted by officers of the army on such of their brethren as are testy, or have been guilty of improper behaviour, not worthy the cognizance of a court martial. The person sent to Coventry is considered as absent; no one must speak to or answer any question he asks, except relative to duty, under penalty of being also sent to the same place. On a proper submission, the penitent is recalled, and welcomed by the mess, as just returned from a journey to Coventry.[0]

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

<comment><USER30> Wow, I wonder how effective time-out was on infantrymen of the early 19th century and how often it was enforced. It seems like an analog to solitary confinement while still forcing you to be a contributing member of your armed forces.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER31> Hertz laid off nearly the entirety of their rank and file IT staff earlier this year. [https://news.slashdot.org/story/16/02/13/1630244/hertz-is- pu...](https://news.slashdot.org/story/16/02/13/1630244/hertz-is-pulling-a- disney)

In order to receive our severance, we were forced to train our IBM replacements, who were in India. Hertz's strategy of IBM and Austerity is the new SMT's solution for a balance sheet that's in shambles, yet they have rewarded themselves by increasing executive compensation 35% over the prior year, including a $6 million bonus to the CIO. [http://insiders.morningstar.com/trading/executive- compensati...](http://insiders.morningstar.com/trading/executive- compensation.action?t=HTZ)

I personally landed in an Alphabet company, received a giant raise, and now I get to work on really amazing stuff, so I'm doing fine. But to this day I'm sad to think how our once-amazing Hertz team, staffed with really smart people, led by the best boss I ever had, and were really driving the innovation at Hertz, was just thrown away like yesterday's garbage.

<comment><USER32> The failing business and laid off workers combined with executive compensation increases/bonuses is very much an example of why Sanders and Trump are so popular, and why candidates like them (or more extreme) will come out of the woodwork in 4 years.

<comment><USER33> I find it hard to believe Trump wouldn't, or hasn't, done exactly as Hertz has done. This seems like an all too common stratagem for upper echelons within a business to convince shareholders that the books are healing.

<comment><USER34> Trump does this kind of thing because he believes it's necessary to compete. For example, he makes neckties in China/Mexico/wherever because that's the only way one can do so profitably.

Trump is the epitome of "Don't hate the player, hate the game". While Trump has played the game as necessary in the business world, Trump claims he is running for office so that he can change policies such that offshoring American jobs is no longer economically feasible, and such that companies that do this will face punishment.

Though it seems counter-intuitive, Trump and Sanders are striking the same chord, just from different directions. There is a surprising amount of crossover support from Sanders to Trump, especially as evidence of DNC corruption against Sanders in the primary process continues to mount.

<comment><USER35> Tangential discussion: but change comes from within. There are _plenty_ of companies out there who figured out a way to make a profit operating against industry norms, like making their clothes in the US -- Raleigh Denim comes to mind.

Trump could absolutely have (hired someone to) figure out a way to make a profit on artisanal ties. He was just too concerned with maximizing personal gain to care.

<comment><USER34> Yeah, I probably shouldn't have said the _ONLY_ way to make money is by exporting manufacturing. But the _usual_ way for sure.

Trump is about making it so that business _as usual_ favors the American worker -- it shouldn't require special boutique retailers who are only ever going to be able to compete in a niche market for hyper-aware consumers.

</comment></comment></comment></comment></comment></comment><comment><USER36> Thomson Reuters is. [http://www.bloomberg.com/news/articles/2016-11-01/thomson- re...](http://www.bloomberg.com/news/articles/2016-11-01/thomson-reuters- earnings-top-estimates-on-growth-in-americas)

<comment><USER37> The newspaper / print media industry generally is doing abysmally poorly.

[http://www.nytimes.com/2016/10/28/business/media/buyouts- wal...](http://www.nytimes.com/2016/10/28/business/media/buyouts-wall-street- journal-bad-news-for-newspapers.html)

Submitted yesterday, didn't go anywhere: [https://news.ycombinator.co/item?id=12834583](https://news.ycombinator.co/item?id=12834583)

I've been picking up newspapers and magazines and been quietly horrified at how thin they are. I'm no fan of advertising, but I know it's how they pay the bills, _and there are no ads there._

The _Chicago Tribune_ is trying to keep their "news hole" at no more than 50%, and AFAICT, are failing. Even with the Cubs at the World Series (and the Trib pimping that for all its worth), the sports section has virtually no advertising. Most noticeable is the lack of classic retail: beer, wine, alcohol, automobiles, consumer electronics (a periodic Fry's ad excepted), clothing (with a few exceptions), etc. Some home services (windows, siding, etc.), and occasional furniture. But overall, terrifically thin.

Time Magazine as of September was similarly famished-looking.

Reminds me of running into a friend you'd not seen for a while, with a fatal disease. It's a visual shock.

<comment><USER38> Sorry to dump on your aside, but the media arm isn't affected. The Finance/Risk news (for financial clients) division is the one being downsized, and they were profitable.

The parent mentions it, but here's the brief from their outlet: [http://www.reuters.com/article/us-thomsonreuters-results- idU...](http://www.reuters.com/article/us-thomsonreuters-results- idUSKBN12W3PE)

<comment><USER37> Hey, accurate info is good info, I appreciate that.

Which does though raise the question of how it is newswires (Reuters, UPI, AP) are succeeding where direct media outlets aren't. Or is it just that the pain is there but less than (in T/R's case) the finance/risk arm?

<comment><USER39> The two big TR business units are legal and financial, and both industries pay for access to information when it helps their businesses.

I worked on some of the legal products, and customers were much more sensitive to completeness and accuracy of information they could obtain than the average person with a newspaper. Even with "free" news products people would also pay for alerts.

</comment></comment></comment></comment></comment><comment><USER40> VisualMeta GmbH in Berlin. They're a 'start-up' backed by Axel Springer, Berlin.

They fired about 60-70 people recently, some of them on their first day of work. Most of their devs come from non-existent countries (China/Eritrea/Pakistan etc) and they're paid abysmally (€32-34k).

It's a surprise that this news wasn't covered at all in Berlin start-up press.

<comment><USER41> 34k € is a bad salary in Germany? Because I think it is an average 1st salary in France (or the companies I've been talking to are also planning to get me __paid abysmally __)

<comment><USER42> Social contributions are a much bigger part of your gross salary in Germany. 34k would be ~28k in France.

My company hires new grads around 50k and I guess decent startups who make people relocate across continents should pay at least 45k.

<comment><USER43> Damn. That's more than I got when I started in London. Should have picked Berlin instead.

<comment><USER44> When it comes to software development, London (and the UK) certainly seem to have a low pay culture.

<comment><USER43> Can you make 6 figures in Berlin? (In London, it's doable)

I hope you're not saying "low pay" because you compare to the USA. The Europe and the USA are not in the same league, they shouldnt be compared.

<comment><USER42> 100k+ is definitely possible in Germany but hard in Berlin itself, even for a principal engineer.

I'd say you need be be at least Manager/Director/VP of engineering, depending on the size of the company.

</comment></comment></comment></comment></comment></comment></comment><comment><USER45> My friend and his entire data engineering department were laid off from Imgur.com in August. About 10 people of 70 out so.

<comment><USER46> I wonder if this has anything to do with reddit implementing their own image hosting service.

<comment><USER47> That came around before August.

<comment><USER48> But it might take some months before that change to reddit reverberates into imgur visitor metrics and on into advertising revenue.

<comment><USER47> Ah whoops, I thought something else was being implied.

</comment></comment></comment></comment></comment><comment><USER49> Great thread idea. To echo the thoughts of others in this thread, it is nice to see conversation and transparency around this difficult topic.

Personally have been on both sides of the layoff table and have seen it handled different ways. In some cases, have seen transparency throughout the company failure process with founders and investors working tirelessly to help people land on their feet. In others, have seen deception, founders locking themselves in their office or staying away entirely. Then, little more than a "Dear John" letter telling people it is over.

As you can expect, the general outcomes - from perception of the founders and investors to future collaboration and working relationships between laid off employees - have been significantly better in the former scenario.

Quick plug - I'm on the team at a VC firm out of Chicago and am always looking at new ways to help companies we work with find and retain great people. Have been looking into ways we can work with founders of sputtering companies (both in our portfolio and outside) and the employees that are impacted by the failure of those companies.

Overall goal being to...

1\. help hiring companies find great, available people 2\. help laid off employees get back on their feet and find great roles 3\. help CEOs of failed companies do right by the folks who

If you are a CEO that is contemplating layoffs or have had to do them in the past... or if you're someone that has been laid off, I'd love to connect - brett.bivens [at] gmail.com.

Or, feel free to just reply here!

</comment><comment><USER50> There's the official WARN (Worker Adjustment and Retraining Notification) report...

[https://en.wikipedia.org/wiki/Worker_Adjustment_and_Retraini...](https://en.wikipedia.org/wiki/Worker_Adjustment_and_Retraining_Notification_Act)

[http://www.edd.ca.gov/jobs_and_training/Layoff_Services_WARN...](http://www.edd.ca.gov/jobs_and_training/Layoff_Services_WARN.htm)

[http://www.edd.ca.gov/jobs_and_training/warn/WARN-Report- for...](http://www.edd.ca.gov/jobs_and_training/warn/WARN-Report- for-7-1-2015-to-06-30-2016.pdf)

</comment><comment><USER51> My friend's company Iron.io laid off ~20 employees in SF (almost the entire company). Apparently their series A round brought in 12 million just a year ago.

<comment><USER52> It's a shame because Iron.io has truly fantastic offerings.

Better than anything from any of the major cloud providers. The only problem is that it's hard to beat having your entire platform in the one place. Especially for billing, security etc.

<comment><USER53> We had some pretty bad issues with them earlier this year. Queues would randomly change from push to pull, service outages, etc. Seems to have stabilized for the most part, but we aren't using them much now.

</comment></comment></comment><comment><USER54> There is a big german gamecompany that hasn't paid 300+ employees in 4 months so they are bleeding employees instead of firing them.

<comment><USER55> Is there any more info you can provide? I dont want to sound combative, just curious because I have a lot of friends there and I havent heard anything.

Is this happening for all employees? Do you think Crytek is holding on for robinson?

I actually literally just got an offer a few weeks ago, this changes a lot. I know crytek had trouble before, but Im suprised these struggles are translating to the FFM studio.

<comment><USER54> it applies to everyone and some are worse off than others. we have had emails sent to us from the bosses saying that we should not talk with people from the other studios but of course there is nothing that makes this impossible.

under no circumstance should you take work at crytek. the reason for all of this is that the company as a whole has not had positive books for a long time and they did not look for money early enough. this means that they are now in a panic.

<comment><USER55> Intresting, Im suprised this hasnt gotten any coverage or attention really. This is the first time Ive heard of it, but it correlates with a recent change in attitute with some of my contacts there. Some outright dont respond to messages, others reply with "Things are fine" etc...

Do you anticipate this getting more coverage in the comming days/weeks? When was the last missed paycheck if I may ask?

Thanks again. Your doing good work informing people.

<comment><USER54> the reason for the coverage being low is that no one is saying anything and information on glassdoor is being ignored by most people anyway.

full disclosure: i am from the sofia office but i think that this is dangerous to say because we are fewer than the germans. in the sofia office we have not been paid for two months now and before that we had to wait two months for salaries, so it makes a total of 4 months of waiting. i can confirm that the frankfurt office also has not received money but i am not able to say exactly what their situation is. 2 or 3 months.

i dont think this will get coverage because i will not provide any evidence that will make it clear who i am. if someone can tell me how to prove this without being in danger with crytek i will do what i can.

<comment><USER55> Generally the best way to do this is to post an email regarding NDA, payments, whatever sent to a large group and block out the "To" but keep the sender and as much of the content as possible.

Up to you if you post it publicly, I couldnt see the harm there but alternatively you could email it from a disposable email to a gaming news site. They are very careful with their sources and can help. They have experience breaking stories like this. You should get a reply in less than 2h from most press sites for a story like this.

</comment></comment></comment></comment></comment></comment><comment><USER56> WSJ is too [http://www.politico.com/media/story/2016/11/wall-street- jour...](http://www.politico.com/media/story/2016/11/wall-street-journal- feels-the-pain-004838)

</comment><comment><USER57> This is less useful than the hiring one but more entertaining and gives us a chance to boost morale of the people actually hurt. Good thread imho.

<comment><USER58> It can be useful if companies are doing it in a backhanded manner, and trying to hide the state of affairs from its own employees. Kinda why fuckedcompany became so popular

</comment></comment><comment><USER59> I'm the 3rd Architect to be lucky to work with our VP of Product in the last 6 months, the other 2 no longer work here, he seems to end up pissed off Everytime we meet, we'll see...

<comment><USER60> Which company?

<comment><USER61> I wouldn't recommend he answer that. VP's are a lot easier to identify than a TL or similar

</comment></comment></comment><comment><USER62> The company I worked (Treatwell) for has lost a lot of good developers since the acquirement from the london based company Wahanda. 2 months ago they basically fired eveyone tech related in the Amsterdam office. Its a shame, I guess thats normal when you acquire a company for $38M[0] and figuring out everything is double.

[0] [https://techcrunch.com/2015/06/05/european-salon-booking- sit...](https://techcrunch.com/2015/06/05/european-salon-booking-site-wahanda- buys-dutch-rival-treatwell-for-38m/)

</comment><comment><USER63> From the sounds of it Kisura GmbH in Berlin is currently tanking. They're making payroll late, not paying suppliers, etc. They don't need to fire anyone because everyone is quitting.

<comment><USER64> Looking at their footer - backed by the EU funds for regional development... I have yet so see a successful web project backed by the EU funds. They seem to care about PDF and Word reports more than about any of the software the company creates.

</comment></comment><comment><USER65> Is it time to start holding Pink Slip Parties [1] again?

[1] [http://sfgirl.com/index_last.html](http://sfgirl.com/index_last.html)

<comment><USER66> I went to one of those. It was hilarious.

<comment><USER5> Back in the day I went to first Tuesday and those with badges for VC/Investors got swamped.

I managed to nervously pitched to one guy and thought "he looks familiar" looked down and saw his name badge was a single word "rothschild" :-)

He looked like Nathan Rothschild ([https://en.wikipedia.org/wiki/Nathan_Mayer_Rothschild](https://en.wikipedia.org/wiki/Nathan_Mayer_Rothschild)) who was the UK's banker during the Napoleonic wars

</comment></comment></comment><comment><USER67> Plenty of HPE employees are going home unemployed these days. [https://www.thelayoff.com/hp-enterprise](https://www.thelayoff.com/hp- enterprise)

</comment><comment><USER68> Before posting, double check your severance agreement. It's common to have a non-disparagement (no bad mouthing) clause in it.

<comment><USER69> Can true statements be disparagement?

<comment><USER70> This is a really good question. It seems a non-disparagement clause waives one's right to the first amendment.

[http://www.jaburgwilk.com/news-publications/what-is-a-non- di...](http://www.jaburgwilk.com/news-publications/what-is-a-non- disparagement-clause-and-why-you-may-not-want-to-sign-one)

Is this right?

<comment><USER71> Whenever I had to sign one after a lay-off I checked with lawyer friends first. They are not really enforceable.

<comment><USER70> Can you explain what you mean by "really enforceable"? Does it mean that they often don't get enforced, but _are_ legally binding -- or does it mean they're illegal?

If they're legally binding then that's still bad.

</comment></comment></comment></comment></comment><comment><USER72> We need to resurrect fuckedcompany.com.

Maybe throw it on 4chan?

[http://boards.4chan.org/fuckedcompany/](http://boards.4chan.org/fuckedcompany/)

<comment><USER73> [https://www.reddit.com/r/fuckedcompany/](https://www.reddit.com/r/fuckedcompany/)

</comment></comment><comment><USER74> Acorns is not firing people, but has already lost ~15 top performers due to poor executive leadership

<comment><USER75> The same is happening to Funding Circle in the UK. The company is still profitable, but a lot of devs are leaving because of certain decisions.

<comment><USER76> Do you mean decision of becoming Clojure-centric? That was probably the best thing that could happen. Can't say about UK but in the US office we are interviewing for engineering positions almost every day.

</comment></comment></comment><comment><USER77> So I heard through the grapevine about a company in Melbourne Aus making a 'virtual personal assistant'. CEO is an ex fortune 500 bigshot that jetsets across the world with their daughter (also senior management at the company) burning cash like there's no tomorrow, while giving the illusion that business deals are 'just about to come through'.

The smart ones have been leaving consistently through the company's history, and recently they had a layoff of around half their staff.

From the sounds of it, almost sounds like a shell company - half baked product that no-one uses, and they've managed to convince investors out of millions in cash.

To me seems just like the dotcom crash all over again - crazy that investors aren't on top of this shit, where's the due diligence / sense checking at?

<comment><USER78> I think I applied to them about 6 months ago. I was rejected for "not doing TDD" because I checked in my tests and code at the same time.

</comment></comment><comment><USER79> This is great. Please do this every month. Very useful.

</comment><comment><USER80> Gravity4 laid off a large number of remote contract employees back in March, and also paid less than the total of the owed money. No reasons provided. Anyway you shouldn't expect much of the company of that guy with that criminal record.

</comment><comment><USER81> Here in Germany. Jimdo (something like SquareSpace) is laying of (I believe) up to 25% of it's staff.

<comment><USER82> that is correct, they even created a website (with a competitor) for some of the people that were let go: [http://j-quit.weebly.com/](http://j-quit.weebly.com/)

<comment><USER81> Thanks for the link. We made an effort to communicate that we are hiring into the ranks of people jimdo let go (or people who want to leave)[1].

[1]: [https://www.facebook.com/SinnerSchrader/photos/a.49429155213...](https://www.facebook.com/SinnerSchrader/photos/a.494291552139.272849.358531227139/10154694003457140/?type=3&theater)

</comment></comment></comment><comment><USER83> cognizant is firing people in US, top level cleanup

<comment><USER84> At what level?

<comment><USER85> The top.

<comment><USER86> Not sure what else mavelikara was expecting :)

<comment><USER84> I was expecting titles of people who were let go.

</comment></comment></comment></comment></comment><comment><USER87> Marvell Semiconductors will be shutting down quite a few businesses. Quite a lot of top level management replaced already

</comment><comment><USER88> YPlan just fired a bunch of people and 'sold' to TimeOut for TimeOut group stock. I'd expect more to go.

</comment><comment><USER89> Parametric Technology ([http://www.ptc.com/](http://www.ptc.com/)) has had a series of layoffs. They are trying to turn the business around, clumsily it seems. Never having been associated with the company myself, I will let others talk. Well known in Boston area.

</comment><comment><USER90> Shopstyle in SF just laid off 20 staffers between dev and product.

<comment><USER91> I heard that was directly due to development team deciding to rewrite their site in "the angular" because it was quote: "like Haskell but better"

Blew a huge hole in their search engine rankings.

<comment><USER92> How did rewriting the site in another language affect their ranking?

<comment><USER93> Angular is a javascript framework rendered on the client and javascript is not yet 100% supported by the crawlers at search engines (but it's getting better).

</comment></comment></comment></comment><comment><USER94> At one of the bigger cable companies. My contract was recently terminated, I was told end of September it would end by December 30th.

Luckily I knew this was coming, as my project wasn't feasible. Oddily enough this is my second contract with the company. Same thing happened the first time around. On to greener pastures I hope.

<comment><USER95> Isn't constructive dismissal supposed to protect you from being put on a failing project/team just so they can fire you?

<comment><USER94> I worked as a W2 contractor, and in turn expect no rights. I also learned my lesson the first pass. I asked for something more challenging, because I had nothing on my agile board for 3 months. I in turn was given notice.

It's a dance I've unfortunately gotten used too. Join the project sounds fun. Project was not scoped, it's pared back. Then my contract is rescinded.

While I talked to my contracting firm, they gave me other roles. They were tech support, customer service, etc. variety.

</comment></comment></comment><comment><USER96> Appdynamics is laying off people, sometimes by the dozen.

</comment><comment><USER97> I was let go two weeks ago from a small downtown, Austin dev shop. I was let go because they couldn't afford to keep me on anymore. I could see the decline in the company as it was happening so it wasn't a huge surprise. Still sucks. Now I'm scrambling to get my tech stack up to date and find new work.

</comment><comment><USER98> Mattermark has had so much turnover that they took the team page down.

[https://web.archive.org/web/20160903075336/https://mattermar...](https://web.archive.org/web/20160903075336/https://mattermark.com/team/)

</comment><comment><USER99> Serenova (prev known as LiveOps Cloud) closes their Bay Area and Auckland (New Zealand) offices later this month after running them down for the last year.

Positions moved to Austin, Fredrickton (Canada) and outsourced. By coincidence the CTO lives in Fredrickton and the CEO lives in Austin.

</comment><comment><USER100> Ah yes, the "startup you work at".

Well, I'm probably full for the moment, but a startup that I know is bleeding some in my neck of the woods is MasteryConnect. Chop chop chop. Domo is not looking good, but they probably have money to survive for a bit.

<comment><USER101> I interviewed at MasteryConnect 2 years ago and their business model seemed doomed.

<comment><USER100> Yeah, I don't really get it either. Know a couple people laid off from there. They'd hired a bunch of kids from a coding bootcamp, and there was a serious bloodbath amongst them. An interesting case study-- seems like it shook out that there were definitely bootcamp grads that could hack it, but without the four year college filter they needed to do a big cull. Some of the campers are in and will stay in, most will wash out in a downturn. Same as it ever was, I suppose.

</comment></comment></comment><comment><USER102> 9 months into my first developer gig and the company is taking a change of direction which involves making half the office redundant. I've opted for VR as it feels like staying would just be delaying the inevitable.

</comment><comment><USER103> my ex employer got rid of me in order to spend more $ on aws burning cpu cycles instead. Would like to hire juniors in spades though mind you.

<comment><USER104>
      in order to spend more $ on aws burning cpu cycles instead

Maybe he was long on AMZN and desperately wanted the stock to move up.

<comment><USER105> Who isn't?

</comment></comment></comment><comment><USER106> I'm really surprised this hasn't hit the UK news, but the government department that regulates welfare (the DWP) just discovered a £350 Million deficit that is proactively not being acknowledged by the leadership team. Despite maybe 1000+ people losing their job. Granted, a lot of these job losses probably affect contractors and suppliers (IBM, Accenture, CapGemini) more than anyone. But the general perception is that the department is a sinking ship trying to shed weight as fast and as ruthlessly as possible. Many of these people were given only an hour or two notice.

They will no doubt get more money in April but many projects (100s) have been "paused" and I really doubt that the Subject Matter Experts will have the appetite to return to a department that screwed up their budget to such a huge degree.

</comment><comment><USER107> Why don't you start? No name in your post.

</comment><comment><USER108> Lugg is firing people.

</comment><comment><USER109> When I read this, all I could picture was the scene in HBO's 'Silicon Valley' where Gavin Belson sacks his entire Nucleus team, then later inadvertently hires them all back again when he acquires EndFrame, and doesn't realise that he is talking to the _same_ people in the _same_ room about the _same_ product.

<comment><USER110> argh, spoilers :(

<comment><USER109> Oh, drat - I'm sorry. I had assumed most HN readers would have seen the series already - it was on a while back, wasn't it? (We only just saw it in Australia, which is usually an indication that is has been on in the US about a year ago?!?)

<comment><USER111> Your spoiler is from the newest season. So, not quite a year, and if they're anything like me, they've been putting off watching the new stuff until they can binge watch the whole thing.

<comment><USER112> I wish I had done that, waiting is frustrating. However, I agree, that doesn't really spoil anything, it's not like there's suspense there.

</comment></comment></comment></comment></comment><comment><USER113> This should be a monthly thread.

<comment><USER114> Yeah seems like something we should track along with hiring. Great thing to know about if you're on the market.

<comment><USER115> What about the number of throwaway accounts that might necessitate? It would be better to have a more anonymous means to announce that your employer is firing.

<comment><USER116> Well, hopefully the site is written well enough to scale the users database if necessary.

<comment><USER117> Besides, this would only be X00 per month at best (it's rare that any post, get much more than a few hundred comments) and quite likely tens on average. There are certainly more than 100 new HN accounts per month. I second the motion ;).

</comment></comment></comment></comment></comment><comment><USER118> Seems like a lot of bay area companies are "firing on all cylinders" but Tesla is clearly not.

<comment><USER119> Does this mean Tesla is hiring or firing?

<comment><USER120> They prefer the terms "charging" and "discharging".

</comment></comment></comment><comment><USER121> Heads I Win; Tails You Lose;</comment>


The pale blue dot and other 'selfies' of Earth - <AUTHOR> http://theconversation.com/the-pale-blue-dot-and-other-selfies-of-earth-39118

<comment><USER2> Amazing pictures, especially liked that video on Earthrise with the real audio.

Also, that's a pretty nice site.

</comment><comment><USER3> These are not selfies.

<comment><USER4> One could argue that we, as humans, are from and of Earth, and that by humans taking a photo of Earth, Earth is in fact taking a selfie. It's a narrower take on the concept of, "We are a way for the cosmos to know itself."

<comment><USER5> That's like saying a photo of my mom (by herself) that I took is a selfie of her.

"You keep using that word. I do not think it means what you think it means."

<comment><USER6> if you were in the picture (you and everyone else on that half the planet), you could call it a selfie.</comment></comment></comment></comment>


Need a Tech Co-Founder - <AUTHOR>

Los Angeles, CA
I have no experience with HTML, CSS, programming, or website design. I was hit with a brilliant idea for a social networking, user review, and local search web site months ago that can create excess income for many of the common talented/skilled that lack the resources.
I am on an inexorable hunt for a tech co-founder! I am passionate about my concept and vision. Only the hungry reply.
email@example.com <comment><USER2> Ok, for the sake of argument, let's say I'm a developer, intrigued by your idea, and willing to move to Los Angeles...

What do _you_ bring to the table?

Do you have relevant industry experience?

Do you have valuable connections to advisers, customers, investors, etc?

Do you have experience with branding, marketing, promotion, and/or sales?

What will you be doing while I'm building the site?

Do you know anything about Customer Development?

Have you _started_ Customer Development? If not, why?

Have you founded a startup before?

Do you have experience raising money?

Are you putting in of your own money into this venture?

Can you manage a company? What do you see your role in the venture as being?

Edit: Just to be clear... I'm not in the market to move to LA, but I wanted to point out that these are (among) the questions a potential tech co-founder is going to have. If you have good answers for them, it would be best to go ahead and post them now. As it stands, your post is so light on details that it's not very tempting for a qualified co-founder to reach out to you. Give 'em something to work with...

<comment><AUTHOR> Im a big thinker, self-confident, self-motivated, very organized and I have good leadership skills but no experience in this industry. I am willing to take risks.

This idea was just planted in my head about 6 months ago and I have been studying how to start and systemize the whole concept and if it's even worth putting my time & effort into it. I understand that I lack the knowledge of coding but I believe so much in the idea and its success that I cant not act upon it! I will do what it takes to get my partner/resources in helping me achieve my vision.

I have not raised any money yet but I do know of many funding companies to submit my proposal to. As soon as I find my tech co-founder then he could help me hash out the idea some more, create my promo video & beta site and start attracting attention!

Yes, I know I have what it takes to manage this company, finding funding sources, keeping the vision, and strategically set goals!

So if anyone is down to get more details and help me perfect this concept, please contact me! I will be waiting patiently by.

& Thank you so much for your very informative & honest response! I really appreciate it.

</comment></comment><comment><USER3> This almost seems like a parody hunt for a tech cofounder. Maybe it's actually a YC funded company looking for people to have a sense of humor.

Probably not.

</comment><comment><USER4> Being someone who is also actively looking for a tech person, from my experience you need to do a lot more than throw a post up on Hacker News, including being more transparent about yourself.

It wasn't until I launched a product (which i had developed by outsourcing it), marketed it up to 5,000 users, got paying customers till tech people payed any attention to me. I have also have deep industry knowledge and connections that help.

You don't need a tech person to get things moving. Outsource an MVP or prototype. Spend a little to get someone interested and excited.

Just my 2 cents.

<comment> rush-tea what is MVP? Thanks for the answer

also, how can I have my post in this 'ask' section? Both of my threads below are not anywhere near the visibility I am expecting. Is there something I need to do?

Thanks.

btw, I am also looking for one, and cme, i would need your advise.

my post on tech co founder

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

my question in regards on how to start it

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

<comment><USER4> feel free to shoot me an email, always willing to help out.

<comment> rush-tea I was looking at your profile, but can't find email... maybe I did it wrong?

What is your email?

Thanks.

<comment><USER4> it should be in there..but here ya go: email@example.com</comment></comment></comment></comment></comment>


How can I reach from 100 views per day to 10000 views per day on website? - <AUTHOR> I am not looking for any spamming short cut. <comment><USER2> Ok, there's a really long answer to this. I'm happy to send you (and everyone reading this) a free .pdf of my book that St. Martin's Press put out, but here is the tl;dr version

1\. The 1,000 True fans thing doesn't work. You need (eventually) 200,000 people who like you and your product / website / app / whatever to visit your thing twice a day. (That number comes from a successful mall developer in the US who runs multiple hundred million dollar properties. The 1,000 True Fans thing is sort of like The Long Tail book in that, it's great on paper, but not so much in reality.

2\. I hate to say this, but it's all about the brand. WHY are people going to take their (increasingly) limited time away from something that they love to spend it with you. Yes, quality and consistency are key, but if you don't have the proper distribution, you can have the best stuff in the world and it won't get you anywhere because nobody knows you exist.

You have to develop something that is unique to you, that also is attention getting to other people. (I know, easier said than done.) Then, you need to position that something using other people's platforms and resources (media outlets, connections) to grow your audience. This has been true since the beginning in the Internet era, by the way. (Almost) everyone grew rapidly by using someone else's platform and audience to get there.

3\. Finally, you should know your 200,000 people backward and forward. The first 1,000 you should know by name. What they like. What they don't like. What problems that they have. How do they spend their time. Where do they get their information from? And then engineer everything you produce around that, so that the next 199,000 that are like the first 1,000 think you're talking directly to them and not some vaguely defined general audience.

Email for the free .pdf book: firstname.lastname@example.com

<comment><USER3> Can you elaborate on point #1 (or point to the appropriate place in your book?)

One of my friends told me about "1000 true fans," and it seemed reasonable so I didn't question it. Now I'd like to hear the other side.

<comment><USER2> For sure. So, 1000 True Fans has been around as a theory forever. But the tl;dr version from the book is that it only works in extreme circumstances. So for example, if your audience is incredibly wealthy. Or if you're not selling a product but just looking for page views or email subscribers. Or if you have virtually no overhead on a project and can turn a profit with every user that signs up.

But ...

1\. People don't share how we often think they do. They can be selective. So the idea that you just need 1,000 and that 1,000 is going to love and share your stuff actively is kind of bogus. Maybe 100 of them actually do it, then the 900 others either sometimes (or not at all) pass on your stuff. So you need way more than 1000.

2.There's rarely such thing as a true fan (except, again, in rare instances.) Customer loyalty today can be gone in a second if you say or do the wrong thing. So there's an assumption you're going to maintain all 1,000 overtime that doesn't hold up. That means the alleged multiplier effect of having the first thousand doesn't (always) exist.

3\. You might get 1,000 loyal people, but they don't have a ton of money or resources or whatever to sustain doing the thing you want to do. 1,000 enthusiastic people who show up at your band's free show is great, but when only 25 of them show up to a paid gig, that's a whole other story, and this happens a lot more than you'd think.

</comment></comment></comment><comment><USER4> Read this: [http://kk.org/thetechnium/1000-true- fans/](http://kk.org/thetechnium/1000-true-fans/) Find your niche and appeal to them.

</comment><comment><USER5> Provide something of value for your users and market it more.

</comment><comment><USER6> What do you want to do with the 10,000 views/day? Dispaly ads? Affiliate links? Sell your own stuff? If yes, what's the avg. order volume and the LTV?

Then, we can tell how you get those users.

</comment><comment><USER7> Check out Simple Programmer. He has a lot of articles and email list stuff about building a blog. Quality content on a regular basis is key. Be consistent, and keep writing.

<comment><USER4> I just wanted to echo this, John is a hard worker and a great resource for people. I know some people are turned off by his writing style, but his blog is an excellent example of a well-executed content marketing strategy.

Disclaimer: I occasionally author articles for him.</comment></comment>


Russian Gang Hijacking PCs in Vast Scheme - <AUTHOR> http://www.nytimes.com/2008/08/06/technology/06hack.html?partner=rssuserland&emc=rss&pagewanted=all

<comment><USER2> Yep, I'm a nerd. When I was scanning headlines, I glossed over Gang and Hijacking and wondered what the Russians were adding to the Scheme programming language.

<comment><USER3> Same here... "Vast Scheme? Haven't heard of that one. Probably runs on massively parallel supercomputers."</comment></comment>


Ask HN: What is your perfect job? - <AUTHOR>

Simply describe your perfect job, at this moment in time.
~
Title:
PHP Web developer
Description:
I would like a job where I am able to work autonomously and allowed to handle projects from start to finish. I would like to have flexible hours and be allowed to work from home on days where I am unable to make it to the office. The option of overtime would be a plus.
I would like to be involved with the following technologies: PHP CodeIgniter Google Adwords Google Analytics jQuery
Pay: £10,000 - £14,000 annually
Location: Closer to my home, less than a two hour travel, or on the other hand, somewhere far away, perhaps the U.S.A.
~
So, what's your perfect job (at this moment in time)? <comment><USER2> My perfect job would be similar in many ways, however I'd be working closer with Python, JavaScript, Scala, Mongo, MySQL, Amazon Web Services, Java and Android. I'd also hopefully be getting paid closer to 100,000 (USD) (or at least 80,000) and have the flexibility to work from home; my office is less than 10 minutes away (or at most less than 60 minutes).

Since I am in the USA, I would enjoy a job that allows me to travel, or at least work remotely for 2-3 months straight and let me travel. That would be a major perk.</comment>


Steve Job's cognitive dissonance - <AUTHOR> https://plus.google.com/u/0/112100039263959533932/posts/P8pR2BA3cXE

<comment><USER2> I use everything Apple, but it sucks that they are going on this direction. Their company made the best stuff not just because they are awesome, but because they also fostered an incredible community of developers who made/make "insanely-great" software. Once developers can't make amazing stuff because of the "closeness", they will move to something else.</comment>


C++ Resyntaxed - <AUTHOR> http://www.csse.monash.edu.au/~damian/papers/HTML/ModestProposal.html

<comment><USER2> I'm not a huge fan after a quick read - the new syntax adds too many new keywords for my tastes e.g. type, inherits, abstract, lang, obj, func etc. I'm of the school of thought that words with semantic meaning should be used as much as possible for expressing the logic and meaning of the program itself, rather than the language. Otherwise, it becomes harder to separate the actual program from the language - this is one of Java's problems.

Particularly take the class declarations as an example:

      type ListClass : class inherits public ListBase, private virtual ListImpl
      { /* member declarations */ }

adds nothing but verbosity to the C++ declaration:

      class ListClass : public ListBase, private virtual ListImpl
      { /* member declarations */ };

<comment><USER3> "Make everything as simple as possible, but not simpler" seems a good rule to design languages by. The common case should be expressible with as little syntactic friction as possible, without making the language ambiguous or unreadable.

 _": class inherits public"_ is just 23 characters of pointless line noise.

<comment><USER4> Perhaps inheritance shouldn't be the common case in the first place?

</comment></comment></comment><comment><USER5> A couple of notes:

1\. This paper is from 1996 (oh my! 14 years), and so does not consider the syntactic clean-up performed with C++0X.

2\. The paper is co-authored by Damian Conway (<http://en.wikipedia.org/wiki/Damian_Conway>), perl legend, author of Quantum::Superpositions ([http://search.cpan.org/~dconway/Quantum- Superpositions-1.03/...](http://search.cpan.org/~dconway/Quantum- Superpositions-1.03/lib/Quantum/Superpositions.pm))

3\. This seems to be part of research conducted on 'Human Factors in Programming Languages', which includes another paper on the design of SPECS (the syntactic clean-up mentioned in this paper), and another interesting- sounding one: 'Seven Deadly Sins of Introductory Programming Language Design' (see <http://www.csse.monash.edu.au/~damian/papers/>).

</comment><comment><USER6> Changing the declaration syntax could be a big improvement, but changing assignment operators is a bad idea. (summary: a=b now tests for equality, a:=b is assignment). I know if I start using a language where a=b means equality test, I'm going to make that mistake in Javascript, Python, and every other language I use.

When designing a new language, remember that people spend most of the time using other languages. So don't be gratuitously incompatible in dangerous ways.

<comment><USER7> Yeah, := should be assigns, and == should be equal, and = should be an error.

</comment></comment><comment><USER8> Unfortunately, most of the pathology of C++ lies in its semantics, not its syntax.

<comment><USER4> Yes. But it's better than nothing.

</comment></comment><comment><USER9> C++ could use both syntaxes, old and new, just as programmers can use any syntax coloring scheme when viewing a program in an IDE. Anything sitting above a language's AST is customizable by programmers. It's just for historical reasons why programs in different languages are stored as consecutive text in files, instead of, say, tree structures on disk.

</comment><comment><USER10> I'm surprised and disappointed that this still requires a semicolon after each line, and parentheses around the conditions in for, if, etc. statements.

<comment><USER4> Yes, going closer to Python-style in this regard would have been nice.

</comment></comment><comment><USER11> (not the author)

Inside C++, there is a much smaller and cleaner language struggling to get out. \- Bjarne Stroustrup

Clay is an attempt at creating that language.

Link: <http://tachyon.in/clay/>

</comment><comment><USER12> This looks fairly interesting, at first glance. Is there a similar document for C by itself?

</comment><comment><USER4> Looks sane to me.

</comment><comment><USER13> seriously?</comment>


Northrop Grumman makes history, Mission Extension Vehicle docks to target - T-A https://www.nasaspaceflight.com/2020/02/northrop-grumman-history-mission-extension-vehicle-docks-satellite/ <comment><AUTHOR> Or perhaps the history-making moment will be when it successfully disconnects.

[https://gizmodo.com/northrop-grumman-blamed-for-loss-of- myst...](https://gizmodo.com/northrop-grumman-blamed-for-loss-of-mysterious- zuma-spy-1825115280)</comment>


Collaboration is the most important core value for your dev teams - <AUTHOR> https://tweeres.ca/blog/collaborative-teams <comment><USER2> This is the core value of any team. Full stop. In fact, if you don't have collaboration, you don't have a team. You have a group.</comment>


Fast, Frugal Learning with a Feature Fake - <AUTHOR> https://elearning.industriallogic.com/gh/submit?Action=PageAction&album=blog2009&path=blog2009/2011/featureFake&devLanguage=Java <comment><USER2> Excellent idea. I've seen this elsewhere (Zynga apparently uses it, among others).</comment>


Show HN: Progressbar - A C library for displaying command-line progress bars - <AUTHOR> https://github.com/doches/progressbar

<comment><USER2> Consider checking the return value of malloc (e.g: [https://github.com/doches/progressbar/blob/master/lib/progre...](https://github.com/doches/progressbar/blob/master/lib/progressbar.c#L22)) You're setting users/yourself up for a disaster if you're assuming it will never fail.

The standard [0] states that the size of `char` will be 1 byte. So there is no point in doing the sizeof operator on char. (e.g: [https://github.com/doches/progressbar/blob/master/lib/progre...](https://github.com/doches/progressbar/blob/master/lib/progressbar.c#L28))

18.104.22.168 - Paragraph 3

> The sizeof operator... (page 80)

[0] [http://www.open- std.org/jtc1/sc22/wg14/www/docs/n1124.pdf](http://www.open- std.org/jtc1/sc22/wg14/www/docs/n1124.pdf)

<comment><USER3> How often is knowing malloc has failed useful? You going to segfault either way.

I always use sizeof with char just to stay consistent - if you don't you will get caught out one day when you change something and forget to add in the needed new sizeof.

<comment><USER2> It's _very_ important to know if it failed if you don't want to introduce undefined behavior. With undefined behavior, _anything_ can happen, (e.g. arbitrary code execution). But let me make it clear: malloc failing doesn't mean that undefined behavior will happen. However, pretending like malloc didn't fail when it really did will most likely get you undefined behavior. You're not going to segfault either way if you handle things correctly. Consider a web server running out of memory to allocate a request structure, do you think it is a good idea to just let it SIGSEV?

<comment><USER4> I have some questions:

Have you experienced malloc failing a lot? How do you test to ensure error handling code paths work as expected?

Have you read 'notes' section of Linux malloc manpage? It says:

By default, Linux follows an optimistic memory allocation strategy. This means that when malloc() returns non-NULL there is no guarantee that the memory really is available. In case it turns out that the system is out of memory, one or more processes will be killed by the OOM killer.

<comment><USER3> I have never knowingly experienced malloc failing in any of my code which is why I asked if it is something to worry about in practice. Once you run out of memory things start dying or the system locks up hard.

Edit. It is impossible for malloc to fail (at least on linux) [1]. Seems rather pointless checking for something that can't happen.

1\. [https://scvalex.net/posts/6/](https://scvalex.net/posts/6/)

<comment><USER5> That link shows that malloc failed, just not due to exceeding available RAM. At the end it says "malloc finally failed because of address space exhaustion."

<comment><USER3> If the memory was actually being used it would have crashed long before that. The test was kind of artificial.

<comment><USER5> Absolutely. I was pointing out that "It is impossible for malloc to fail" is, according to the linked page, an incorrect summary.

<comment><USER3> It is still pointless checking if malloc fails on linux :)

Actually the real issue here is that you should be aware that on some systems malloc might fail and not segfault.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> Everybody, please look at this Readme file. It starts with a section called "What is this thing?"

That is a fantastic example of something everyone should have in their OSS projects. A simple section at the top of the main doc that states what the thing is. Seems obvious, but I only mention it because it's so rarely done.

</comment><comment><USER7> A screenshot in the readme of what it looks like would go a long way.

<comment><USER8> The output of the demo program, FWIW:

        $ ./demo
        Smooth |</comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>=====| ETA: 0h00m06s
        Three Second Task with a long label |</comment><comment></comment><comment></comment><comment></comment><comment>| ETA: 0h00m03s
        Fast |</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>=| ETA: 0h00m02s
        Custom <.....................................................> ETA: 0h00m06s
        Indeterminate:                                                           0:00:03
        Status bar with a really long label:                                     0:00:01
        Custom:                                                                  0:00:03

</comment><comment><USER9> The API doesn't let you set the progress, you must know in advance how many steps there are and then call the increment function that exact number of steps. This is not conducive to, for example, a network transfer where you have some total number of bytes, and then you receive a packet of some arbitrary size and you want to set the progress to a percent.

</comment><comment><USER10> As mentioned earlier, pv have been around for ages and does this "the right way" (tm). Also, as an exercise, spot the potential buffer overflow in this source in less than 10 seconds for extra credits!

<comment><USER2> [https://github.com/doches/progressbar/blob/master/lib/progre...](https://github.com/doches/progressbar/blob/master/lib/progressbar.c#L28:L30)

The correct solution would be a) check the length of format, and if it less than or equal to 4 but greater than 0, then copy the bytes, else, don't... I guess? Why is 4 such an arbitrary chosen number?

        // new->format is allocated to 4 bytes
        size_t len = strlen(format);
        if(len > 0 && len <= 4) {
           memcpy(new->format, format, len); //i to < 4
           new->format[3] = '\0';
        }

Or it just be better to allocate the new->length to the return value of strlen(format) + 1.

<comment><USER11> Maybe I am not awake yet (just rolled out of bed), but if new->format is allocated to 4 bytes, then

        new->format[4] = '\0';

is out of bounds, no?

<comment><USER2> Yes it was. Good catch. The size of the buffer is 4, so the last byte would be located at 4-1 = index 3. Because we're 0 based...Wow can't believe I did that. it's 12:30 AM here and I've had a few beers tonight.

It's common to allocate your size needed plus 1 for the NULL byte. But this programmer only allocates 4 bytes.. with no thought of the NULL byte at the end.

</comment></comment></comment></comment><comment><USER12> See also the `pv` program: [http://www.ivarch.com/programs/pv.shtml](http://www.ivarch.com/programs/pv.shtml)

</comment><comment><USER13> Beware weaving progress bar code into computationally heavy routines. As soon as you want to start multithreading, it gets tricky. The worst is a ProgressBar singleton in a big C++ GUI program. If I'm going to bother using a library for progress bars, I want it to deal with all those work of combining multiple threads' progress, i.e. it has a queue, knows each thread's estimated share of the total work, and all the threads push progress messages on the queue.

</comment><comment><USER14> Can we get a screenshot?

</comment><comment><USER15> Needs work ;)

      progressbar * p;
      p = progressbar_new_with_format(..., ..., "whoops");

... yields a buffer overflow. And why do you malloc _format_ to begin with if it's always 3 chars in size?

</comment><comment><USER16> I'm a bit surprised that this didn't exist before.</comment>


Future of Mono for Unreal Engine - <AUTHOR> http://lists.ximian.com/pipermail/mono-ue/2015-May/000324.html

<comment><AUTHOR> Additional context for the EULA changes found here, where Tim Sweeney makes some great points: [https://forums.unrealengine.com/showthread.php?54595-I-want-...](https://forums.unrealengine.com/showthread.php?54595-I-want- Feedback-from-Epic-about-Mono-for-Unreal- Engine&p=194593&viewfull=1#post194593)

</comment><comment><USER2> Not everything is in a silver plate for Microsoft lackeys.

</comment><comment><USER3> Let Unity3d eat them.</comment>