Plague-bearing fleas spark closures at popular Lake Tahoe sites - <AUTHOR> https://www.sfgate.com/renotahoe/article/Plague-bearing-fleas-spark-closures-at-popular-15541389.php <comment><USER2> With our species encroaching further and further on the natural habitats of wild animals, it's likely that another disease causing agent with pandemic potential like sars-cov-2 will emerge sooner than we think. Will it be another coronavirus? Will it be a bacterium? We don't know, nor do we know how it will look like, how easy it'll spread and how many of us it'll kill next time.

There are already as we speak, countless spillover events from animals to humans. Most of these diseases don't spread between humans and only affect that single patient, which is good. But eventually one of them will be able to.

Something like Ebola with the transmission characteristics of sars-cov-2 would be absolutely devastating for our civilization. It won't be the last one to have been destroyed by disease.

<comment><USER3> At some point we'll get to meet the viruses that were frozen in the polar ice caps for millennia...

<comment><USER4> See this is the part that scares me the most when it comes to climate change. For the rest of the issues like water level rising, weather changes and related food scarcity there are models, research and hypothesis. These frozen viruses over a millenia is a big unknown

<comment><USER5> I'm more afraid what changes in agricultural zones will do to political stability. If all agriculture happens in Canada in Siberia, and the rest of the world becomes unable to feed itself, I think that could cause wars.

<comment><USER6> Changes in agriculture and water availability will absolutely cause wars. Some of the current conflicts already have some muddy influences from climate change.

They'll get more common and the cause-and-effect will become progressively more obvious, though there's rarely any conflict that can be traced to just one cause. The most likely way it'll look for the near future is climate change will put more stress on existing societies, making it more likely for violence to break out.

This is similar to what we are seeing, and will see more obviously in the future with extreme weather events (hurricanes, tornadoes, blizzards, flooding, etc.). It will be difficult to trace any one in particular to climate change, but they'll become more common on the whole.

</comment></comment></comment></comment></comment><comment><USER7> 2020 just keeps on giving doesn't it.

<comment><USER8> I mean, bubonic plague isn't extinct. California apparently had case(s) back in 2015.

And it spreads by fleas so... unlikely this will spread very far.

<comment><USER9> Indeed plague has been endemic to the us since the california plague of the early 1900s

But it's curable now

[https://www.cdc.gov/plague/maps/index.html](https://www.cdc.gov/plague/maps/index.html)

</comment></comment></comment><comment><USER10> All right, let's do the asteroid now and Yellowstone supervolcano. That way we can be done with all the bullshit in one year and continue with our lives. Yellowstone might solve global warming as well, at the cost of rapid global cooling.

</comment><comment><USER11> >Plague-bearing fleas

2020 just keeps on giving

</comment><comment><USER12> since the article doesn't even bother

[https://google.com/search?q=symptoms+of+bubonic+plague](https://google.com/search?q=symptoms+of+bubonic+plague)</comment>


Giuliani's typo became an anti-Trump message - <AUTHOR> https://www.washingtonpost.com/nation/2018/12/05/rudy-giulianis-typo-became-an-anti-trump-message-he-blamed-twitter-this-atlanta-man-pranked-him/ <comment><USER2> I encountered the same issue with Twitter auto-inserting unwanted hyperlinks to domains like .app:

[https://tinyapps.org/blog/misc/201810230715_twitter_disable_...](https://tinyapps.org/blog/misc/201810230715_twitter_disable_auto_links.html)

Workaround was to use zero-width space:

[https://www.labnol.org/internet/twitter-auto-converts- links/...](https://www.labnol.org/internet/twitter-auto-converts-links/20771/)</comment>


Ask HN: Who was your most impressive hire? - <AUTHOR> Share your hiring experience of getting best person for the job. <comment><USER2> This person is someone I would hire over and over again, but they are a private person so I won't out them.

About 5 years ago I saw someone post a project to HN. The project dealt with stock predictions, and wasn't really unique. However it was some of the cleanest hobby code, tests, and documentation I had seen a single person churn out for an experiment. I cold emailed them and brought them in for an interview the next morning. They were very shy and kinda confused why I was interested, but I felt something about this individual that I couldn't explain. Gave them an offer on the spot and they started the following week.

They were the model citizen of work ethic and quality that most of the team took their cue from. Over the years they left the company and I eventually rehired them. I would again in a heartbeat. Personally and professionally they grew so much while I worked with them, with a dedication to goals that I really admire.

I'll never forget that person I took a gamble on and saw a tremendous ROI on everything they touched.

</comment><comment><USER3> This dude as a Senior Dev about half a decade back:

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

I wish I could replicate that hire on demand, but I did the same thing I always do.[0]

Now, he's not the _only_ hire that has truly impressed me, but the company he joined soon came under a hard time. It wasn't under the best leadership[1] and he took the lead in a challenging project freeing me to handle other fires, his communication was so clear and timely I never worried. He managed code review and professional development without nagging, and he was adept at identifying strengths and weaknesses in the team. He was capable of understanding the shortcoming of the executive team, without bringing down the rest of engineering. Oh, and of course the architectural decisions he made and the code he produced was just rock solid.

[0] Ask for code samples, go through them with a fine tooth comb, filter early and aggressively. In the interview focus on technology decisions with questions agreed to beforehand that are tailored to the task and experience. Really try to make the experience relaxing. If in doubt, schedule a second in- person interview with some positive feedback from the first.

[1] I count myself in this as well. I was 27 and too young to be a C-level. I couldn't handle the stress of anxious dev team and an erratic and emotional CEO.

</comment><comment><USER4> A person who send their resume with no directly relevant experience (being fresh out of school) but listed an array of holiday jobs that got me intrigued.

During the interview, it took me 10 minutes to make the decision to give him a change. He took it and owned it. Worked hard, learned fast and had a great personality making my other coders (8) feel more at ease, motivated, honest and communicative.

Since then, I make sure HR does not hard filter all responses and try to give at least 1 or 2 outliers a change. Results are what you expect :)

One other great hire was a person that came back into the industry (coding) after a 10-year break (children). Over performed like nobody I have ever seen. She is now a C level at a very large international company, x times my senior.

</comment><comment><USER5> Hired a business student to process Comstock satellite feed, asked "Can you program in C++?" "Yes," he lied, "can I come in this weekend to get a head start?"

He learned to program in C++ that weekend and hit the ground running on Monday. Two weeks later he came to me, asked "What is this 'new' and 'delete' stuff about?" I told him, he said "Wow that would be really handy".

Anyway 5 years later he was a Fellow at Adobe.

<comment><USER6> And the moral of the story is … ?

<comment><USER5> Getting a job after college is a combination of skill and chutzpa

<comment><USER7> >and chutzpa

A joke like that, read in Reader's Digest:

A candidate was called in to an office for an interview. Entering the room where the interview panel was awaiting him, he tripped on the door sill. Recovering and standing up, he said:

"Well, at least I fell into good company."

He got the job.

</comment></comment></comment></comment><comment><USER8> Friend of mine, highschool dropout, still living with his mother, no previous work experience as a dev. Told my boss she should hire him, brought him in one day, told him to just start coding, year later he's doing most the project/release management while still coding tons

</comment><comment><USER9> He was recommended to us by an employee. He was capable and looking for a challenge so I delegated some core framework changes to him. Soon he was making changes that he was recommending himself and I began referring to his decisions and simply taking the time to understand his changes so that I could still hold the entire picture in my head.

The reason he was the best hire is because he is a force multiplier. I felt way more productive once he took on the work that I had not be able to entrust to anyone else.

</comment><comment><USER10> Dr. Matt Wood, who joined AWS in Europe in early 2010, pretty much against the opinion of a few people. He had a tremendous career at AWS, starting as a tech evangelist and ending up very high in the rankings.

If you happen to be at re:Invent these days and see him, tell him Simone says hi :)

<comment><USER11> It seems like the best people that my employers have hired are not just "better" but "different" than most other employees. Unfortunately, the criteria and methods that most firms use are designed to reduce the risk of a bad hire, instead of maximizing the odds of hiring someone amazing.

<comment><USER6> Software is a creative business, so someone thinking outside of the box can out-gun someone pumping out 10000 lines of code in a week. But companies are testing your ability to pump out nice enough lines of code. What about a coding test where you have to 'delete' the right lines of code. Or a whiteboard exercise where you choose what NOT to work on. Those things are not tested.

</comment></comment></comment><comment><USER12> our most impressive hire was also our biggest headache.

he was really smart, quick, nice, and had an answer for everything.

unfortunately he also couldn't accept things "just working." everything (in his eyes) had to be built to near perfection, and he would go on and on about how various systems needed to change/be re-written.

after we continually refused (as a group) to adopt his suggestions, he left the job for something else.

<comment><USER13> What was the reason for not accepting his suggestions ?.

</comment></comment><comment><USER14> Was a guy that left the company 3 months after.

I've also been this guy a few times. Haha.

We both ended in much better positions than our peers, looking 5 years back.

</comment><comment><USER15> Probably Jeff Dean and Paul Buchheit for the people who recruited them for Google.</comment>


Andrew Warner is in the hospital - <AUTHOR> http://mixergy.com/im-in-the-hospital-this-week-so-ill-post-fewer-interviews-and-will-be-a-little-harder-to-reach/ <comment><USER2> Get well soon, Andrew. Really admire all the stuff you're doing with Mixergy.

</comment><comment><USER3> As a startup founder and as someone who has been spending the last two weeks in a hospital with similar stomach sounding problems, this hit home:

"I keep fantasizing about getting back to it. (And about getting to eat a burger and fries again.) I can't wait to get back to work."

Thats pretty much the only two things I think about. Getting back on the startup grind (its addictive) and eating tons of dumplings and pad thai.

</comment><comment><USER4> As someone who no longer has his terminal ileum (Crohn's), I wish him the best, hopefully he can get better without surgery. Its really not something you want to go through if possible...

<comment><USER5> That's one of the options they've been talking about. They expect to know tomorrow if they'll remove mine too.

<comment><USER4> Well good luck with everything. Assuming the surgery goes fine, there aren't any long-term effects besides having to get vitamin B12 injections every few weeks (since your terminal ileum is where your body absorbs most of it), but itll be at least 10 not-that-great days in the hospital =/

</comment></comment></comment><comment><USER6> Hardest working interviewer in the business? He's answering emails from the hospital, for gods sakes.

</comment><comment><USER7> Andrew...I cannot believe you are apologizing for answering emails slower than usual...WHEN YOU ARE IN THE FRIKKIN HOSPITAL!!!

Dude...get some rest and recover. Who will do interviews if you are dead :)

Get better soon.

</comment><comment><USER8> I hope Andrew feels better - I've only spoken to him once over the phone, but he struck me as an extremely passionate and geniune man with a lot of wisdom to share about the art of entrepreneurship. May he have a speedy recovery (and get back to eating cheeseburgers, as he indicated in his post ;) )

</comment><comment><USER9> I'm not American so I'm wondering, how does he pay for this treatment? Does it come from insurance that he gets as an individual, or would his business pay for it all? Curious how things like this would affect a startup.

<comment><USER10> I would expect he has insurance of some sort. In America, that is typically tied to employment, however, he probably has individual insurance. Depending on how his business is structured would depend on who pays for it. Who pays for it in this situation is probably a function of getting the best tax deal out of it.

Now, he might have straight health insurance. In which case he pays x%. His insurance company may or may not have a deal with the hospital to negotiate a lower rate. In either case Andrew would pay x% of the finial cost up to a certain cost. There may also be a copay he would be responsible for.

If he has an HSA, then he pays everything unto a certain amount typically $3500 - $5,000 and he can put tax advantaged money into what's called an HSA account.

HSA's make sense for young people, 'regular' insurance makes sense for older people or people with lots of health problems.

EDIT: Interesting Side Note...

In America, it is typical to get "This is not a bill" bills. Basically, it is a statement from the hospital that outlines all the expenses, but it states, "This is not a bill" on it. You will then get the real bill from the insurance company, which is typically a lot less. For example, a family friend spent 3 or 4 days in the hospital before she passed away and racked up ~$300,000 in medical expenses. The family ended up paying about $2500 for the medical expenses.

<comment><USER11> So there aren't any insurance with 100% coverage? He would always have to pay some percent of the final costs?

I'm a french expat living in China and I get 100% coverage (up to 3 million dollars) everywhere in the world except the US and canada for 3250$/year. To also have coverage in the US, it would cost me almost double price...

As a side note, when I was researching insurances for expats, I found that American insurances like Allianz had a lot more exclusions than European ones...

<comment><USER10> I am sure there are 100% coverage plans, but I would expect them to be very expensive. Many health insurance plans basically say, the most you will pay in one calendar year is $x,xxx. Since it's so early in the year and assuming his year starts on Jan 1st, I would expect that he will have some expense for the doctors visit.

A personal example,I pay the first $3500 dollars of medical expenses and most things after that are covered. I pay about $2500 a year for high deductible insurance. So the most my out of pocket expenses for the year would be ~$6000. Because I'm a part of an insurance plan they've pre-negotiated rates with hospitals for me. My full medical expenses for the year tend to be around $3000 ($2500 insurance payments + $500 medical expenses).

<comment><USER11> Ok, then I actually have something similar... I can get the insurance 1100$ cheaper if I agree to a 1250$ yearly deductible..

And actually your insurance is then about the same price as it would cost me to have worldwide coverage including US and Canada as someone who is under 30 years old. Except that I can't have a deductible this high...

</comment></comment></comment></comment></comment><comment><USER12> Get well soon!

</comment><comment><USER13> Hope you feel better soon Andrew. I was in hospital last year, and when you can't keep fluids down, its better to go to the hospital than wait it out at home.

I enjoy your interviews, and hope to put the knowledge into action when I launch my new company soon.

</comment><comment><USER14> Hope everything works out for the best, and you're all shiney soon. If you're having stomach issues though, maybe a burger and fries isn't the best meal you could look forward to? Maybe celebrate with some sushi!

</comment><comment><USER15> Back when we were still in LA figuring out grubwithus, Andrew used to give us some valuable advice -- he was always so willing and able to help. Get well soon buddy

</comment><comment><USER16> Time to revisit the archive of interviews.

</comment><comment><USER17> Get well soon

Hospitals suck...but at least you caught it before there were any major complications

</comment><comment><USER18> That sucks. Get better, Andrew!

</comment><comment><USER19> Good luck Andrew. Hopefully it's nothing and you're back in action ASAP.

</comment><comment><USER5> Seeing this last night was very moving.

I'm tempted to click on each of your usernames so I could get your contact info and thank you directly, but I should rest.

Thank you for this!

</comment><comment><USER11> Get well soon, Andrew. Really love your interviews!

</comment><comment><USER20> Man, I know what that's like. A few members of my family have similar issues.

Best of luck for a swift recovery, Andrew!

</comment><comment><USER21> All round nice guy. Get well soon Andrew.

</comment><comment><USER22> Get well, Andrew. Take care of yourself/family first. Life is to short.

</comment><comment><USER23> Get well soon Andrew!

</comment><comment><USER24> Get Well Soon!

</comment><comment><USER25> Hey Andrew, get better and have lots of good food. It's been amazing watching your interviewing grow more improved, more subtle, and better at getting interesting answers over the years. You're an inspiration dude - best wishes to you and yours, and here's hoping for much health and good food on the horizon.

</comment><comment><USER26> On chronic illness lists, inpatient hospital stays sometimes get referred to like it is a prison sentence. Hope you get sprung soon.

</comment><comment><USER27> Crohn's Disease?

</comment><comment><USER28> get well pal

</comment><comment><USER29> Andrew reads HN, so he'll probably see well-wishes we leave here.

Get well soon, Andrew!</comment>


Ask HN: have you ever refused to complete a code sample request? - <AUTHOR>

I know there have been many discussions regarding code samples, and normally, I have no problem with them, but I've just been given one by a potential employer and I have a few issues with it.
First of, they only sent me a psd of a page and a bunch of fonts. No directions on what to do, what frameworks, limitations, what features to implement, etc.
I don't have photoshop, so I can't guarantee that what I'm seeing is exactly what they want, but I assume  it's pretty close.
What I find a bit offensive is that the psd they sent me is clearly a new design for the companies website.
I've never met anybody at this company before, haven't had a proper interview or introduction, this has all been done via a recruiter up to this point.
It feels like they are trying to get some 'free work' in the process of testing out candidates, and I find this offensive. Not only to me, but the other potential hires as well.
Has anybody handled this sort of situation before? How'd you approach it? I probably wouldn't have as much of a problem if I had at least met somebody at the company and maybe had a better feel for them as a group. They aren't a small start-up, they aren't huge, but they've got a decent amount of money (I'm pretty sure) if that makes any difference. <comment><USER2> Yes, I've refused to do it several times and instead "counter offered" with a link to my public github repositories so they can see for themselves that I can code. When I search for a job, I usually have several application processes running concurrently so that I can find a good job fast. Then time constraints makes it so I can't complete several many hours long puzzles for each one.

Unfortunately most won't accept github as a substitute for solving code puzzles and will instead just reject your application, leading me to believe that most companies offering them aren't using them to gauge your coding ability, but rather whether you are willing to jump through hoops or not. And it's easy to reject someone as being "not committed/doesn't want the job enough" for not solving the puzzle.

Many companies are also using the code samples as a means for standardized testing. So even if they aren't interested in hiring you, it's still great for them to have hundreds of completed solutions to their puzzles so that they can measure more promising candidates ability versus the average.

<comment><USER3> I usually stop responding after I get a multi-hour code problem request. People from the recruiting side will hee and haw about how code samples are essential otherwise they get people with 10 years of experience and multiple PhDs who can't code fiz buzz. I call B.S. and don't play ball.

</comment></comment><comment><USER4> Code sample request is usually asking for a copy of code you already wrote. I have some small projects that are suitable for that.

What you are talking about is programming assignment. I refuse that always out of principle. First, I don't have a couple hours to waste just for an interview. Second, it's insulting to someone with a lot of experience and good education. Is your stupid assignment going to measure more than my 10 years of experience and CS degree from a good university? If you aren't willing to spend 15 minutes on a phone interview figuring out if I'm competent or not, based on my experience, then I'm not wasting my time on your stupid assignment. Third, I noticed that people who give programming tests and assignments tend to be less desirable places to work. So, refusing the test or assignment helps me avoid wasting time interviewing with clueless people.

Finally, there always are the sleazebags looking for free consulting, which is what's happening in this case. Accept that there never was a decent job available with this client, don't waste your time, and move on to the next opportunity.

</comment><comment><USER5> No offense but nothing done over a weekend would qualify as work that could be contributed to a serious project. It would be out of context and would probably not fit in important ways into the project.

From the point of view of a person interested in hiring you, they just want to see your code, your style and perhaps the way you think.

<comment><AUTHOR> Over a weekend? Most code samples I've done have been less than an hour, maybe a few hours max. I'm not dedicating my weekend on a code sample for a position I know next to nothing about.

Code written in an hour 'could' be contributed to a serious project. I wrote a language identifier as a code sample in under an hour, test code and all. Add a few more languages to it (don't need to change the code as the app goes looking for samples in the language directory) and it's damn near production ready.

The company I did the code sample for had nothing to do with identifying languages, but they thought it was a good way to test the thought process. I agree, I thought it was a great code-sample, and my favorite thing about it was that I got to challenge myself and learn a bit too.

I have no problem with code samples in general, that's why I'm so curious about other peoples feelings regarding this one.

</comment></comment><comment><USER6> I'd go with your gut feeling on this one. Part of the hiring process is that your interviewing them, as much as they're interviewing you. Every code sample I've ever been asked to write was clearly for a very contrived problem. Don't walk, but run away from this. This is a huge red flag.

<comment><AUTHOR> I normally don't mind the 'contrived problem' samples, as a few times I've actually learned something in the process. Some of the code samples from Spotify were pretty cool, though it looks like they've taken down there page that had their code samples. Too bad, it was a great resource as a guide to what other companies should do as code samples.

<comment><USER3> I have many issues with these code samples. One big one is that they slow down your ability as a candidate from applying to many employers. This stuff is all fun and educational when you are in your early 20s. After a while, you see it for what it is.

Or maybe I have just become cynical in my old age (over 34).</comment></comment></comment>


Principles of scalable front end projects - <AUTHOR> https://www.bornfight.com/blog/10-principles-of-scalable-frontend-projects/ <comment><USER2> As someone who builds reasonably large web apps for a living, this list doesn't really address anything that's specific for large scale. Separation of concerns, a common API layer, tests, linters and etc are the baseline of good development today, not something to consider only for bigger projects.

What I've dealt with over the years, and would've loved to see addressed, is questions that are actually specific to projects at scale. Having hundreds of views, how do you classify and manage components? How do you manage shared components? How to achieve (and keep) architectural consistency across thousands of components? How do you address death-by-a-thousand-cuts performance regressions in big web apps? And so on. Sadly, this article doesn't address any of these.

<comment><USER3> It very much comes off as a marketing piece. Heck, the name of the company splashes the page for several seconds before you even see the article. They say some things that aren't really wrong but also aren't really interesting, and it makes them sound like they Really Know What They're Talking About so that you'll pay them to build something for you.

</comment></comment><comment><USER4> The article does not mention what the author means by "scaleable" projects. Scaleable in terms of the codebase being used by tens or hundreds of apps? Scaleable in terms of tens or hundreds of developers working in the same codebase? Scaleable in terms of millions of users with different hardware and devices using the web sites?

My guess is that it is "scaleable in terms of a team of 10-20 developers working on the same codebase". The practices are fair in this sense, though I'm a bit unsure on the specific library recommendations and why they are better than the alternatives not listed. I was also missing things like tooling om test coverage - and agreeing with the team on how to go about this - or code review practices and enforcing (or not enforcing) this.

When it comes to scaling for millions of users, things like monitoring, alerting, logging, measuring performance in smart ways are things that also need to be done.

I happen to head up a web team who is building "scaleable" web apps in this latter regard (we have millions of monthly paying users around the globe whom we need to scale for) and I'll write up the additional practices we use to "scale" with w small team in a later post on my blog [1] for anyone interested.

[1] [http://blog.pragmaticengineer.com](http://blog.pragmaticengineer.com)

<comment><USER5> I hate to sound elitist or whatever, but I'm just tired of seeing a blog title something about writing a scalable or "enterprise" web app and the content almost always being "write modular code, write comprehensive tests, and don't write spaghetti code though usually through the veil of domain drive design jargon (whether or not they don't use the term DDD or they are literally quoting Dr Bob blog posts and including vague graphics showing the "boundaries"). But, any decent developer will literally come to the same realizations after spending a significant amount on anything that's not a toy/pet project. I also get that not everyone has had that realization and this blog may be insightful/helpful to them, it's just not the content I was hoping to come across as it's something I'm very interesting to hear what others are doing.

I'm not going to pretend I'm some hardass enterprise engineer, but my only time spent on frontend work these days are on two different applications that solely exist because the actual enterprise software sucked so much that these applications exist. So, I like to think I at least have an idea. As over the years the features have been added to the apps, and more of the "fun little quirks" in the data. Which is why I want to hear how real "enterprise" level frontends are being handled. Believe me, I know the value of keeping my code modular, and I really know the value of keeping logic out of presentation, but if working with enterprise software, and software that's deployed to 30+ different departments to standardize and centralize processes they've been doing themselves for 50+ years (under the guise of "making their jobs easier" but really they central office where just tired of having to deal with the random of assortment and varying quality of data, lol) there's always another edge case. I cringed when they mentioned that using one of the big frameworks, and forgoing global styles, because after a couple years of "the frameworks built in css isn't totally the way we need it" (or more likely, "fucking updates broke the UI on a minor release for no reason") or "oh using the current components we use to do that don't take data that way or return it the way we need either, and it'd take too long to replace, just create a new set for this feature" it's not going to be the nice paradise where everything is siloed off just like in Uncle Bob's blog. I just this week got sick of UI framework's because the built in component I needed wasn't able to handle the task in the exact right way, so I had to make adjustments to it, and I'm just that's never going to break in the future... not to mention that absolutely none of them are really doing any more than the bear minimum accessibility wise, which is one of the reasons to use a framework was to eliminate that boilerplate. So, I just started tinkering with the new Vue3 composition API to build a UI framework that literally has no styles attached just dom elements that know how to setup their aria-attributes, handle keyboard events so a mouse isn't the only method, etc (as well as if they weren't passed given enough information to make themselves complaint with the aria guidelines). To style them, I'm just going to make pass in a list of tailwind classes in a config files at build time, that they can (optionally) but will in no way the actual core framework itself is dependent on.

I just want to hear how some real enterprise team are managing their frontend (and more importantly their commentary — I can find code online but without the context it's not the same) when they have 100x the amount of edgecase legacy bullshit I have to deal with and likely 1000x the burden of buroqracey

</comment></comment><comment><USER6> And apparently principle zero is make scrolling janky for some godforsaken reason.

</comment><comment><USER7> > 10 — Keeping a changelog

I have thought about a changelog and inclined to like it, but I haven't come across a strategy to have a good changelog structure.

<comment><USER8> This might be a good starting point: [https://keepachangelog.com/en/1.0.0/](https://keepachangelog.com/en/1.0.0/)

<comment><USER7> Thanks. This helps

</comment></comment></comment><comment><USER9> I thought this one might be about microfrontends. It was not...

We are currently working on a solution for this problem (scalable SPA where multiple teams can develop and deploy independently). Its been used by some of our clients for quite a bit now. Their dev teams seem to like it so far.

If anyone is interested our GitHub repo is at [https://github.com/smapiot/piral](https://github.com/smapiot/piral) \- thanks!

<comment><USER2> I've seen many authors bring up micro frontends recently, but I haven't seen anyone address size overhead. In modern web apps, third party dependencies can easily be the bulk of your final deliverable volume. With micro frontends and complete separation, this overhead cost can easily end up being paid multiple times. How does your project address this?

<comment><USER10> We make heavy use of peer dependencies, so microfrontends rarely end up actually bundling their own dependencies. Build tools like rollup help with that.

It's not a silver bullet and requires A bit of overhead. I'm interested too to hear how other people manage the problem.

<comment><USER2> That is true, however one of the main arguments for micro frontends is the freedom to use anything: one team can use React, the other Vue, one uses this table library, the other another. If you don't do that, micro frontends offer very little in benefit as far as I see. If you do do that, what you're left with is pretty much regular architecture, just in separate repos and harder to keep in sync.

<comment><USER9> Personally, I think this is a myth ([https://blog.bitsrc.io/11-popular- misconceptions-about-micro...](https://blog.bitsrc.io/11-popular- misconceptions-about-micro-frontends-d5daecc92efb)).

Most our projects where microfrontends have been actively demanded (and we did now quite a lot of them) did not come up due to use of multiple frameworks. Yes, it is possible to use multiple technologies, but quite often there is key technology in place anyway. E.g., one of our clients had a huge pattern library written in React and demanded all microfrontends to be written in React.

So why then microfrontends at all? Well, all parts are still independent from each other, i.e., independently developed and deployed. Our client has multiple teams and like that these teams can just work in their own pace using a few guiding principles that have been given by the solution architecture.

<comment><USER10> FYI your link is broken.

Agreed, the only mention of using different technology has come up in the current project is in discussions of Typescript vs plain JavaScript. That's been the only bring-your-own-technology for the most part, since we've standardized on React and some shared libraries like Lodash.

We've primarily benefitted from the forced feature and team isolation (aka domain boundaries if you would), plus it gives teams more granular control over their deployments. So, pretty much just what you described.

Another benefit has been our ability to build once and share features across different applications, since we have a few of those for reasons. Teams can build out different "views" (roughly) for different use cases on different apps which share the core functionality.</comment></comment></comment></comment></comment></comment>


Ask HN: Do you have a software consultant or outsourcing horror story? - <AUTHOR> I'll start:
My friend's first startup took a dive after spending $80,000 to work with a local development company. It turned out the development firm was just a front to outsource all of the work overseas and take a big cut.
Long story short, 5 months later he ended up with no app, no money, and a lawsuit that he couldn't much afford.
Has anyone else had an experience like this? <comment><USER3> Ooooh yes!

A few years ago I was working for a large company. We needed some help building an app and a back-end service. Our team _could_ have built this - <USER2> we were stretched a bit thin with other work.

So we found a great technology partner. They'd helped us in the past, and they could take care of everything.

After a few weeks, it turns out that they'd over-sold their abilities as a back-end provider. They could do the app no problem, but were going to have to use another company to build the database. No worries, they've done this loads of times before.

We were quite behind schedule, so agreed to it. I was sent to give a briefing to the twice-removed company.

I talked them through what we were doing, the designs we had, and how it needed to be built. I explained the challenges we anticipated, the regulatory environment, and the timescales.

Their lead consultant looked over what I'd presented and said - "This is excellent work. We'd like to hire you."

"I'm flattered," I said, "But I quite like my current job."

"No, you misunderstand," the consultant said, "We want to hire you to build this for us. It looks like you know exactly what the client wants and, frankly, I don't think we have the skill in-house to build it on time."

"..."

He thought I was from the first-outsourced company.

I gently let him know that _I was the bloody client!_

Needless to say, the project collapsed shortly thereafter.

<comment><USER4> "No, you misunderstand,"

This must've been funny!

</comment></comment><comment><USER5> Boy oh boy oh boy do I.

I was transitioning between teams and needed something to do in the meantime, so I got put on a testing and validation team for an internal product. I was to collaborate with our overseas IT team and figure out why their tests weren't catching bugs in production.

After two weeks of wrangling, hand wringing, and bad vibes, I finally got them to send me their test automation code and a link to their Jenkins where they were running their tests.

The Jenkins was in a sorry state: disk overflowing with garbage, 10+ releases behind, and not tied into our corporate LDAP (it was using local admin- everything accounts instead). But that didn't hold a candle to the test automation code itself.

It didn't compile.

No seriously, I spent two more weeks just trying to get it to compile on my laptop, and I _could not_ make it work. Mind you, this was a pretty bog- standard setup (Python unittest-based suite, Selenium for frontend testing, and an in-house [but not terribly unusual] integration test library written in lua).

I never once got it to compile, all the while their engineers insisting that I must be doing something wrong because it works fine on their Jenkins server, as evinced by their test reports being generated every night.

Turns out that wasn't true either, though: they had built a series of obfuscations such that the Jenkins job scanned the written tests, marked most of them as passing, and randomly failed the rest. This had been going on for over a year and a half and apparently no one had noticed. They were faking test results and slowing down developers because no one could figure out why tests were failing randomly.

The worst part is, when confronted with the problem, their defense was that they were worried no one was reading their reports, so they did it once a year ago and forgot to turn it off. Problem is that the report generation was fairly sophisticated with quite a few special clauses to handle specific tests which had to "pass" or "fail" in a particular way. So they clearly invested some time into it.

They finally admitted they were in too deep a couple weeks after that initial confrontation, and fired from our team. But because they're the favorite consultancy of another manager at the company, they continue to this day to consult for the company. It's really sad.

<comment><USER6> That is a new record. I can kinda understand incompetence "ok we hired too many people, some were not very good and we haven't fired them yet"... annoying but it makes sense.

But this is outright fraud. This is the literal definition of negative value. Paying someone money to test, then those testers failing "random tests" wasting actual developer time on non-bugs.

(With that said, this is very weird an offshore team would own the unit tests for a project.. the developers should own it)

<comment><USER5> Trust me, I know. Having someone else write your tests just screams incompetence to me, but this project was like 4 years in at this point. I wasn't going to convince them to change that.

</comment></comment></comment><comment><USER7> I am taking over a codebase that was written by an outsourced team in Pakistan. The code is in a total chaotic copy-pasta state. I swear the main thing you'll find in outsourced code is the inability to refactor or re-use code for similar features.

One recent thing I just found is a view that has about 8 source HTML files, all of which is quite complicated angular1 code. Then when the team was asked to have a slightly different button for an ADMIN logging in, they duplicated all the files and changed the button. Since then management had them add new features to the view (that would apply to admins and other users) and they basically coded up the changes requested in different ways in the admin/non- admin views.

Same stuff in the REST code - I don't really get it either - when you talk to the tech leads they are often very intelligent and totally get the criticisms. I think the problem is these outsourcing companies are hiring junior developers and teaching them just enough to write code to just barely get by the requirements. Literally every feature I go through in this code base its like I'm turning over a lovely cake to find worms inside.

<comment><USER8> I swear some projects are outsourced to a whole different _universe_ , one where people haven't yet figured out that copy/paste is not a good idea.

</comment></comment><comment><USER9> I was the only engineer at a not-tech-oriented NGO, so they had me on-site to check up on the team developing their app. At the end of December they had an initial app - I'm not a mobile dev, but it looked OK for an MVP. We showed it to leadership and everyone approved.

We then went on 2 weeks vacation. When I came back, I was surprised to hear the contract was nearly up - they had supposedly been working over our vacation. This app looked identical to the MVP we'd seen before. I was upset, but there wasn't much we could do. Also it turns out the app didn't look flashy enough for leadership. This was a major wake-up call for me - I messed up here by not critiquing the app or making clear work hours expectations - but also I discovered that demo-ing an app to a whole group leads to a lot of group-think. The criticism only comes later and then you are screwed.

</comment><comment><USER10> Similarly, I was running a digital agency and the performance of one of my first employees took a nose dive. After trying everything I could think of to help him turn things around I had to let him go.

Shortly after, I got an Email from an unknown individual who said he knew the employee and asked if I could chat. Turns out, my employee was subbing out all of his work and stopped paying his sub, who then stopped delivering. The sub proved this to me by confirming some confidential information that he shouldn't have had access to.

After revealing that he had taken part in this scheme, the sub then asked me for a job! Needless to say I told him he wasn't a good fit.

<comment><USER11> Somewhat similarly, I once hired an employee who didn't have the skills we needed but said he was motivated to learn, seemed like a good fit from a personality standpoint, and had really great communication during the interview process.

We spent a year trying to bring him up to speed, waiting through all sorts of excuses, and worse, all of his communications were terrible (bad spelling, inability or unwillingness to use a spell checker, bad grammar). It was so bad that we eventually made him get any communications that went to clients (~30% of his job) be reviewed by a coworker before they were sent out.

At the last "PIP" meeting we had I asked him: "I went back and looked at all of the e-mails we exchanged during your interviewing, and they didn't have any spelling or grammar or punctuation problems. How did you do that?" "Oh, my wife wrote those."

<comment><USER12> Should have hired his wife from the start

<comment><USER11> That's exactly what I said to my other management team. :-(

</comment></comment></comment></comment><comment><USER13> I have one in the context of an academic lab. I was in the process of refactoring a project a coworker had left behind which was basically spaghetti code. Our lab had a collaboration with another lab, and that lab offered to extend the functionality of our code base for mutual gain. They assigned this project to a Ph.D. student who picked it up as part of their Ph.D. thesis. I hooked this researcher up on our Github and asked them to send me anything they had about their project (requirements, design, issues, desired interface blah blah) so I could understand their plan and prepare for the integration.

Fast forward 6 months and I still had not received anything. They also had not committed any code to the repo I had set them up with. I contacted them and said that it would be difficult for me to insure that our programs would interface correctly if I had no idea what the interface was supposed to look like or what their program was supposed to accomplish. She said she "was working on it". After several more months of not hearing anything and being under time pressure myself, I contacted her and demanded she upload her code to Github immediately. She refused, stating that this code was her personal property and that she was concerned I would "steal her IP". I lost it and sent her an email, CCing her adviser and my adviser, informing her that all her work was the property of her employer, and that if she didn't upload it I would contact our university's legal department and inform them that she intended to steal IP that was university property.

At this point her adviser called me and quietly informed me that the reason she hadn't uploaded anything was that she had nothing to upload. She had been struggling for over a year and had made 0 substantive progress on her project, lacked the programming and scientific knowledge to do what she wanted to do, and was faring very poorly as a researcher. She was subsequently rushed through their program and graduated in 3 years from a program that typically takes at least 6 years to complete.

The project never got finished.

<comment><USER14> She was faring poorly, so she was rushed through and graduated early? That doesn't seem very good, is it common in academia?!

<comment><USER13> Done to save face. Dropping her would reflect poorly on the lab as it's basically admitting failure to properly vet candidates and/or mentor. She also had industry political connections which made booting her difficult for economic blow back reasons.

<comment><USER14> Nuts. Where do you live, roughly? I'm just an undergrad but I don't think political or industry (well -- maybe industry) connections do much at Canadian universities.

<comment><USER15> Oh sweet summer child. Connections are everything everywhere.

</comment></comment></comment></comment></comment><comment><USER16> I've been on the other end of this a fair few times (hence the anonymous account).

The first time I was working on an app, most of our pair programming with a much more experienced dev. I needed to keep the job to keep my visa. When the more experienced developers quit I couldn't get anything done. I strung things out as long as possible but eventually people cottoned on to the fact that I wasn't productive.

The next time I had pushed really hard to get the job. "Fake it till you make it" they told me. I spent two months at the job and I didn't even manage to get the development environment set up. I used to hide in the toilets crying from the stress. I was let go at the end of my probation period.

I just wanted to let people know what it's like on the other side. Not everyone is some bad guy trying to screw you over. Sometimes it's just a normal guy trying to get by and not managing.

<comment><USER17> That's entirely your fault. If you had no idea what you were doing the correct play would be to raise your hand and ask for help. Find seniors that could help out. Stop pretending (lying) and start being a professional.

</comment></comment><comment><USER18> I've had a some outsourcing successes and failures.

In the first one, I got what I deserved. I underpaid developers from a poorer country who ended up being 'yes' men who continually checked in catastrophic, unmaintainable code for simple problems. It burned me over and over again but the rates were just so good it was hard to get off the sauce. We ended up paying for those savings many times over.

Another time I had the opposite problem. I paid premium prices for premium developers that required so much hand-holding and reassurance and clarification that I may as well have wrote it myself. I kept thinking that they'd get ramped up once they got used to our idioms and way of doing things but they never did.

<comment><USER19> Many years ago the startup I had co-founded outsourced a chunk of development work because an investor wanted us to - what was produced was pretty much "catastrophic, unmaintainable" code that took a few developers on our side to rework (probably rather more than it would have taken to write the code from scratch ).

What we did like about the code was that each developer in the offshore team had created an exception class based on their own name - so the application would report "There has been a XXX YYY Error" \- where XXX YYY was the name of one of their developers.

[And after ~15 years I can still remember the relevant name for the first one of these I saw].

<comment><USER20> > each developer in the offshore team had created an exception class based on > their own name

This is wonderful! Did they honor their work hierarchy, i.e. exceptions from junior developers will always extend exceptions from senior ones?

</comment></comment></comment><comment><USER21> Worked for a large government agency that outsourced their IT department. I was on a team that was asked to look at the RFP before it was put out. We flagged things like incentivizing the contractor for resolving issues.

Predictably, the contractor that got the work created as many tickets as possible for resolving any given thing.

Years later, the agency now has no IT competency and they pay a lot more for much less service than before. They also have a lot less flexibility in what they do. They almost have no choice but to keep rewarding the contractor for poor quality service.

It's been interesting watching a situation where things keep getting worse and worse because the agency is basically too big to fail and will probably never run out of money.

</comment><comment><USER11> Tale from the other side, I used to run a Linux consultancy and we once had someone engage us to develop a custom Linux distribution. This guy's father was a patent attorney, and after spending significant time developing this distribution for him he couldn't pay because he had spent his budget on patenting it. But he needed some changes beyond the initial scope of work to get it to a viable product, so he was trying to get us to do more work while at the same time not paying his 6 month old invoices.

Probably the biggest "nightmare" we had was a local publisher, and this was back in around 2000, who wanted to put their magazines on the web. They were highly targeted "yellow pages" for tourist towns, so they really wanted to take their existing PDF artifacts that they send to the printer and make them available on the web as clickable hyperlinked things inside a web based viewer.

So we proposed making a proof of concept, we spent a few weeks working on splitting the multi-page PDF, making a viewer that would pre-cache pages, allow you to zoom and scroll, and defining the bounding boxes for some pages so that you could click and go to the homepage of the advert you were clicking on. We demoed it for them and they liked it, but they said they had decided to put that project on hold. I explicitly asked them if they were happy with what we had built and they said yes.

Around a year later I get a series of calls from them and from a new web development shop they have hired, saying that they wanted a refund because the work we did "our new consultant says they could have done in 10 minutes". My feeling from the conversations I had with them at this point was that the new developer was going to get paid out of the money they got back from us.

I don't remember what our final resolution was, we always worked very hard to make our clients happy. We really didn't like that they had said they were happy with what we had done, then a year later some third party called us telling us our work was crap and we should give a refund. And the whole "We could have done it in 10 minutes" was not a very good tactic, it just pissed us off.

<comment><USER22> I've been on the other side of that argument. In my case, a client had spent $50,000 on a pretty plain static brochure website. They're not tech-savvy, so they wanted to move to a CMS they could manage on their own.

When I told them it'd be $2,500 to put their existing site into a new WordPress site, they thought I was joking. That was the day that I realized value pricing is a real thing.

In your situation (with money already in hand), I probably would've just told them "Then pay them 0.25 my hourly rate to cover their 10 minutes of work with a 50% bonus. Why are you wasting your time calling me?"

<comment><USER23> u "Should be able to do all this for about $2,500"

dem "really? You must be joking"

u "hehe, yea I have a funny sense of humor. I meant $25 thousand, not 25 hundred, har har"

dem "oh ok, heres your money"

u "thank you"

<comment><USER23> Just so you know I was being serious.

<comment><USER24> Out of the same league, where "If it costs nothing, it can not be worth much":

Me working for a large multinational: I would like to support this OpenSource project that we regularly use, can we donate some money?

Boss: OpenSource? NO WAY. We're not commies.

Me: I would like to buy 100 CD's with software to distribute among my colleagues since it will give them the change to learn about some really cool security tools, all installed on a bootable linux live CD.

Boss: 10k Only? GO FOR IT!

That same night, we spend burning 100 CD's and printing 100 labels.

And that, dear readers, was a (really small) push into the development of Auditor, the Linux Penetration Testing Distro. we all learned to love (Hi Max!).

</comment></comment></comment></comment></comment><comment><USER25> Not my ass on the line and not a major burn, but still: I got an email many years ago from a guy who said essentially 'I got your email address from <guy we both know>, are you interested in picking up some side work and if so, can we meet'. I say okay and when we meet, he explains that they had this SaaS idea (an industry-specific collaboration/data sharing tool essentially; this company did other work in this industry, they weren't a software shop but saw an opportunity and wanted to branch out) and they contracted it out to a largish 'web agency' as that was called back then in the area. They had delivered a mostly working product, developed using their own 'framework' (as everybody and their dog has).

But now of course it needed maintenance as well as some additional features (software of course is never done). That web agency had said though 'well these small contracts aren't really worth our time - we delivered what you asked, if you want small work on top of it, we have to charge you ridiculous rates'. So now this guy was looking for someone who could do some occasional work on it every few weeks, for a (for that time) complex web application, written in an undocumented proprietary framework. Yeah good luck with that, I politely declined, after explaining the situation - from the look on the guy's face, he only then and there fully realized the position this 'web agency' had put him in.

Heard from the guy we both knew months later that they were still looking, and after a year or two the product disappeared from their website. Not sure if it was the tech that took it under, but I never quite understand how companies think they can completely outsource the whole workings of a product they intend to offer, without even having someone on their own team who understands that product.

<comment><USER8> I have seen permutations of this scenario multiple times. I have some sympathy for organizations in this situation, but it is entirely self-inflicted.

<comment><USER26> At one point, a lot of my consulting business was figuring out code like that, that others have written.

<comment><USER27> We have a term for it. We call it code refurbishment!

</comment></comment></comment></comment><comment><USER28> Yep, had this a few times in the past 25 years. I am good at working remotely with people, but it taught me that, before trusting, I have to sit with people through a few sprints. It is hard to fake who is doing the work if you go in hard and work with the team for a few weeks. Not many (including very, very large shops) have the resources to fake that (note that you need 'evil' agents who are also good at what they do in software dev and in my world that seldom mixes); it will be easy to detect if they drop the ball after. Since taking this approach I have had only solid outsourcing experiences. But yes, lost a lot of credit & money before that realisation.

</comment><comment><USER29> I was an intern when this happened, but yeah.

We were working on a program to manage a piece of industrial hardware, and the hardware was a handheld device. The contractor hired to build out the firmware put something like 16 people working 60 hour weeks on this. For about 12 weeks, they toiled away, and then we decided that they should join our demos and demo what they had.

Well, it was incredibly bad. They had basically just created some Qt templates. They had very little, if any, code written under the covers. The logic just wasn't there, but the interface was at least nice. It was pretty clear these guys had no idea what they were doing. Our director of development were all over these guys every day for weeks after that.

Eventually my internship ended, but I heard that they ultimately decided to drop the contractor and hire in house for it, and it eventually got released about 4 or 5 years after I left there.

</comment><comment><USER30> $80K? That's peanuts. Government projects that are outsourced run in the 10's or in some rare cases even 100's of millions of $/E/YourFavoriteCurrency and get cancelled because of non-delivery with alarming regularity.

I see a lot of outsourcing deals in my daily practice, 70% or so ends well, 20% ends with a lot of friction and 10% or so fails utterly leaving the contractor with a damaged reputation and the contracting party out a lot of money. It's not rare to see these end up in court.

You _really_ need to do research on any company that you want to outsource part of your development work to. Talk to their other customers, get to know the people in the team that will do the actual work, in other words: do your homework.

If you don't you're going to end up in trouble, more or less guaranteed.

<comment><USER31> >$80K? That's peanuts. Government projects that are outsourced run in the 10's or in some rare cases even 100's of millions of $/E/YourFavoriteCurrency and get cancelled because of non-delivery with alarming regularity.

Right. I'm not an expert in the study of this [1], but even just as a regular dev (and sometime manager or team leader, with some training and experience in software engineering techniques, including successful application of such techniques in real projects), I take an interest in this, and have come across multiple such cases in just reading the tech news - magazines, web sites, etc.

A couple of related links:

[https://www.google.co.in/searchq=large+software+project+fail...](https://www.google.co.in/searchq=large+software+project+failures)

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

There are ways to overcome these failures, or rather prevent them, but they require disciplined use of techniques, from top to bottom of the team, which is not very common, for various reasons, either lack of knowledge of the techniques at all, disbelief that they are effective (if done right), or lack of political will to implement them, or penny-wise-pound-foolish mentality.

[1] There are people who are:

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

Quotes (from the above Wikipedia article):

"High-quality software is not expensive. High-quality software is faster and cheaper to build and maintain than low-quality software, from initial development all the way through total cost of ownership."

<comment><USER30> > High-quality software is not expensive. High-quality software is faster and > cheaper to build and maintain than low-quality software, from initial > development all the way through total cost of ownership.

That would be hilarious if it weren't the truth. But nobody actually wants to take the time to do it right so they end up doing it wrong and then taking a multiple of the time anyway.

<comment><USER31> Ha, you explained it better than the quote did. And worse is that often they repeat the same mistake in the next project, and the ...

</comment></comment></comment></comment><comment><USER32> > My friend's first startup took a dive after spending $80,000 to work with a > local development company. It turned out the development firm was just a > front to outsource all of the work overseas and take a big cut.

What I get from this story is your friend raised an inadequate amount of money to build a company that required a technical background that he/she didn't possess, though should have.

80k over 5 months is 16k a month, which should get you roughly one qualified engineer. Unless the project was very simple, 5 months isn't a lot of time. Maybe they didn't understand what was possible within that time-frame / budget?

There's nothing wrong with outsourcing. I'm outside of the US (though from there) and companies outsource to me -- not because I'm cheap, but because there aren't that many people who do the specialized work that I do, in any country.

On the other side of it, most work that gets done for startups is relatively simple. There are plenty of competent engineers all over the world that can do the work.

> It turned out the development firm was just a front to outsource all of the > work overseas and take a big cut.

Turns out Apple outsources all of their manufacturing to China and takes a big cut. Maybe I should start buying only `Made in the USA` (or wherever you're from) computers?

<comment><USER6> 16k a month can get you a mid level + an intern, or one senior with some cash depending on where in the US you go. It also gets you about 20 guys in India with a PM in the states.

I can guess which way they went..

</comment></comment><comment><USER33> Company I work for was recently acquired. Day 1: Everybody except the Sales team is on 90-days notice. This included the software development team. They have a whole process in place, with a catchy name: "Lift & Shift." During the next 90 days, they are doing "knowledge transfer" with their team, and I checked out individuals on github. Bangladesh, rural Russia, Vietnam, and Isreal, just to name a few of the various publicly stated locations. Does that count as Outsourcing?

</comment><comment><USER34> I understand that most major purchases have guidelines and ways to protect consumers but I just can't imagine spending 80k on something and not consistently demanding to see progress toward an end goal.

When I was consulting I had a build pipeline to production up as my #1 task. Doing this kept me honest and prevented a month of "go to production" issues at the tail end of the project from surfacing but far more importantly was building trust with my clients. They could see what was happening all the time and if something was going off track we could correct it quickly.

<comment><USER25> "When I was consulting I had a build pipeline to production up as my #1 task."

I used to cost that out as a separate item on my offers, but half of the time people would balk at paying for such things. No amount of explaining how it's better for all parties could convince some people. Now, that sort of prospect was someone you don't want as a customer anyway, but in the beginning you want to convert every prospect...

</comment></comment><comment><USER35> So I'm working on a project, within a product company, where 3 of the main components were written by an outsourcing company. From time to time I had to solve support tickets for those components.

Now I use this C# code I found there as "do-not"s. Let me give you few examples: classes with 24000 (yeah, 24 thousands) lines. Tens of classes in the same file. Methods with hundreds of lines. Switches in switch in while in while(true). Operations (push and pop) on same queue from different threads and lot of commented code with synchronizing logic which shows they just didn't understand how threads can share a bloody queue object. Copy-paste of logic because why do you have classes. Use statics, you dumb. And the most evil thing, the best and worst example is a class which uses an array[] with fixed size but behaves like a List with dynamic size. No generics. No use of .net classes.

I can't imagine how those projects were signed by the main architect while he asks, during usual code reviews, for nitpicks: change the name, move the property upper with a line, etc.

I think the time and money spent to fix various things within those componentes could have been greatly reduced if not that messy haywire code.

</comment><comment><USER36> I'm sorry but if your friend spent $80k on a development company and didn't do enough due dil to ensure that the company he was spending all of that money with wasn't outsourcing it - that's on him.

There are a dozen basic things he could have done in order to ensure that he wasn't stiffed. Off the top of my head:

\- Visiting the offices meeting the team, including those people specifically assigned to his project

\- Requesting staged payments so he pays as phases are met and not prior to receiving any deliverables

\- Checking the contract to ensure there's no mention of outsourcing. Did he even check the contract at all?

\- Getting references from former customers to ensure the validity of any claims made by the development firm

\- Searching online for feedback and reviews about the firm

\- Just asking questions in general. "Where is my app going to be developed and who by?" seems like an obvious one before you spend nearly a hundred thousand dollars

Edit: Looking at your post history you seem to be associated with a software development company. Did you not speak with your friend about his decision to spend an extraordinary amount on a development project ahead of him getting in this mess?

<comment><AUTHOR> This was well before I worked here. We were still college students at the time and he actually received a seed round of investment from a young angel-firm.

They were the ones who advised he worked with said company, so he thought they knew what they were talking about. Long story short, a partner was friends with the owner of this 'development firm' that ultimately created this mess.

Just another example of how bad advice and bad investors can kill your startup before it even gets started.

</comment></comment><comment><USER37> Not like that but I worked for a company and we were low on staff, one by one, each programmer quit without getting reinforcements even though this was stated many times. It wasn't until myself resigned, the last programmer on this particular project, that the people in charge woke up and hired several guys from another country less than 1 month before my last day at the company.

I got told to train them in the application but how far can you get in like 2 weeks with a remote team, really? They seemed very competent however, so maybe not really a horror story but the whole thing was totally unnecessary because if we had gotten reinforcements when asked for it, maybe not everyone would've resigned.

<comment><USER38> Alternate story: leadership wanted to switch to outsourcing the work. Created a poor experience for everyone and let the devs quit on their own. You were the last one out, so they ask you to train their new team.

<comment><USER39> why would management sabotage company like that? I think in USA it is pretty easy to lay off people.

</comment></comment></comment><comment><USER40> I've had lousy outsourcing experiences and I've had good ones. The best outsourcing experience I've had involved a very technically adept CTO, some solid pre-thinking about architecture and scalability, and (most importantly) an API-first, Microservices first mindset. This meant we could write API specs and test cases, define max-execution times and then hand the problem to the freelancer and let them figure out the solution. Of course we did a few other things right: Good onboarding, an open Slack, excessive communication / code review / feedback for the first few weeks. We also lucked in to finding a couple of great Ukrainian developers just at the time the Ukrainian currency took a nosedive, so we were getting $50/hr engineers for $30/hr rates. (Final thought - I went to try and poach one of the freelancers a year or two later - His rate had roughly tripled as a result of having gotten all the good experience working on a 'modern' app stack (React + Express + AWS Lambda + Microservices architecture).

</comment><comment><USER41> I've done a lot of work for clients, most of the work I get is cleaning up after incompetent outsourced (overseas) developers. I know there are competent developers overseas, but a lot of companies go for the low bidder and get burned, then have to spend twice the amount (or more) than they would have if they'd just done it right the first time.

</comment><comment><USER42> If you hire a team to get the job done:

1\. Make sure you do a bit of research: talk to past clients, meet with the team... 2\. Trust your gut feeling when it comes to the team lead. Ultimately, the team will only be as good as their leaders.

More importantly, if you're an early stage startup you should probably NOT hire an external team (and that's coming from a consultant).

Find a technical co-founder and go through the grind of building it on your own.

</comment><comment><USER43> We are a small Design + Dev shop in NYC. We charge around $30k to build an MVP. One recent client said she found an outsource company who can build her site / web app for $1k. Im like ok so you don't like the work? whats the problem. Our rate is $125/hr PP. I told you that from the get-go. She said, no but i paid $30k for a site / web app and i see a bunch of other companies paid way less. Im like you drive a range rover ( top of the line) Why don't you goto range rover and say to them, I can find an indian company to build me a range rover and why the F*%K should i pay $150k+ for yours? See what they say and that is my answer. It seems to be the case its hard for "some" customers / people to understand the value of what you are offering. That is why you cannot compete on PRICE. Inevitably these people with an idea want to build an app or have an idea ( its like a disease here in NYC) and have NO CONCEPT or CLUE and when they goto upwork ( name your third world provider here) they get ruined. So now off the jump i say to new customers / clients this is HOW MUCH we charge and you can go F#!K yo-self if you can't pay ( well not like that its in my mind, but you get what i mean) i keep it professional. I have changed my approach to getting customers. The first thing i do is explain that we do not outsource to 3rd world. We live and work here in NYC. This is what we charge so we can eat and if you do not value our work, no one is forcing you to work with us and you can go outsource your work to a 3rd world country ( outsource) and find out for yourself. After educating the client , they now want us to build new features AND even gave us another gig. We live in NYC where everyone is a gangsta. Ha ha! Real-talk.

<comment><USER42> I'd say: work for enterprise clients.

You get to learn how to build things at scale and they pay better. Startups and individuals always require way more education and ultimately want to squeeze every cent out of you.

<comment><USER43> You hit the nail on the head! exactly. not to mention the txt messages at midnight. lol

</comment></comment></comment><comment><USER44> I was having a conversation with someone I vaguely knew about their startup and what they were trying to get developed. He told me about his challenges and deadlines, and how hard it was to find a good development agency overseas.

I told him he should hire me to get it done, but naturally like most guys like this, he was blown away by my San Francisco rate.

He put a finger in my face and asked why would he hire me when he could hire an agency from Russia or Pakistan for a fraction of the cost? No thanks, he said. No thanks.

After a long time I asked a mutual acquaintance whatever became of this guy and his startup. He told me that guy was a bit of a lunatic, but had eventually spent about $250k with some _local_ agency and ended up with a broken product that did not do what he asked, he had got a refund for $100k but was suing to get the other $150k back. Don't know if he ever did get it.

</comment><comment><USER45> I try to work very closely with my contractors for this reason.

If I dont see results or competence I bail before its too late.

I think the lesson for your friend is that they need technical people with ownership in the business. If your primary use is your App, you should be your own expert.

IMO: Be a full stack developer at least once in your life. Maybe twice.

</comment><comment><USER46> In my first job as a developer after a few months I removed a few kloc of messy code/configuration written by consultants and replaced it with a few hundred lines of easier-to-understand code in a more mainstream technology. No features lost.

I also got the libraries upgraded (they were waiting for months for a release for some support library that turned out to be unneccessary with newer releases of the main libraries.)

</comment><comment> rm_-rf_slash I don't have a horror story, more of a caveat emptor tale:

When I was a freshman in college and learning iOS, I contracted out a developer team in Bangalore to write the backend software for an app I built, so that I could focus on the front end.

I had not taken a software engineering course by that point and had little experience writing clear and concise requirements, so that when the product was done it was missing key features that were necessary for the app to function but were not explicitly detailed in the contract.

I had to renegotiate for the missing features at an additional cost of $100. Granted, it was not a lot of money, but it was more than 50% above my original budget, and as a college student, that stung. Sometimes I still wonder if I was screwed intentionally.

Not much of a horror story but I hope my tale can serve as a lesson to others who may find themselves in the place I was then: learn the tech or be very very clear about your requirements before you sign a contract.</comment>


Ask: I wasn't able to attend IO2012, can I order a pair of developer Glass-es? - <AUTHOR>

I have had an augmented reality idea for android I've been working on. Now that Google Glass is orderable but only by attendees, I was wondering if there was a way around my lack of attendance. I get the impression the answer is 'no' but I'm willing to pay. I was just hoping there'd be a slot open. <comment><USER2> Hi, this has nothing to do with getting Gglass but, you are working on a Gglass project and I am looking for devs for this device. If you are ... near Florida we can meet or add me to Skype, MSN, or Facebook.

Skype: matury69 FaceBook: /Matury69 MSN...?</comment>


Purely Functional Data Structures : Red Black Trees in Qi - <AUTHOR> http://jng.imagine27.com/articles/2011-06-28-141124_purely_functional_types_red_black_trees_in_qi.html

<comment><USER2> I wish they would stop calling those data structures functional. Just call them immutable. It's the other way around. Functional languages use immutable data structures. One can use those "functional"data structures with any programming paradigma (not sure how to use them in Prolog though).

<comment><USER3> Calling them "persistent data structures" is probably more useful.

Prolog has "difference lists", which are (currently) pretty unique to Prolog. Its special case of variables that can be mutated, _but only once_ , has interesting implications.

<comment><USER2> I agree, persistent data structures is the better term.

</comment></comment></comment><comment><USER4> I ported Chris Okasaki's red-black trees to JavaScript a little while ago: [https://github.com/fitzgen/pfds-js/blob/master/red-black- tre...](https://github.com/fitzgen/pfds-js/blob/master/red-black-trees.js)

<comment><USER5> I think this illustrates how well pattern matching works for certain types of code. For the balance function, 7 lines of Qi becomes 45 lines of javascript. And I even think those 7 lines are easier to read.

<comment><USER4> Agreed. I think it would become quite a bit simpler if this weren't persistent and you could just move some references around. But yes, it is very verbose.

</comment></comment></comment><comment><USER6> An interesting post, though the Redditor inside me barks "repost" at the pattern matching. Yes, pattern matching is nice, and it certainly shines when you do things like red-black trees; on the other hand, I'd more rather see a description, or paper, or something, on Qi's type system and where I'd use the Turing-equivalent features. And I'm not even a type geek. Or a summary of the new license, but, well, that might be too much to ask.

</comment><comment><USER7> Just for fun I translated this to F#, <https://gist.github.com/1056026>

I'm not going to put any performance statistics up, though if someone has enough free time to compare the two, it'd be interesting to see the result.

</comment><comment><USER8> I wonder if Qi can express GADTs to allow proof of balance properties, as in this Haskell example:

[https://github.com/yairchu/red-black- tree/blob/master/RedBla...](https://github.com/yairchu/red-black- tree/blob/master/RedBlackTree.hs)</comment>


Is this for 12-year-olds? I must be lagging behind... - <AUTHOR> http://www.cfep.uci.edu/uci-sati/faculty/carole_bersani_full.html

<comment><AUTHOR> I dont get this. It is computer science and mathematics, seems pretty advanced.

And they teach it to 12-year olds?

I must be lagging behind...

Or is it some sort of genius school?

<comment><USER2> This isn't for 12 year olds, it's for 8-11 year olds (grades 3-5).

My impression of this is that it's roughly on par with what is normally taught at those grades. Keep in mind that the kids aren't expected to discover anything here for themselves; they're just going to sit passively while the teacher leads them around by the nose.

Curricula change from year to year; some material get introduced earlier than it used to, while other material gets introduced later. Fractions are going out of style, for example; and continued fractions -- a standard part of A level mathematics in England in the early 1900s -- are now unheard of in high schools.</comment></comment>


Docker and Cloud Foundry Open Source Projects Are Defined By Ownership - <AUTHOR> http://thenewstack.io/docker-and-cloud-foundry-open-source-projects-are-defined-by-ownership/

<comment><USER2> Docker did not invent Linux namespaces, it originally used lxc then moved to a docker specific go implementation. IMO what is needed is a multi-os C containerization library; libvirt is too much of a mess, lxc has undefined behaviour and implementation defined behaviour and parts are written with seems the writer did not understand the respective standards.

<comment><AUTHOR> The story only covers about community & governance for CF & Docker.

</comment></comment><comment><USER3> Wow. If my HN top page analysis is correct, this story went from 5th place to 24th place in a minute. Probably got penalized for ring-voting?</comment>


Mozilla accelerates search navigation with blekko | blekko - <AUTHOR> http://blog.blekko.com/2012/05/22/mozilla-accelerates-search-navigation-with-blekko/ <comment><USER2> This was a skunkworks project from a 2-person team in mozilla labs doing some thinking around how to get user keystrokes out of the browser-navigation workflow. The extension can be slightly laggy, but when it hits the preview is cool.

</comment><comment><USER3> I love the instant search query results given in the preview pane!</comment>


Ask HN: I can't focus on one project. What should I be doing? - <AUTHOR>

When I began learning to program 2 years ago, I started with Perl. I wrote small Perl scripts for processing text and data and such until now, and now I want to go into something new.
I want to learn a new language, as I really hate Perl. I started learning Python for web development (being the I have made a few webpages with just HTML, CSS, and Javascript). I went through with that for about 2 weeks, and then I was like "I want to learn how to create native apps too!". Then, I started looking into that. The next week, I was like "Maybe I should focus on the algorithms and data structures...". I did that for a week.
As you can see, I'm all over the place. I have no real pieces of software or code that I can show or post on Github or anything. My goal is to be a "jack-of-all-trades", but I can't seem to focus on anything because I thoroughly enjoy all aspects of computer programming. I'm going into 9th grade, so I don't have a job or class that structures my learning. So, what should I do? Is there a recommended order that I should be learning these things? How should I stay focus? <comment><USER2> I am filling in some blanks here, so take my opinion with a pinch of salt.

Instead of thinking of 'Learning python' as a project, you could try thinking of 'A website (or app) that will do x' as the project.

That goal might help you get better focus and in the process learn the best tools for that project which could be Python or native app development or something else.

</comment><comment><USER3> What do you hate about Perl? In detail please.</comment>


The Search for Autonomy - <AUTHOR> http://money.cnn.com/technology/our-driverless-future/robots-are-coming-for-your-job/ <comment><USER2> Speculation is fine and all, but the "we've got a 70% chance of not starting a full-on revolution in the streets" (paraphrased) claim sure is bold! It's the kind of wild ass speculation that one confines to after-a-few-drinks conversations with close friends. I guess when you're a big fish in the Valley, people think you know such things? "73%" would have been even funnier.

</comment><comment><USER3> The "glitch" css animation on the title of this article is sweet.</comment>


Microsoft is putting Slack on notice - <AUTHOR> https://qz.com/1325993/microsoft-is-offerring-a-free-version-of-its-slack-competitor-teams/ <comment><USER2> I was hoping this was true. We tried Teams, since it was free with our O365 service. Maybe a dozen people used it for a couple weeks. Everyone is still on Slack. Our developers used the phrase, "You can take slack from our cold dead hands".

</comment><comment><USER3> Eh... Slack is entrenched at this point.

If you're not a MS shop you're not going to even look at this thing.

<comment><USER4> This is said about every industry standard product before another replaces it. What makes this different?</comment></comment>


Musings from anonymous Microsoft developers on Reddit "Ask Me Anything" - <AUTHOR> http://www.istartedsomething.com/20091015/musings-anonymous-microsoft-developers-reddit-ama/ <comment><USER2> As a sidenote, I quit Reddit a couple years ago as the signal:noise gradually gave way and it became more and more filled with "puns" that weren't funny and less filled with smart people talking about interesting things.

Only recently have I started going back - because /r/IAmA/ has had some really, really good and informative entries in it. For Reddit refugees, it might be worth going back to have a look. There's still lots of goofy new Reddit banter in there, but it's reminiscent of some of the older thoughtful discussions that were once had.</comment>


Show HN: Cryptofinancial banking built on traditional financial values - <AUTHOR> http://trovard.com <comment><USER2> I like this long-form letter and the sober design, but isn't "one hundred percent reserve cryptocurrency depository institution, with regular balance sheet disclosures, comprehensive operational reports, instant interaccount transfers, personal client relationships, and support for most major cryptocurrencies and digital assets" what most exchanges already provide (at least allegedly)? Isn't this all that is needed for your institution to be target of a million hackers?

<comment><USER3> Check out "bitfinexed" on Twitter and Medium.

Global crypto markets are about to collapse, Mt Gox 2.0 style.

Get your popcorn ready.

</comment></comment><comment><USER4> An "About" section would be nice. Banking is based around opacity and trust. There is little of both here, except for quite some opacity.

<comment><AUTHOR> Absolutely - the current site is just a placeholder until the main site is launched, and I figured that it is better to be concise and explain what Trovard is trying to do instead of detailing a lot of background information (since the purpose is just to register peoples interest).</comment></comment>


Ask HN: Contractor payment issue - <AUTHOR>

After I finished  a 30 hour contract (I worked more like 50 hours on this)the guy keeps calling me to fix different issues but for free. How should I handle this? <comment><USER2> If he's calling you to fix something that you gave to him, that was broken because you messed up: -Fix it for free. You sold him a bill of goods, and it's your responsibility if it's broken. Broken _does_ _not_ include things like a new feature that they feel should have been part of the original spec, but never told you about. It also does not include changes in the design that they had already approved.

If he is calling you to _add_ something (or change something) that he thought should have been part of the spec, but never actually told you about: -Charge if it's more than a few hours. Tons of clients sell a developer/designer on a spec, only to change their mind once it is all done. _This_ _is_ _not_ _your_ _fault_. Just because they don't like _their_ idea once they see it, doesn't mean you should eat the cost.

All that being said, some clients (read: most clients) will always try to get some work done for free. If they are a good client, that has a proven track record of being understanding when you need more hours, or listen to your recommendations, then go ahead and do a few hours of free work to make them happy. But if this is your first project with this guy, you _need_ to stand firm. Work is not free. New features are not free. Changes are not free. These are all things that take you away from the things you love in life, and you need to be compensated for. If they don't understand this, than they are free to search for someone who will work for free. My old coach (boxing) used to say, "Only a fool gets punched for free".

Don't let a client bully you into becoming a volunteer worker.

<comment><AUTHOR> I should send this link to the client

</comment></comment><comment><USER3> What does the contract say? Does it say 30 hours, then you charge by the hour? Or a 30 hour flat fee and certain results?

You need to look up the term "change order" and start sending them.

</comment><comment><USER4> If they're actual bugs then you should fix them. If it's new features then explain that you'd need to allocate additional funds for additional work.

<comment><AUTHOR> The guys seem to be clueless and they blame me for whatever issue comes up

<comment><USER5> How would you classify these things? Bugs that are resulting from "undocumented features"? Or is it PEBKAC and they're calling you to be personal tech support?

If it's 1 you can point to the spec, and if it's 2 you might have to sit down and explain why it's not your domain? Or if it is, how you would bill to fix it?

In either case I'm thinking this client fits in the "Thanks but no thanks" for future work.

<comment><AUTHOR> Well the guy is asking me if an integer is 32 bits .

</comment></comment></comment></comment><comment><USER6> You have to draw a line. If he's changing what he meant or something was mis- interpreted that's not entirely your fault so it's not entirely your time for free.

When you launch something, give him 15-30 days to find anything, that's it. Anything after 15-30 days is billable.

Make sure you have every feature clearly defined before building things. Get signoff at every step of "What are we trying to build", "How are we going to build it" via email so there's no room for misinterpretation or misunderstanding.

Customers will always be clueless, thats why they hired you. Educating them on how software works, interacts and affects things takes time, unfortunately.</comment>


Live Nodetube.js Instance (Nullvideo.com) Archiving Coronavirus Videos - <AUTHOR> https://nullvideo.com/media/popular/1?within=24hour&category=all <comment><AUTHOR> Note to mods: I am not associated with this instance, just posting it because it's an interesting application of NodeTube</comment>


Ask HN: Is AWS S3 down? - <AUTHOR> Our personal webapp is having S3 problems, and I can't seem to upload files for slack. Is anyone else having these issues?<p>Generally getting 503 slowdown errors and more recently 500 internal server errors. <comment><USER2> And 10+ minutes after this thread was started, the AWS status page finally acknowledges there's an issue. HN really is a best-in-class monitoring service. [https://status.aws.amazon.com/](https://status.aws.amazon.com/)

</comment><comment><USER3> 11:58 AM PDT We are investigating increased error rates for Amazon S3 requests in the US-EAST-1 Region.

12:21 PM PDT We can confirm that some customers are receiving throttling errors accessing S3. We are currently investigating the root cause.

</comment><comment><USER4> For us, lots of errors, then retries, then rate limits because of the retries.

\---

On our account dashboard

> 11:58 AM PDT We are investigating increased error rates for Amazon S3 > requests in the US-EAST-1 Region.

On AWS's status page [https://status.aws.amazon.com/](https://status.aws.amazon.com/)

> No recent events.

Damn thing never works.

</comment><comment><USER5> Issues between 18:39 and 18:58 UTC. First InternalErrors, then SlowDowns -- I'm guessing due to nodes being taken out of service when they failed.

Given how quickly this was fixed, I suspect they were deploying new code and the rollout was automatically aborted when the elevated error rates were detected.

<comment><USER6> Still seeing SlowDowns as of 19:08Z.

<comment><USER5> They had stopped for 10 minutes, but just started up again.

</comment></comment></comment><comment><USER7> Also getting 503 Slow Down and 500 internal server errors from S3 in us-east-1

</comment><comment><USER8> Yup, it looks that way. Getting this error when using the CLI:

An error occurred (SlowDown) when calling the ListObjects operation (reached max retries: 4): Please reduce your request rate.

</comment><comment><USER9> Yup, getting elevated error rates uploading to S3 - writes failing as well as closing the uploads. Also seeing 503 slow down as reported by others.

</comment><comment><USER10> Yes we are getting slowdowns and internal errors as well. Also noticed one of our EC2 instances shutdown due to failed health checks.

</comment><comment><USER11> Question to folks out here: How do you deal with this? Ostrich strategy, or do you actively manage via multi-site redundancy?

<comment><USER12> We have support for other S3 regions in which we duplicate the data but the switch is manual not automatic.

</comment></comment><comment><USER12> Encountering Slow Down errors as well

<comment><USER12> The errors seem to be reducing now.

</comment></comment><comment><USER2> Yup I'm seeing 503s in us-west-2 (EC2 instance talking to S3), but outside EC2 is okay.

</comment><comment><USER13> Getting 503's and slowdowns for everything on s3 and cloudfront randomly

</comment><comment><USER8> Does anyone else have some of their buckets missing from the console list?

</comment><comment><USER14> S3 in both US-East-1 and US-East-2 are seeing these errors

</comment><comment><USER15> Yep, we're seeing that but recovering now it seems.

</comment><comment><USER16> having problems here as well. Slow down errors, 500 errors, and a random EC2 termination we suspect might've been related to EBS

</comment><comment><USER17> I am getting a 503 Slow Down from S3 requests.

<comment><USER18> We are seeing both "Slow Down" and "Please reduce your request rate."

<comment><USER11> Tough luck if your requests are triggered by users.

</comment></comment></comment><comment> vhost- Seeing issues with cloudformation as well.

</comment><comment><USER19> getting this as well, 500 & 503</comment>


Don't Mute, Get a Better Headset - <AUTHOR> https://ma.tt/2020/03/dont-mute-get-a-better-headset/ <comment><USER2> > You lose all of those spontaneous reactions that keep a conversation > flowing.

I have a huge circle of friends, colleagues and family who are very used to push-to-talk, mostly due to the nature of competitive video games where you really must be able to hear all the possible audio cues like enemy footsteps. We find ourselves used to it to the point that when someone cracks a joke people press push-to-talk to laugh audibly and there's nothing weird in it. It has never been annoying to press the push-to-talk button just to laugh, it actually comes so naturally that we sometimes joke about how "stupid" it is to press a button just to laugh.

The push-to-talk approach comes with other benefits as well. E.g. when you throw your hands up in the air in frustration and mumble some words of annoyance (whether it's a frustrating meeting or an intensive video game) that you wouldn't like anyone to hear, you can be absolutely sure that no one will hear them. Or maybe you want to say something to the people present in the meeting room without the people online hearing it (job interviews, sales meetings etc). Or maybe you're working from home and your SO bursts into the room without knowing that you're in a meeting and exclaims something embarrassing. Maybe the expensive noise-cancelling mics would not transmit any of these embarrassing words or exclamations but there would always be the lingering "but what if they heard it".</comment>


ASk HN: I Need a Self-hosted blog platform - <AUTHOR>

I'm a marketer, and looking for a blog platform where we can host the blog ourselves - ie, I want to implement extreme customization. Anyone have any recommendations.<p>Wordpress is not capable enough. <comment><USER2> If wordpress is not capable enough for you it is either 1) what you are trying to do is not within scope of normal web interaction or 2) you have very limited experience using wordpress.

you need to consult a web developer that you trust for these issue.

</comment><comment><USER3> A lot of hackers use Octopress [http://octopress.org/](http://octopress.org/) it is a framework over Jekyll which lets you write posts in an easy way like Wordpress. It also contains templates so you don't have to take care of the HTML/CSS/JS like in Jekyll

</comment><comment><USER4> People seem to be pretty excited about [https://ghost.org/](https://ghost.org/) these days. It's open source and looks to have a pretty strong community.

<comment><AUTHOR> This looks awesome, thanks!

</comment></comment><comment><USER5> Maybe the poster means wordpress.com is not capabale enough? To me, Wordpress is a self-hosted platform and overly capable as a blog. It's also pretty capable for any other CMS-based site.

<comment><AUTHOR> Wordpress is a fully capable blog, but we're trying to brand the way it looks, implement some discovery widgets that lead back to our actual site, and also add some features.

Basically, we want to be able to edit the HTML and potentially more, but Wordpress.com doesn't let you do this.

<comment><USER5> Wordpress.com is a hosted implementation of Wordpress, which is available at wordpress.org. It sounds like you should research the available blog platforms out there. You can google search "top blog platforms 2014" or something similar to get an idea of what's possible.

The upside of Wordpress is that there are thousands of themes and plugins that come close to what you want. The downside of Wordpress (especially on this website) is that many developers and designers are tired of it. The code is bloated but will probably be your best bet to use because of the large community surrounding it. You can edit anything in the self-installed version, but you can also break it which is why wordpress.com doesn't let you edit the HTML.

Do a google search of "Best _____ Premium Wordpress theme" or "best ____ wordpress plugin" with whatever your ideas are and see what comes up.

</comment></comment></comment><comment><USER6> What are you capable of? What skills do you have in house? If you need extreme customization, what can you do? With the right skills you could just write your own.

</comment><comment><USER7> Roller?

[http://roller.apache.org](http://roller.apache.org)

</comment><comment><USER8> Github with Jekyll?

</comment><comment><USER9> What deficiencies does Wordpress have? How is it not capable enough? Knowing whether it won't perform well under the kind of load your audience generates leads to an entirely different answer than knowing that it is limited in some other way.

If Wordpress is lacking in extensibility, then my guess is you'd be better off with something like Django, which isn't a blog at all, but could easily be converted into one -- or you could start with an existing, minimalist Django blog package and extend it.

If Wordpress is simply lacking features you need though, that's a different conversation, as it's the most likely to get those feature in the future, and/or possibly the cheapest to have those extensions developed.</comment>