Startups: Don't Hire Frontend or Backend Webdevs - <AUTHOR> http://www.trottercashion.com/2010/07/07/startups-dont-hire-frontend-or-backend-webdevs.html

<comment><USER2> I'm kinda curious if his definition of "frontend" developers is the same as mine. To me, the frontend includes everything up to the purely-computational algorithms and storage of the website. That's the HTML/CSS/JS, but also the webserver/webframework, RPC system, or database API (but _not_ the database itself). Rails is a _frontend_ technology.

I consider backend work to the computationally-intensive part. Data mining, machine learning, information retrieval, any domain-specific algorithms. High performance storage systems. Managing server clusters.

It's very, very difficult to find both skillsets in the same person, because both skillsets have incredible depth, particularly if you also want the breadth that a pivoting startup will require.

I'm wondering if his idea of a startup is the typical web 2.0 startup, where you slap a web framework on top of a database. Those startups are essentially all frontend - in that case, it doesn't really make sense to hire "frontend" or "backend" devs, just pretend that the whole world is frontend. There's nothing wrong with a startup like that - mine was, as are most gaming, social network, or social news sites (many iPhone/Android apps too, where frontend in that case is the mobile SDK). But that space is getting increasingly crowded; I suspect that many more successful startups will start needing people who can do the algorithmic heavy lifting.

<comment><USER3> > _I'm wondering if his idea of a startup is the typical web 2.0 startup, > where you slap a web framework on top of a database [...] I suspect that > many more successful startups will start needing people who can do the > algorithmic heavy lifting._

Couldn't agree more with you. Most of the current generation of start-ups is extremely boring. Quite frankly, looking at Techcrunch headlines is depressing. When you look at job requirements they post it's pretty much the same: they're looking for people to write CRUD screens in scripting languages. The current crop isn't about technology, it isn't about the people who enjoy writing non-trivial software and couldn't be happier that some one out there is willing to pay them for it (e.g., people mentioned in Graham's Great Hackers essay; reading that essay felt like music to my ears when I first read it and got me interested in the idea of startups in the first place).

This is opposed to those who see technology as just a means to wealth creation (and there is absolutely nothing wrong with that, there are plenty of "boring" problems that nonetheless benefit humanity when they're solved). That's not to say the founders aren't smart: many are coming from top schools, leaving Google etc... to start their companies; that makes it even more explicit that they're not there to solve interesting problems, they're there for something else. It looks like an awful waste of talent.

Out of the web 2.0 crowd, when you look at the successes, you'll also notice that they're ones solving non-trivial problems (machine learning/recommendation systems, graph algorithms, scalability and efficiency, etc...).

I'd love to see more technology startups emerge (i.e., those who do something technology-wise that no one else dares to try). It's a riskier route, but it's also more rewarding: you'll be able to attract more passionate people who would be more willing to actually take the risk even if the pot of gold isn't in sight (e.g., without VC funding a 100mm+ valuation).

<comment><USER4> As a founder of a startup in the "boring" category, I really disagree with your take on this.

I used to be all about the great technological breakthroughs, the really cool algorithms, all the stuff you mention. But as I got older, my interests shifted to other areas: making kickass applications that people love, designing usable interfaces, etc.

"[T]hat makes it even more explicit that they're not there to solve interesting problems, they're there for something else. It looks like an awful waste of talent."

See, that's where I disagree. I think it takes a great deal of talent to create software that helps people. It takes _different_ talent than creating a great algorithm, but it definitely takes talent. That's why so much software has terrible interfaces and is an unusable mess.

And it takes even more talent to create something which truly shapes humanity. A lot of the companies that have made the biggest impact have no technological breakthroughs whatsoever: it's all breakthrough on all those "boring" things. Wikipedia, Facebook, Twitter, they've all done amazing things by solving "trivial" problems.

</rant> :)

<comment><USER5> I cant agree with this comment more, even when I look at the problems that exist in my life (which is far more inclined to be technical than average), not a whole lot of them require technical breakthroughs or "exciting programming".

Music and TV streaming would be one for me that has only been solved recently for me (by spotify and tvcatchup), the streaming problems have been long solved, but convincing the stakeholders to be a part of this business took a long time with many failed attempts, even now spotify arent able to launch in the US because of these problems.

Online banking and micropayments would be another problem in that category that has not been solved as yet. while writing an online bank is hard, it is still at the core a crud system, however its impact on users lives are massive.

While I do love programming, I have come to realise it isnt the technical challenge I enjoy, its the benefits I can bring to peoples lives that I really enjoy.

</comment></comment></comment></comment><comment><USER6> I have a five person team and the fifth person, a front end developer, is a frickin' godsend. He has a design sense. He knocks out new designs and design changes in minutes whereas the rest of us take days to come up with crummy looking updates. My lesson in this: as you grow you'll find your team has holes that need patching. Go and patch them.

<comment><USER7> So many developers underestimate the need for good, quality visual design and aesthetics in their work. In my experience most non programmers evaluate something first on how it looks, and if it doesn't look good, they won't be interested in how well it actually works. Most programmers on the other hand seem first to be interested in how well it works, without taking into account the look and feel.

<comment><USER8> I'm surprised this isn't one of the main concepts that repeatedly gets mention on this site. We obsess over 'make something people want', but never drill down deeper. Good design can go a long way toward making people want something.

I'm willing to bet that mint.com got a fair amount of popularity (and memorability) because it was so nice to look at.

<comment><USER9> It really depends on the market and your positioning in the market. pg's startup didn't have awesome design, but it served a need that people had in a way that worked. "make something people want" doesn't have to mean "make something mass-marketable", though it frequently does.

</comment></comment></comment></comment><comment><USER10> "Most small startups (by which I mean fewer than 20 people) don't have enough work..."

What? WTH kind of startup is short on stuff to do? If you have 2 general- purpose devs, they're going to be 100% busy. if you have 1 front-end and 1 back-end dev, they're going to be 100% busy. If you add another dev, that person is going to be 100% busy, whether they're front-end or back-end.

<comment><USER11> If there are two guys, one guy working on server-side code and another guy working on client-side code, either side could get held up waiting for the other guy to finish his part of the project.

Even if people aren't waiting around for something to be completed by someone else there is an overhead in communication. "Oh, you wanted the LIs to have that class name? Well I've got to go fix my CSS now... gimme a few minutes."

</comment></comment><comment><USER12> The problem with this notion - as mentioned by a few people in the article's comments - is that it is difficult to find developers with a high level of expertise for both sides of the fence. Is it worth the extra expenditure of time in the hiring process to look for two people who are good in both realms? Or is it better to spend less time looking for one front-end expert (with passable server skills) and one server-side expert (with passable client skills)? My experience interviewing/hiring suggests the latter.

I will concede the obvious: if you find someone who is great on both sides, HIRE THEM. If you are lucky enough to hire that person, don't pigeon hole them.

<comment><USER13> You can also just hire someone who's smart and willing to learn. I mean web development isn't that hard. I know everyone wants to hire someone who meets every single one of their many requirements (we've all seen the job ads), but realistically how long is it going to take a smart developer to pickup say Javascript + whatever APIs you're using? A few weeks? You could easily spend months trying to find the perfect hire.

<comment><USER14> lol, web development isn't that hard? Dream on.

<comment><USER15> It's not that hard compared to other skills. Anyway web development includes a lot of stuff, and you can really go low level if you have to implement algorithms and address scalability.

</comment></comment></comment></comment><comment><USER16> I agree with the idea that specialists are probably not a good fit for an early stage startup. There are a lot of hats to wear. But front-end vs back- end is a false dichotomy.

If you can get your hands on a brilliant illustrator who can also do pixel icon design as well as strong layout and UX , then even if their HTML skills are shakey they're going to be a strong asset. Similarly, if you have a back- end dev who writes really solid, performant, maintainable code and can handle infrastructure and sysadmin work (eyeballs drifting involuntarily in Zed's direction) then who cares if he has no experience stitching together CRUD apps with the framework dujour.

In other words, hire the best people you can get your hands on and put their skills to use.

<comment><USER17> Yes!

Draft for talent, not for needs.

This has been proven time and time again that people that grab the top talent in a limited talent pool (rather than trying to address their perceived needs) are the most likely to succeed.

The best analogy is sports. In (American) football, the Colts' Bill Polian regularly uses this strategy in the draft. In football, ManU's Sir Alex has a strategy to acquire what he calls "characters." While you may not like either of these teams (I love them both! :) you cannot deny that they have been among the most dominant franchises under their managers.

The real challenge is to somehow identify the best talent! :)

</comment></comment><comment><USER18> > Most small startups (by which I mean fewer than 20 people) don't have enough > work to justify splitting the team into frontend and backend components

I disagree. Most startups have a _ton_ of work, but they often don't have the money or the structure to support a large engineering team. Those switch hitters that traverse the stack are really important for these situations.

There's an added benefit, too. Since one gets to that level by having done a lot of different jobs in a lot of depth, that "macro" view tends to be extremely valuable in sustaining the technology through growth.

</comment><comment><USER19> What I've found works well for me, and is gettable, is a designer who can do HTML/CSS/light Javascript. Then I do the rest.

</comment><comment><USER20> Yep, absolutely. But in reality there aren't that many brilliant developers who can do both with skill and you are lucky if you can find them AND convince them to join you.

To attract those, you're going to have to have a big offer (both remuneration and the nature of the startup) to attract these folks.

Another school of thought is find back-end devs that can do some ops (although yes, it's ideal to have that as a separate position if possible) and front-end devs who can also do UI design and usability. You will need these two hats too.

<comment><USER9> great front-end devs are sooooo rare.

</comment></comment><comment><USER21> In my experience, successful RIAs require close co-design between 'client' and 'server' components. Many people think they can "encapsulate" these issues away but distributed systems break most people's assumption.

You can have people who are database experts, Flash or HTML "designers" or mad javascript, actionscript or Silverlight coders -- but if there isn't somebody in charge who understands distributed systems and the restrictions that exist on RIAs, you are d00med.

</comment><comment><USER22> I don't really agree. Front-end web developer have totally different skill than back-end developer. In a startup where there are few employees, the front-end developer can work extremely well on "design" part of all aspect of the company.. Video sh outcast, publicity, marketing, even building design.

As, back-end developer can do a lot more then back-end service.. they can work on backup, administrative unix task, optimizing task, inner-house tools, etc etc.

So I think it's more like: Design=front-end, ComputerGeekStuff=Back-end.. and it's really rare to find someone that does both of those things.

</comment><comment><USER23> For a consumer web app, I would split it into a Product Designer (someone who can do art, UI design, product concept, workflow, html/css/js), and a developer (who does some js, all server side work, and the related tools.

Finding the product designer is going to be the hard part -- there are a very limited number of visually oriented product designers who can also code. I think that person should either be a cofounder or hired as first employee with 1-5% of equity; on par with a later VP Engineering hire.

</comment><comment><USER24> The point being missed is this:

Does the flexibility of your salary options translate to a better product, or does a better product translate to the flexibility of your salary options?

If your answer is the latter, then it makes much more sense to hire front-end and back-end developers to focus on their respective niches; front-end devs focus on making the product usable and keeping users engaged. Back-end devs focus on making sure the product functions, builds features that evolve out of user interaction and keeps those features running.

When you try to combine these niches and ask a guy to play both front-end and back in his priorities become conflicting and your product becomes one of those sites that was either "Built by a designer" or "Designed by a developer".

Don't hire an architect to do an engineer's job, is what I'm saying. They play similar roles, but they have very different focuses that can directly impact the final product. Exceptions exist.

</comment><comment><USER25> Frontend and backend are different skill sets and proficiencies. Backend is more analytic, frontend is more aesthetic. I've never worked at a company that didn't have this distinction; people tend to naturally go one way or the other.

</comment><comment><USER26> I think there's a bit of confusion here between designer and front end developer. A front end developer to me is someone with extraordinary javascript skills capable of working on new generation rich client/thin server web applications.

<http://www.javascriptmvc.com>

is an example of a javascript framework a front end developer would use to build this next level type of applications.

</comment><comment><USER27> God forbid you're grouped into a caste of skill sets based on experience and/or expertise. If you started off with a homogenous group of developers and set them to work on building an MVC app, the group would eventually split into who favors scripting, css and markup versus those who prefer writing business logic.

Hire what your team needs. If you need a duct tape dude who can do a little bit of everything, great. If you actually assemble an entire team of those guys, good luck.</comment>


The Silicon Valley Hustle - <AUTHOR> http://www.nytimes.com/interactive/2016/02/28/technology/silicon-valley-photo-essay.html?smid=tw-nytimesbusiness&smtyp=cur&_r=0 <comment><USER3> If there was one picture that sums it up for me, it would be the Cal Hacks [0] one, broken down into either four or six pictures (depending on how many employees you have). The actual "hustle" is quite boring--put a bunch of people around a table with computers and there ya go. All the weird places such as beds, backyards, roofs, boats, stadiums, the street--that's not where the hustle happens. That's just an effect of being young and mobile.

Random: How many non-macs can you spot in that picture?

[0] [http://i1.nyt.com/images/2016/02/28/technology/silicon- valle...](http://i1.nyt.com/images/2016/02/28/technology/silicon-valley-life- slide-N6WN/silicon-valley-life-slide-N6WN-superJumbo.jpg)

<comment><USER4> I noticed that too, almost all are Macbooks and the remaining few Dell. Well it's not the case when all the people used a PDP-7. I've hated that thing called Hackathon anyway, it gives a false sense of victory or achievement. It's no wonder we're having terrifying news from the tech startups.

</comment></comment><comment><USER5> Honestly I wish there was a "SV Vacation Party package" kinda of like what they have for college Springbreakers to Montreal, NYC or Cancun.

Stripping away from all of the BS and being honest, I don't want to do any coding at all on vacation, just want to have the experience and have fun!

(1) Day 1, book me on a "startup trip" to Google campus and eat at the campus cafeteria, maybe get a massage or even a spa treatment from the salon trailers; listen to some cool TED talks; opportunities to stop by the Google Store to buy me some souvenir Android plush dolls.

(2) Day 2, immersion "hackathon" day at a trendy startup co-working space where there's lots of snacks and good espresso coffee, a mini-kege with craft beer and faux impromptu nerf-gun fight, retro-aracade tournament; and more TED talks and also lots of "breakout" socializing sessions where everyone gets to talk about their visions and business ideas; the point is I don't want to code at all, I want to "feel the energy" of a hackathon without doing any coding at all.

(3) Day 3, Fantasy "VC camp" where I get to play the VC and have tons of actor/actresses come and pitch me; and I get to offer them advices at the boardroom table and have them nod back at me; the point is I want to role-play the power reversal(!)

(4) "Lifestyle and Networking Workshops," the "early morning non-substance dance parties," the noon power-lunches or yoga, the after-work kickball league, the evening EDM bangers. I want to experience the life of a highly mobile young SV techie everywhere in the Bay Area (night clubs in SOMA, hipster bars in Oakland, makerspace in Palo Alto, hookah joints in Berkeley).

You may think my descriptions is meant to be satire. But to be honest, I feel like a trip like this would be more memorable and more cost-effective for those who wants to experience the startup lifestyle than moving out to the Bay Area and actually working and paying exorbitant rent for 2+ years before giving the startup shutdown notice.

</comment><comment><USER6> Seems like a fluff piece for people who have no access to SF/SV and it shows it like a giant FB frat party.

<comment><USER7> Have they ever tried coding for 18 hours straight? When your brain turns into porridge and feels like leaking through your ears...

<comment><USER8> As it does working in most of these inexplicably popular open plan office environments for any length of time.

So in a way, it's excellent preparation.

<comment><USER6> Who is doing the study on the impact of the 3800 open office corral of FB by Gehry where they only have ~(5) exec core non-open-space offices??

Surely FB is doing this - but will this data ever be avail to anyone?

Doubtful - and this is what sucks about the FB ethos "open and connect" people - bullshit - they have 3,800 engineers OPENLY connected in a SINGLE room - none of that human "connection" data will ever see the light of day - <USER2> morals are fucked.

<comment><USER8> More specifically, one wonders whether a "study" commissioned by a company about its own working environment can ever hope to be objective.

</comment></comment></comment></comment></comment><comment><USER9> This is crazy. Makes me want to post real photos from our office where -- the horror! -- we're actually building stuff for our customers.

<comment><USER6> Reminds me of that commercial from a few years ago where they show all the young awsome tech workers in some startup-y environ - and they are praising how awesome they are as they do anything but work, then the black guy is riding a scooter down the hall and they say, at the time he gets hit in the face by an opening conf room door "and you never answer the damn phone"

</comment></comment><comment> at-fates-hands The article is interesting. As an entrepreneur myself, I see a lot of companies that don't a) have an original idea b) are not trying to _really_ disrupt any current technology or industry and c) Are spending a lot of money on what I deem "worthless" expenditures.

What IS interesting are these:

 _mingled at an industry networking event at the W Hotel in San Francisco in August 2014. The event — the Start-Up and Tech Mixer — is held every few months and typically draws hundreds of attendees._

\- Who's the company putting these on? Pretty sure they're not free and are addressing the new for SV types to gather under some notion of "networking".

 _Participants in Cal Hacks 2.0, a 36-hour hackathon in October 2015, building projects inside the football stadium at the University of California, Berkeley._

 _According to the event organizers, 2,071 participants attended from 143 schools and 10 countries._

\- One of my business friends always said to "go big". You want to have a hackathon for a few dozen teams? What about 1,000 teams? This is what these organizers did. Charge a small fee to the organizers, get companies to chip in free stuff and you're off and running.

 _Around 45 people, many of them technology entrepreneurs, live in 20 Mission. The space is a former single-room-occupancy hotel that had been vacant for several years before being turned into the co-living community._

\- Man, talk about real estate opportunities! Take a beat up forgotten building and turn it into a co-living community. Buy the building outright and let the residents pay your mortgage and then make a little on top of that. If you want to, drop some money into it and refurb it. Then in 5-10 years, flip it for big bucks.

What's interesting is the companies they didn't highlight are probably making good money on the goldrush as opposed to the majority of the companies and individuals presented.

<comment><USER10> or in 5-10 years discover that it's worth jack? Maybe...

<comment> at-fates-hands Yeah, real estate isn't what it used to be for sure. Especially commercial real estate.

<comment><USER10> It's a one way bet! History proves that you can't lose any money at all investing in real estate. Ever.

</comment></comment></comment></comment><comment><USER11> I'm a little confused about the guy who has a startup selling glow-in-the-dark decorations and party accessories.

Is he living in the Bay Area because of his startup? Or was it job first, glow-in-the-dark startup later?

Pretty sure moving to the Bay Area for the sake of a startup that sells party accessories is overkill. Unless, God forbid, they connect to the internet.

Please don't tell me someone is making glow-in-the-dark party accessories combined with some IoT kool-aid.

</comment><comment><USER12> Literally no black people in any of the photos.

</comment><comment><USER13> I was taken by the photos, but the start-ups all seem shallow and not very high tech. Where are the start-ups based upon cutting edge science and engineering? Where are the start-ups that will change the world?</comment>


Radiolab: Post No Evil [audio] - <AUTHOR> https://www.wnycstudios.org/story/post-no-evil <comment><USER2> I don't think any discussion of Radiolab is complete without mentioning their episode about "Yellow Rain". I was pretty shocked at how the episode went.

[https://www.wnycstudios.org/story/239549-yellow- rain](https://www.wnycstudios.org/story/239549-yellow-rain)

The episode contained significant distortions and omissions, all in the purported pursuit of truth.

[https://hyphenmagazine.com/blog/2012/10/10/deliberate- distor...](https://hyphenmagazine.com/blog/2012/10/10/deliberate-distortions- radiolab-and-hmong-story)

This story made plain their lack of integrity. Since then, I've treated Radiolab for what it is- mildly interesting infotainment with unethical people at the helm.

<comment><USER3> In a search for the truth, eyewitness accounts should basically be ignored. Memory is terrible, and even his memory at the time seems to lack a true smoking gun. As of now, hearing a podcast dismiss an eyewitness account is a welcome change from the "true crime" reliance on them.

Besides that, it seems that both sides had a different expectation on what the topic was going to be. It's understandable that Mr. Yang felt hurt afterwards, and it also makes sense that the interviewers would get frustrated in that situation. A good solution would have been to find a platform for Mr. Yang's story after the miscommunication was realized, but the event seems to have went ugly fast.

<comment><USER4> Cool. I'm going to disregard any memory of having read this comment, or any of the ideas it attempts to present as facts. My memory is terrible, and if I did remember it, that would likely disprove everything you just said.

You helped me realize that I should only believe what I tell myself is true, rather than what I might mistakenly remember.

Good thing I won't remember writing this. It would be weird remembering a moment when I was right, but having to disregard it as wrong, because I tell myself I'm wrong, plainly, and in the face of my own memories.

</comment></comment></comment><comment><USER5> I understand that the point of view that "kill all men" is not hate speech exists, and it's ok to interview someone who holds that view.

But when the hosts themselves started talking about how it's not hate speech like it's a very reasonable view to hold, I was a bit shocked. I never enjoyed radiolab or listened to much of it before, but I used to think it was a legit show with respectable hosts, even if I didn't like the format.

Would they also say "kill all Americans" is not hate speech because Americans are not "historically oppressed"? Sure, it's safer to talk about Japanese in China on the American radio.

(I haven't listened to the whole episode yet, in case they address it later.)

<comment><USER6> It's not just you. I'm reminded of antisemitism in the conspiratorial way the descriptor is being used and how the Reality Distortion Field extends that that White Males/Jews are the cause of every problem.

The fact is that many media people are racists and these people and their fellow travelers don't like it being pointed out that they are being hypocrites. Some of them think being white males themselves is an exemption from criticism - except there are so many historical examples of self hating peoples who supported the people attacking them that it would make your head spin. I remember Scott Alexander, usually a level headed person as you could hope to find - unsettled by what he was reading about the Jewish refugees who ended up in England during WWII - many of whom were praising Adolf with full awareness of what was happening. There's not much to stop self hate going from signalling to malignant.

If you look around you won't notice many people speaking out against it, that's because it's mainstreamed, it is the we've always been at war with Eurasia. These people are very confident and very stupid.

The moderation mechanism on websites such as this feeds back into this echo chamber too, because I'm aware that every thing I say will be under exacting scrutiny but I'll regularly see violations of the rules I'd never get away with. Rule violations have to be extraordinary to reach a moderators's inbox if they are in the general spirit of the group believes.

</comment></comment><comment><USER7> Don't dismiss this episode. I thought it would be kind of trite and boring, but they bring up some really good "What if?" issues that Facebook has to deal with. It also brings up other issues like pay to those filtering and (albeit only a small amount) the stress of workers who have to wade through all the nasty reports.

<comment><USER8> I want so badly to like Radiolab, but honestly I feel like it's produced by ADHD'ers, for ADHD'ers.

Hell, I feel like it _gives me_ ADHD just listening.

<comment><USER9> Doesn't this imply it's best for people who aren't ADHD?

Wait, what are we talking about?

<comment><USER10> As somebody who has ADHD quite severely, I have never once in my life got distracted in the middle of a conversation. That's not how it works, and I'm so goddamn sick of people making jokes like this about it.

Everybody with ADHD is slightly different, but for me it's more of a disconnect between future rewards and present internal motivation. It's not an issue when I'm talking to somebody – – that shit is all in the present and I thrive in the moment.

What I _can't_ do well at all is make my brain feel like a task is important, rewarding and worth doing if that reward will come far in the future.

<comment><USER9> I'm a lifelong sufferer myself, and so I like to jest.... forgive me

What you say makes sense and matches the neurology. I find that maintaining my dopamine levels can be a challenge, and on the extreme end, definitely associated with fatigue severe enough to lose track in the middle of a conversation.

Problems with the reward system and executive function are definitely part of the spectrum though! I identify with the symptoms you describe.

Today I'm on wellbutrin for the first time, and Im finding it more effective than amphetamines, despite perhaps an increase in social awkwardness. YMMV

</comment></comment></comment></comment></comment><comment><USER11> Disappointed to see the discussion here revolve around the podcast production style when the core topic of determining a world wide consensus for what is or isn't considered ok to publish is such an impossible and simultaneously interesting problem.

</comment><comment><USER12> Although the content is audio, I'd like to point out that this page is quite badly designed, particularly that _giant fixed-position header_.

[https://i.imgur.com/H0VSndS.png](https://i.imgur.com/H0VSndS.png)

</comment><comment><USER13> Radiolab is incredibly hard to listen to with all the random noises and things they sprinkle into each episode. Contrast this with This American Life and its a world of difference.

<comment><USER14> Impossible to listen to. I can't stand it. Their series on the Supreme Court, More Perfect, is slightly better and just manageable. But I couldn't finish one episode of their flagship show.

I'm relieved to hear I'm not the only one, to be honest. I thought I was going mad. Or worse: old.

<comment><USER15> I would recommend listening to the catalogue in reverse order. I agree with the broad criticisms in this thread, and I no longer listen. But for the first 4 or 5 years they produced a lot of fascinating shows. Probably around Jan 2017 it takes a nosedive.</comment></comment></comment>


Selling my Domain "ParcelHere.com" - <AUTHOR> I Purchased the domain for a project in the logistics industry that I lost the passion to pursue. If anyone is interested in purchasing ParcelHere.com leave a comment. <comment><USER2> Is the domain still available? Would fit in great with a project here.

</comment><comment><USER2> Hey, is the domain still available? Would fit in neatly here.

</comment><comment><USER3> I'll buy it. shoot me an email firstname.lastname@example.com</comment>


European Parliament passes net neutrality law - <AUTHOR> http://gigaom.com/2014/04/03/european-parliament-passes-strong-net-neutrality-law-along-with-major-roaming-reforms/ <comment><USER2> Here's a kind of sickening statement:

'"Europe's telecoms operators are facing decreasing revenues ... compared with operators in the U.S. and Asia," said the GSM Association, an industry group for mobile phone companies. In a statement signed by director Anne Bouverot, the group said European laws are "impairing their ability to invest in the infrastructure required to put Europe back on the path to growth and jobs."'

[http://abcnews.go.com/Technology/wireStory/european- parliame...](http://abcnews.go.com/Technology/wireStory/european-parliament- adopts-net-neutrality-law-23172382)

One example of these "poor companies":

TeliaSonera: 1.69 billion euros in profit out of a 2.99 billion euro revenue (2013)

Edit: Sorry, yearly revenue was about 11.6 billion euro.

<comment><USER3> _TeliaSonera: 1.69 billion euros in profit out of a 2.99 billion euro revenue (2013)_

I'm having trouble believing those numbers. I found a source that agrees with you [1] but Bloomberg charts show only a ~10% profit margin. [2] I wonder if the reporter in [1] confused annual revenue with quarterly revenue from this Bloomberg article. [3]

EDIT: The reporter in [1] isn't wrong, but people misreading the first paragraph is probably the source of the confusion spreading across the Internet. Read down a few paragraphs and they compare 4th quarter net profit to 4th quarter revenue, which is roughly 10%.

Also, here is the profit & loss statement from 2013. [4] Annual revenue is about 104 billion kronor, net income is about 15 billion kronor.

[1] [http://www.thelocal.se/20140130/beleaguered-teliasonera- took...](http://www.thelocal.se/20140130/beleaguered-teliasonera-took-profit- tumble-in-2013)

[2] [http://www.bloomberg.com/quote/TLSN:SS](http://www.bloomberg.com/quote/TLSN:SS)

[3] [http://www.bloomberg.com/news/2014-01-30/teliasonera- profit-...](http://www.bloomberg.com/news/2014-01-30/teliasonera-profit- misses-estimates-on-falling-broadband-mobile.html)

[4] [http://markets.ft.com/research/Markets/Tearsheets/Financials...](http://markets.ft.com/research/Markets/Tearsheets/Financials?s=TLSN:STO&subview=IncomeStatement)

<comment><USER2> You're right, I was fooled by that first article's sneaky mixing of quarterly and annual numbers in the same sentence.

"The group's annual net profit fell by 25 percent to 14.97 billion kronor (1.69 billion euros, $2.3 billion), while revenue dropped by three percent to 26.5 billion kronor."

Still, these look like healthy numbers, and not like they are bleeding.

</comment></comment></comment><comment><USER4> > mobile carrier industry body the GSMA said it "recognises the efforts of > Rapporteur Pilar del Castillo to develop a constructive response to the > Commission's Connected Continent proposals but believes that the overall > package fails to address the key challenge of stimulating growth and > investment."

I'll take that as a ringing endorsement and a strong sign that the net neutrality law is good for consumers. Good job on writing these amendments and getting them to pass, left-wing MEPs!

<comment><USER5> I think that's more a response to the ban on intraEU roaming charges than net neutrality...

<comment><USER6> If they're still bitter about that, then they need to grow up. The writing has been on the wall for a _long_ time about the death of EU roaming charges. Some companies were already bragging about not charging any well prior to the ban

</comment></comment></comment><comment><USER7> I think the EU is getting an amazing amount of work done, if you consider that it consists of 28 nation states which went to war with each other regularly for centuries up to a couple of decades ago...

<comment><USER8> And some of them are still culturally at war ;)

[http://en.wikipedia.org/wiki/Denmark%E2%80%93Sweden_relation...](http://en.wikipedia.org/wiki/Denmark%E2%80%93Sweden_relations)

<comment><USER4> I don't know. Danish news always go "X is bad in Denmark. Meanwhile, X is really good in Sweden."

<comment><USER9> there's a lot of 'grass is greener on the other side' in all of europe, this is probably the case here.

<comment><USER10> And it used to be that we tried to take their grass by conquest. Now we just go there on vacation.

</comment></comment></comment></comment></comment><comment><USER11> These are great news, I am a big supporter for net neutrality, however I am a bit concerned about one small detail:

>"Net neutrality" means the principle according to which all internet traffic is treated equally, without discrimination, restriction or interference, independently of its sender, recipient, type, content, device, service or application.

I wonder how this will work in case of malicious attacks, ddos, disruptive requests and packets/connections with the sole purpose of disrupting the normal usage of the net. Blocking these at isp level is not a bad idea, but how deep does this rabbit hole go?

<comment><USER12> This doesn't extend to protecting illegal acts from interference.

<comment><USER13> By that logic ISPs could throttle or block torrenting or Bitcoin if they are "illegal" in some country.

<comment><USER14> That is correct. In The Netherlands we already have net neutrality, but this hasn't stopped the Pirate Bay from being blocked. However, try to prove to a judge the entire protocol is illegal and should be blocked.

<comment><USER15> Initially the court decided that blocking all subscribers went too far but BREIN wasn't satisfied and took the case to a full trial, which they won. Both Ziggo and XS4ALL filed subsequent appeals, arguing that the blockade was ineffective and denied subscribers' free access to information.

Today the Court of The Hague released its verdict which sides with the Internet providers.

In its ruling the Court states that the Pirate Bay blockade is disproportionate and ineffective, citing TNO research and the Baywatch report of the University of Amsterdam. As a result, the blockade was found to hinder the Internet providers' entrepreneurial freedoms.

jan 2014

<comment><USER11> These are great "news" (quotes cause they aren't exactly.. new) which I didn't know before. As an expat living in Amsterdam, it makes me happy, thanks for sharing!

</comment></comment></comment></comment></comment></comment><comment><USER16> It was a close call... Neelie Kroes didn't want this. But against expectations, democracy won.. That doesn't happen much in the world (Eg. What Karel De Gucht tried / did ).

All with all, i'm very glad this happened! It gave me some faith again in Europe as a regulator (i'm from Belgium ).

(still dissappointed in Neelie Kroes though, she has some very good ideas... Opposing net neutrality was definetly a bad idea)

<comment><USER16> PS. Some examples of good ideas:

\- Transforming libraries in hackerspaces (this is one of the best ideas i ever came accross)

\- Removing roaming (expensive cell phone calls in foreign countries, but in Europe, we are all different countries. 9000 € for checking your mail and etc... was not an exception). Some people who regulary stay in foreign countries (work, business, long vacation, .. get a mobile subscription in that country, so they would have 2 phone numbers). But this should be fixed in 2016 (still a long time though)

\- PRO net neutrality (some years ago, currently she changed her opinion for an unknown reason : [http://ec.europa.eu/commission_2010-2014/kroes/en/blog/netne...](http://ec.europa.eu/commission_2010-2014/kroes/en/blog/netneutrality) )

<comment><USER17> On the whole, I think she does good work. I'm willing to give her the benefit of the doubt that she genuinely thought the text as proposed would sufficiently protect net neutrality or at least underestimated the holes it left. But even if she didn't, it is good to see that parliament did its job and corrected the mistakes made by the legislators.

<comment><USER10> She's the only Eurocommissioner that I constantly see fighting for all sorts of good causes. The others barely register or seem to be a net negative. I like Kroes a lot, but every once in a while, she suddenly supports something that seems quite the opposite of her usual position. Weirdly out of character. And I often find myself wondering if maybe there's something else at play in the background.

<comment><USER16> That's exactly the same thing as i thought...

And the opposite of net neutrality is a really big deal. She had contacts with telecom though for roaming, perhaps she had to change position in favor of net neutrality in return of dropping roaming costs in Europe?

(just thinking out loud)

</comment></comment></comment></comment></comment><comment> hendrik-xdest I wouldn't give too much on this just yet. From the information in the article I can't tell if the word "strong" is correct for what was passed today.

If anything, an indicator that Neelie Kroes is happy with the result might point to a weak law that won't help net neutrality at all. We might not have the "Specialised services" part in there anymore. Yet, let's wait until the dust settles and some people have read the complete text before we celebrate.

Also, as we speak, the text that didn't make it might already have been inserted in the US-EU trade agreement that is discussed behind closed doors at the moment. Wouldn't be the first time that the same words were dismissed first and than added in a different law. ACTA (Anti-Counterfeiting Trade Agreement) was dismissed and then added to a treaty between the EU and Canada.

<comment><USER18> Would you elaborate on your final paragraph, please? I wasn't aware of either a closed-door US-EU trade agreement in the works, or any back room ACTA-style deal in a Canada-EU treaty.

<comment><USER19> The US-EU trade agreement may refer to TTIP, whose contents do seem to be secret at the moment. [http://ec.europa.eu/trade/policy/in- focus/ttip/](http://ec.europa.eu/trade/policy/in-focus/ttip/)

</comment></comment></comment><comment><USER20> Well then, finally a point to prove to anti-EU activists (UK: UKIP, DE: AfD, etc.) why having the European Union actually _is_ important and the European Parliament isn't just a paper tiger regulating the population to death.

(Granted, most European laws ARE regulation to death, but this is a good starting point...)

</comment><comment><USER21> I'm so happy how Andersdotter/@teirdes has arrived in Brussels. She is already "e-communications" spokesperson for the Greens/EFA group in the EP: [http://www.greens-efa.eu/electronic- communications-12163.htm...](http://www.greens-efa.eu/electronic- communications-12163.html) and I believe that they have a very powerful collaboration on privacy and other pirate issues

<comment><USER4> I actually met her last year at a conference. Very intelligent and well- spoken.

<comment><USER21> Yeah, it's wonderful, a young person talking about internet issues I care about, just listen [http://www.youtube.com/watch?v=NiNH3MCFkBg](http://www.youtube.com/watch?v=NiNH3MCFkBg)

Right now I'm of course nervous for the election, and I hope that she will keep her mandate.

She's clearly got a visionary mind, and uses every opportunity to stress the need for evidence-based policy.

<comment><USER4> I'd be happy to give her my vote, but I'm in the wrong country.

</comment></comment></comment></comment><comment><USER22> Roaming charges will effectively be dropped on the 15th December 2015. Src: [http://www.europarl.europa.eu/news/en/news- room/content/2014...](http://www.europarl.europa.eu/news/en/news- room/content/20140331IPR41232/html/Ensure-open-access-for-internet-service- suppliers-and-ban-roaming-fees-say-MEPs)

<comment><USER23> So much is changing in the tech world. I hope that by dec 2015 we have incentivised mesh networks, thus making centralized telcos obsolete.

</comment></comment><comment><USER24> I think this can also be taken as good news in the US. Passing these laws makes Europe a very attractive place to put an internet service.

It may be wishful thinking, but my hope is that this form of international competition motivates US legislators to pass similar net-neutrality laws to keep from losing start-ups and tech companies to Europe.

</comment><comment><USER25> Roaming charges: I predict the telecomms will be increasing their general charges to make good losses on roaming.

"Infrastructure and spectrum are expensive, and these costs need to be recouped somehow. Right now, the mobile operators are a bit stuck into low domestic data prices. So the money has to be clawed back from roaming customers instead".

The reversal of this policy will mean that the non-traveling public will subsidize travelers. Great for those voting and attending the EU Parliament among others. Not so hot for the rest.

<comment><USER26> Possible, but I would say it will rather create a much fiercer competition: Differences between domestic rates and non-domestic rates are what kept the European Telecoms market from becoming truly European. As a German, the only viable option if I am spending most my time within Germany was to go with a German carrier. Now with the removal of roaming charges, the EU becomes the domestic market and in principle I could shop around other EU countries to find the best deal. Austria for example has some really good deals, so maybe I will go with a carrier from there. And with SEPA even billing should not be an issue.

The other (intended) thing this will spur is further consolidation of the EU Telecoms market as there will suddenly be a much larger number of competing players on the market. As I said, in principle Austrian Telecoms are now for the first time directly competing for customers with Spanish Telecoms in Germany, so I guess we'll see a lot more mergers in the close future. Which might turn out to be anticompetitive in the long run, mind.

<comment><USER27> I'm pretty sure that higher prices for international calls have _not_ been abolished, though, which puts a dent in the idea of shopping around for the best deal.

Though, I suppose you could buy multiple SIMs and switch them around as needed now.

<comment><USER26> To my understanding calls from your own country to another EU country are also covered by this: [http://ec.europa.eu/news/science/130916_en.htm](http://ec.europa.eu/news/science/130916_en.htm)

The quote: >International call charges would be capped at the price of a long- distance domestic call and intra-EU mobile calls at €0.19 per minute (plus VAT).

<comment><USER27> Ah, I'm glad to be proven wrong on this one!

Still, it's a cap not a complete abolishment so there's still some work to be done.

</comment></comment></comment></comment></comment><comment><USER28> A couple of popular acts emanating from the EU parliament just recently.

Couldn't be anything to do with the European parliament elections coming up this summer could it?

Our local MEP was on radio claiming credit for the smartphone recharger harmonization measure just recently. When queried about loopholes in the act that effectively allow manufacturers to sidestep the issue she revealed herself to be clueless.

</comment><comment><USER29> > Providers of internet access to end-users shall not discriminate between > functionally equivalent services and applications.

This means they can still throttle torrents, right?

<comment><USER30> Well, based on that quote they can throttle what they want - but they have to do it equally across all similar applications. So for example they can't throttle Youtube and not throttle Netflix - they have to throttle both (or neither).

<comment><USER31> Well, that depends on your interpretation of "functionally equivalent". Is Youtube functionally equivalent with Netflix?

<comment><USER7> Spam-Emails, DDOS attacks and Http Traffic aren't functionally equivalent, which is probably the point.

I think the definition will also include the question of competition between the traffic streams. Youtube and Netflix are competitors, whereas an E-Mail Service and a Gaming Service isn't.

Net Neutrality should not mean we have to build the infrastructure that can faithfully execute DDOS attacks. Now, if we want to build the infrastructure to let all internet users stream 4K Video 24/7, is a whole other question...

</comment></comment></comment></comment><comment><USER32> I wonder if we could interpret this to mean that it would be illegal for ISPs not to provide IPv6. It is just internet traffic after all.

</comment><comment><USER33> Why do I get the feeling that most of these comments are basically pointing out faults in EU instead of the news itself which is of great relevancy to all of us.

I understand the audience here is mostly American but shouldn't we really by cheering this achievement and try to convince US senators to follow the lead?

US is the one who is behind right now. Neutrally speaking.

</comment><comment><USER34> If we didn't already have such a shoddy history with national telecoms (and other infrastructure company), I would be in favor of them.

It's so unsatisfying to think that this ugly government in bed with big oligopolies, regulators, lobbying and nonsense could be the optimal solution. yuck.

</comment><comment><USER35> It never stops to amaze me - what does have Europe that other places don't?

...anyway, I'm just glad and thankful to be born in Europe!

</comment><comment><USER36> Are European laws a bellwether for US laws? I hope so.

</comment><comment><USER13> They're still allowed to have premium channels for their TV service and such. Isn't that not very "net neutrality"-like?

<comment><USER37> TV is not internet. You can run TV over internet, but that's a service being provided over the internet. TV has never been a universal access medium.

</comment></comment><comment><USER5> From first reading, this makes it look as if ISPs will be unable to offer eg elevated weighting to specific VoIP traffic unless that's offered by the ISP themselves. I want my VoIP trunks to my exchange to have better QoS than my Skype chats.

I'm not convinced this is a good thing.

<comment><USER38> _I want my VoIP trunks to my exchange to have better QoS than my Skype chats._

Then configure your router to do so?

<comment><USER5> That works for my link from the PoP to my router, but not beyond the PoP.</comment></comment></comment>


Help at-risk youth get careers in tech - <AUTHOR> https://www.indiegogo.com/projects/prepare-low-income-youth-for-careers-in-tech

<comment><USER2> This organization has been amazing to work for. The people behind it are _real_ about change.

Disclaimer: I volunteer to teach for OpSpark.</comment>


The Enemy in HR - <AUTHOR> http://www.cringely.com/2014/09/28/enemy-hr/

<comment><USER2> IMHO this comes down to people being unable to make judgement calls any more. Every decision has potential legal consequences, so anyone making such a decision has to have clear criteria for making it that will stand up in court.

Companies don't give referrals any more for the same reason - making any judgement about an ex-employee is potential grounds for legal action (the next employer can sue because they hired the person on the basis of your erroneously good referral, or the ex-employee can sue because of your bad referral). Most companies now refuse to do any more than confirm position and dates of employment.

So if HR does anything except screen by specific, pertinent qualifications then they could potentially be sued, especially for public sector jobs.

Which is why the "back door" of knowing the relevant manager and getting them to hire direct without going through the recruitment process is fine by everyone - no liability! The position was never advertised so it cannot be discriminatory or unfair.

Of course, for some public sector jobs (and large corporates) there is a policy mandate that all jobs must be advertised.

</comment><comment><USER3> "You'll find the departments are predominantly staffed with women... They are hiring predominantly male candidates for positions whose duties they typically don't understand. "

"Those ladies down in HR..."

So the article makes some good points about HR filtering candidates based on questionable heuristics, but the gender of the people in HR being mentioned as somehow relevant sticks in my craw.

Further, the suggestion that there are secret policies in HR to hire people with degrees from good schools is BS.

These policies occur because of the need to justify individuals/policies, etc to managers that lack technical expertise and also fail to utilize the expertise of their experts on who to hire.</comment>


200 pages on why Apple's multi-touch patent should be invalidated - <AUTHOR> http://www.scribd.com/doc/104272647/90012332

<comment><USER2> ... because almost every gesture is obvious, with very few if any alternatives? If you have a touch-screen, and you need to scroll or zoom, would you come up with this interface yourself, much less an expert in the field?</comment>


How Iceland Rattled the World - <AUTHOR> http://online.wsj.com/article/SB123032660060735767.html

<comment><USER2> "Amid Iceland's euphoria, there were warnings. In 2006, analysts at Danske Bank wrote a paper titled "Geyser Crisis" saying that Iceland's banks had grown too much, and the country was dangerously reliant on the willingness of foreigners to keep sending money.

"Hedge funds attacked the Icelandic krona. The banks weathered the assault, and the krona bounced back. Fatally, Iceland viewed its successful defense as proof of the banks' resilience.

"But the Danske Bank team wasn't wrong, just early."</comment>


LibHTTP: Open Source HTTP Library in C - <AUTHOR> https://www.libhttp.org/ <comment><USER2> Whenever I see a C networking library, my first questions are:

1\. How many security-critical CVEs has it had in the past?

2\. How extensively has it been fuzzed?

3\. Is this one of the rare C code bases that actually has pretty solid security (like Dovecot [https://www.helpnetsecurity.com/2017/01/17/dovecot- security-...](https://www.helpnetsecurity.com/2017/01/17/dovecot-security- audit/) or various OpenBSD tools)?

I ask because once upon a time I just about broke my heart trying to write secure networking code in C. I inspected every line. I chose my dependencies carefully. I wrote extensive, malicious tests with tons of malformed data. I added recursion limits to prevent stack overflow. I ran everything through Electric Fence and used the best open source validation tools available in 2001. And despite months of effort for a very simple protocol, I wound up being affected by at least 6 CVEs in 15 years ([http://people.canonical.com/~ubuntu- security/cve/pkg/xmlrpc-...](http://people.canonical.com/~ubuntu- security/cve/pkg/xmlrpc-c.html)), many of them in the third-party XML parser I used. But if somebody directly fuzzed my code, I bet they'd find _at least_ one more issue somewhere.

There are a few people I trust to write mostly secure networking software in C. But the more time I spend fuzzing protocol parsers, the more I realize that—even though I like to think I'm unusually careful and paranoid—I'll never be one of those people.

So how does libhttp look from a security perspective? If it's truly paranoid and thoroughly fuzzed, it might be very useful for embedded work.

<comment><USER3> > ([http://people.canonical.com/~ubuntu- > security/cve/pkg/xmlrpc-...](http://people.canonical.com/~ubuntu- > security/cve/pkg/xmlrpc-...))

It looks like some of those CVEs are dated not that long ago. If code safety is still a concern with this project, you/someone might consider conversion to SaferCPlusPlus (essentially a memory-safe subset of C++). There is an "auto- conversion helper tool"[1] still in development, but already functional.

[1] shameless plug: [https://github.com/duneroadrunner/SaferCPlusPlus- AutoTransla...](https://github.com/duneroadrunner/SaferCPlusPlus- AutoTranslation) (Feel free to post any questions to the github "issues" section.)

<comment><USER2> > _If code safety is still a concern with this project, you /someone might > consider conversion to SaferCPlusPlus (essentially a memory-safe subset of > C++)._

Thank you for the pointer! I haven't been a maintainer of xmlrpc-c in over a decade now, and I'm not even sure who's maintaining it or using it. The sourceforge mailing list archives seem to be down, so I have no way to contact the current maintainers.

The packages in Ubuntu which use xmlrpc-c are freeipa-client, rtorrent, opennebula, certmonger, flowgrind and cobbler-enlist. I also remember 2 or 3 commercial users from 15 years ago. If any of these people are interested, I'd consider writing a drop-in replacement in Rust that preserves the same C ABI, and spend at least a week of CPU time fuzzing it.

</comment></comment></comment><comment><USER4> Architecturally this uses threads, a master listener and some number of worker threads. You will add a couple calls to your program to initialize the web server. The workers use synchronous I/O. You can easily add server side support for Lua or JavaScript from which you can expose and manipulate your program's state, to the extent you can use threads in C without tearing your leg off.

It looks much nicer than anything I've hand rolled in the past to add web management to various servers and daemons.

</comment><comment><USER5> It's nice to see a good C library, since it's very easy to bind to it from virtually any programming environment, which can't be said about other languages. And the build system can't be simpler: A makefile with a list of source files and compile flags. All you need to do HTTP!

</comment><comment><USER6> It's tempting to consider using an http server in your program. But also consider wrapping your c/c++ programs in fastcgi loop and have nginx run behind it.

It removes a lot of complexity from your code.

<comment><USER7> _> nginx run behind it. It removes a lot of complexity from your code._

There are good intentions with that advice but I think it's misleading. It doesn't take into account how http libraries like this one (and similar ones for C++ such as Proxygen[1] and Silicon[2]) are _supposed_ to be used.

The intended use case is to add an embedded webserver to your executable that's communicating with _friendly_ and _internal_ systems. That would be things like microservices and dashboards.

You don't use those libraries to create _external_ public-facing websites that would be under attack from hostile agents. You're correct: Do not re-invent NGINX by using the C http library.

As an example proper use case, let's say you write an internal C program to process terabytes of image files. You think it might be nice to have a visual status of its progress/errors/throughput/etc. Instead of adding a GTK GUI to the code, you use the http library to expose a "web dashboard". You can then point an employee browser on the internal network at it to see its progress. For this use case, avoiding the http library and adding NGINX into the stack makes it _more complicated_.

Another use case without HTML gui is exposing http endpoints for microservices. Again, it's _internal_ communication between friendly agents.

tldr: http libraries that are compiled into executables vs NGINX are for different use cases.

[1] [https://github.com/facebook/proxygen](https://github.com/facebook/proxygen)

[2] [http://siliconframework.org/](http://siliconframework.org/)

<comment><USER8> Your described use case for a "friendly / internal" system has a limited definition in any non-trivial sized organization. It would only apply when all users of the embedded webserver already have root access to that server. This might make sense, for instance, in a small development team with a flat security hierarchy, but would be a red flag, security wise, otherwise.

<comment><USER7> _> Your described use case for a "friendly / internal" system has a limited definition in any non-trivial sized organization._

Facebook is a non-trivial size company that has lots of internal private- facing programs with embedded http connectivity. From that experience, they open sourced Proxygen http library which is one of the links I mentioned in the previous comment.

Also, see the comment from VikingCoder which in turn links to reddit thread mentioning another big company like Google doing similar use cases with http libraries: [https://news.ycombinator.com/item?id=15671936](https://news.ycombinator.com/item?id=15671936)

<comment><USER8> Facebook is a mixed bag as far as being a model of good behavior on many things. The company is founded on irresponsible social principles. For how long did general internal employees have access to users' private data? This is no longer the case, though, correct? Sorry to get OT.

Maybe these libs are well-vetted, after all. My mistake. Thanks for the info.

</comment></comment></comment></comment></comment><comment><USER9> Another library worth mentioning is [https://github.com/h2o/h2o](https://github.com/h2o/h2o)

<comment><USER10> h20 is nice, but I believe it requires libuv. libuv is a massive stack with LOTS of abstractions on top of abstractions that are sorta atypical of C libraries. If your code crashes because some assert in libuv fired, good luck navigating through the "typedef city" that libuv is. I wrote a little server built on top of libuv but I could never really get it working right on Windows (which is a platform that libuv supports fairly well I think). In the end I ended up abandoning libuv, and all the that abstraction, and just requiring Linux or BSD by targeting epoll/kqueue directly.

<comment><USER11> libh2o does not require libuv, it has its own event loop. libuv is optional.

<comment><USER10> Then their FAQ needs to be updated:

To build H2O as a library you will need to install the following dependencies:

libuv version 1.0 or above OpenSSL version 1.0.2 or above

As I understand it, regular h2o doesn't require libuv but libh2o does.

<comment><USER12> The H2O build produces libh2o and libh2o-evloop. The latter doesn't depend on libuv.

</comment></comment></comment></comment></comment><comment><USER13> It's good to see more libraries filling this space. One of the foremost contenders is Libmicrohttpd ([https://www.gnu.org/software/libmicrohttpd/](https://www.gnu.org/software/libmicrohttpd/)). The only problem with that library is the LGPL license.

<comment><USER14> Why is LGPL a problem?

<comment><USER15> Embedded platforms come to mind.

</comment></comment></comment><comment><USER16> See [https://curl.haxx.se/libcurl/competitors.html](https://curl.haxx.se/libcurl/competitors.html) for a comparison of various HTTP libs (obviously through the lens of cURL)

<comment><USER17> While those are all http client libraries, it would appear this project is a http server library.

<comment><USER18> I'd recommend a clearer title, then. HTTP is a protocol, so making the client vs. server distinction explicit would be useful to the reader.

</comment></comment></comment><comment><USER19> I wish the "about" page for projects like these had more information. For example, _why_ was this library created and by whom? What does it offer that others don't? Etc. I want to learn more about the problem it's solving even though I have no interest in the code, and I'm sure I'm not alone.

<comment><USER20> It is sad how open source is all about sharing/learning until it comes time to link to competing/alternative projects.

</comment></comment><comment><USER21> There are quite a few alternatives, microhttpd is a very popular one though in c++, moongoose / civetweb(forked version) are both good alternatives and are tested in the field and are written in C, you also have duda and libonion doing the same http library but with more functions(restful, websocket,etc)

</comment><comment><USER22> I've used mongoose in the past to embed http servers to C++ programs. Would be interesting to see how this performs in comparison.

[https://github.com/cesanta/mongoose](https://github.com/cesanta/mongoose)

Here's me attempting to optimize REST routing by using Google's re2 regex library to reduce the list of possible regexes that might match a given URL:

[https://github.com/nurettin/pwned/blob/master/server/server....](https://github.com/nurettin/pwned/blob/master/server/server.hpp#L121)

FilteredRE2

[https://github.com/google/re2/blob/master/re2/filtered_re2.h](https://github.com/google/re2/blob/master/re2/filtered_re2.h)

<comment><USER23> Given this is MIT licensed instead of GPL like mongoose, it's already leaps and bounds more useful for embedding.

<comment><USER22> Ok, gpl is a terrible calamity and I'm sorry I ever opened notepad.

</comment></comment></comment><comment><USER17> What are the advantages over Civetweb, from which this project was forked?

(Civetweb itself was forked from Mongoose when Mongoose changed its license to commercial+GPL)

</comment><comment><USER24> HTTP/2 support?

<comment><USER25> h2o has it

</comment></comment><comment><USER26> Re-posting from a reddit discussion [1] about another HTTP server written in C:

I worked at a company once that had a really decent HTTP server library... That they put in _every_ program.

You'd launch an app, and to debug it, you'd access [http://localhost:9001](http://localhost:9001). From there, you could go to URLs for different _libraries_ in the app. Like, if you had a compression library, you could go [http://localhost:9001/compression](http://localhost:9001/compression). It would show stats about the recent work it had done, how long it took, how much CPU, RAM, disk it used. The state of variables now, etc. You could click a button to get it to dump its cache, etc.

If you were running a service on a remote machine, accessing it over HTTP to control it was just awesome. [http://r2d2:9001/restart](http://r2d2:9001/restart). [http://r2d2:9001/quit](http://r2d2:9001/quit). [http://r2d2:9001/logfile](http://r2d2:9001/logfile).

Oh, and the services running on that remote machine would register with a system-level monitor. So, if you went to [http://r2d2/services](http://r2d2/services), you could see a list of links to connect to all of the running services.

...and every service registered with a global monitor for that service. So, if you knew a Potato process was running somewhere, but you weren't sure which machine it was on, you could find it by going to [http://globalmonitor/Potato](http://globalmonitor/Potato), and you'd see a list of machines it was running on.

Just all kinds of awesomeness were possible. Can not recommend enough.

And, I mean like, programs with a GUI. Like, picture a game. Except on my second monitor, I had Chrome open, talking to the game's engine. I could use things like WebSockets to stream data to the browser. Like, every time the game engine rendered a shot, I could update it (VNC-style) in the browser window. Except annotated with stats, etc. It was just the most useful way to organize different debug information.

And what was great was that writing a library, and wanting to _output_ information, you wouldn't write it to std out... You'd make HTML content, and write to it. Want to update it? Clear the buffer and write to it again. As a user, if you ever want to read the buffer, you just browse it. Want to update it? Refresh the window. Or better yet, stream it over a websocket. Like Std Out on __steroids. __If you need to combine the output from a few libraries in a new window, you just write a bit more HTML in your code, and you 're doin' it.

It's just another example, in my mind, of the power of _libraries._ We all get used to thinking of frameworks (IIS, Apache) as the only way to solve a problem, that we forget to even _think_ about putting things together in new and unexpected ways. __HTTP as a library - HELL YES. __

Using HTML to debug programs, _live_ , is highly under-utilized.

[1] : [https://www.reddit.com/r/programming/comments/36d190/h2o_is_...](https://www.reddit.com/r/programming/comments/36d190/h2o_is_a_very_fast_http_server_written_in_c_it/crcylze/)

</comment><comment><USER27> Networking library in C? Nice. Who is afl'ing it first?

</comment><comment><USER28> During the past twelve months, this project has had only one active contributor.

<comment><USER29> how should i interpret this information?

<comment><USER30> That this project has bus factor = 1. High risk.

<comment><USER31> The risk isn't a function of developer count alone; for example, a simple and polished feature-complete library with one developer is lower risk than a beta version of a huge complex distributed system with 100 developers.

</comment></comment></comment></comment><comment><USER32> "LibHTTP is licensed under the MIT license. Therefore the library can be used in both open and closed source projects."

I really don't want to be overly negative, and I applaud people for putting in work like this... but this is a perfect example of whats wrong with BSDesque licenses right here.

More people should at least consider gplv3'ing their stuff. So many of the bad stories we hear are side-effects from software that doesn't respect the user in the first place, with licenses that don't respect the user.

RMS was and is right.

If I may offer an alternative that respects the user, I have had great experiences with Hiawatha, and is my current standard webserver these days, even over nginx or apache. With an added bonus of being programmed with security in mind from the start, which is something we always hear people talk about wanting but how often do we actually see it?

<comment><USER33> I don't understand this logic.

You get free software with few restrictions on what you're allowed to do with it. In what way is that "respecting" you _less_ than similar software with _more_ restrictions on what you can do with it? How does someone forcing more control over your actions in any way "respect" you more?

<comment><USER32> "the library can be used in both open and closed source projects."

When that source gets put in a product that is closed and then that product makes it to the user. How do people not understand this difference by now? Tivoization. It violates the four freedoms principle. That's how.

To quote zAy0LfpBZLC8mAC:

"A law that allows murder is more permissive and obviously does not increase freedom. It's simply a fallacy to think that not putting any limits on what any individual can do results in maximal freedom for society at large."

<comment><USER33> This argument for the GPL only wins in a fantasy land where all software has to be released under GPL or not at all. In reality, companies reject the GPL and just write their own code or adopt and contribute to permissively licensed projects, and that is what ends up "making it to the user".

You're telling authors to take away freedoms of its own users now, to prevent a potential bogeyman from taking away freedoms of other users in the future.

You can use permissively licensed code now and forever, because that can't be taken away once released. You're refusing to use it now on the off chance that in the future, someone modifies that code to do something else and give it to other users without the code. Your initial use still hasn't changed, and your right to use that initial code hasn't changed. You are not a user of the new, modified code, so your rights have not been impacted whatsoever.

<comment><USER34> _In reality, companies reject the GPL and just write their own code_

Right, so we either end up with more Free Software, or with more employment for us programmers. It's a clear win-win!

</comment></comment></comment></comment></comment><comment><USER35> I'll just leave this here. Downvotes start in 3.. 2... 1...

The long goodbye to C - [http://esr.ibiblio.org/?p=7711](http://esr.ibiblio.org/?p=7711)

<comment><USER36> Could you please stop starting language flamewars? Surely you could come up with something substantive to say.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)</comment></comment>


Feds Vowed to Quell Unrest in Portland. Local Leaders Are Telling Them to Leave - <AUTHOR> https://www.nytimes.com/2020/07/17/us/portland-protests.html <comment><USER2> How long before someone who carries thinks (rightfully) that they are being kidnapped, and opens fire? What happens afterward?

<comment><USER3> I was thinking the same thing watching these videos of them jumping out of minivans. It looks like kidnapping.

I worry for the person who will make this mistake because the officers will return fire and leave another person murdered in the street.

They're putting their own officers lives in danger by doing this as well. This isn't war, casualties shouldn't be an acceptable side effect to public protests in the US

<comment><USER4> Probably not wise to fire at federal officers

<comment><USER5> That's the problem - they aren't identifying themselves as federal officers, they aren't displaying legally require identification.

So it is reasonable to defend yourself.

But then police who murdered breonna Taylor claimed (in a stand your ground state) that her boyfriend committed a crime when he shot back at a group of i identified people that burst into their house and shot his girlfriend.

So yeah it would be a bloodbath. A bloodbath caused by the federal government choosing to kidnap and murder people.

<comment><USER4> very interesting, so they don't have any patches or any identifying information on them?

<comment><USER6> They do, you can see them on closer videos taken.

<comment><USER5> From the opb report it sounds like they were essentially just little badges that say "police".

There is no federal "police" department. There's a number of federal agencies that do "law" enforcement and similar, but none of them are police. US Police departments are a part of incorporated cities. Outside of such cities, you get sheriffs. Between states you get the FBI, Treasury, Marshalls, etc.

These people were being taken to a federal courthouse, implying that they were federal agents, the only groups in Portland at the moment are ICE and the US Marshall service. The former has a fairly terrible human and constitutional rights record so I would guess it was probably them, but who knows - we know that they've had people "arrested" but have no record of the arrest. Which means it was an abduction by the federal gov with the intent to terrorise and escalate the conflict.

<comment><USER6> > From the opb report it sounds like they were essentially just little badges > that say "police".

Which means that the OPB report is being intentionally misleading. Which is unsurprising for much of the media covering the events.

This doesn't come off as an honest criticism, as even having the specific agency insignia would just be blown off.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> Meanwhile when right wing terrorists took over federal property in the same state nothing happened to them and they're now threatening neighboring states, including invading state government buildings in Idaho.</comment>


The Great Suspender: Free up memory by suspending inactive Chrome tabs - <AUTHOR> https://chrome.google.com/webstore/detail/the-great-suspender/klbibkeccnjlkjkiokjodocebajanakg <comment><USER2> What I do, when Chrome, or rather, my abuse of it (14 windows, 735 tabs at the moment, Ubuntu 14.04 64 bit on a 32 GiB system) becomes onerous is to go to the task manager and kill groups of tabs taking up "too much" memory, and very occasionally, too much CPU.

(I get away with that abuse, which it a _bit_ higher right now because I'm in the process of buying a house, by killing _all_ tabs after launching, and only enabling the ones I want, one by one, using the essential to me Session Buddy.)

<comment><USER3> I'm genuinely interested in the reasons people maintain so many tabs open. What type of workflow you have when you end up with so much stuff open?

How do you get back to some of those tabs? Wouldn't it be easier to just google it again when you need it instead of having it lingering around and wasting your HW resources?

<comment><USER4> They accumulate. Every day there are two or three pages you intend to read later, so you leave them open. A month later, you have an extra 100 tabs loaded. After six months, you have 600. There are also clusters of tabs associated with some research you were doing but didn't quite finish.

Then the problem is it would take a couple of days to go through all the waiting tabs and shut them down, and you don't have a couple of days to spare.

Eventually you just save them all out as a session and start again, and hope you will learn from your mistakes ;-)

I've switched from FF/Chrome to FF/Vivaldi because it has much better ways to handle tabs and bookmarks than Chrome does. Vivaldi does tab stacking, for example.

<comment><USER5> Maybe a 'read later' extension could help you? Something longer-term than a tab, but shorter-term than a bookmark.

<comment><USER6> That would imply taking a positive action to do something about the tab. I want to just ignore the tab until I need it again. I don't want to treat the tab specially.

My real desk is messy. I mostly know where stuff is buried because I put it there and nobody messes with my desk. I clean it about once a year, usually when a big project is fully done forever. I want the same functionality from my browser.

</comment></comment></comment></comment></comment><comment><USER7> [https://developers.google.com/web/updates/2015/09/tab- discar...](https://developers.google.com/web/updates/2015/09/tab- discarding?hl=en)

<comment><USER8> Also, [https://docs.google.com/document/d/1thLjq- PYoKWaM_ODDZjojr9V...](https://docs.google.com/document/d/1thLjq- PYoKWaM_ODDZjojr9VRG6uGnxeL86EaSzYL5k/edit)

<comment><USER8> AFAIK this is part of the TRIM project in Blink, They have some memory related goals listed here:

[https://docs.google.com/spreadsheets/d/17wW- YosF8tlEwn45eZ4d...](https://docs.google.com/spreadsheets/d/17wW- YosF8tlEwn45eZ4delXWPDfWG70vmG-Gnc-63ro/edit?pref=2&pli=1#gid=1135956485)

<comment><USER7> Brilliant, thanks for these links!

</comment></comment></comment></comment><comment><USER9> It's just incredible. Webpages are now filled with such bloat, that there are third party tools popping up to help users combat other third party developer solutions eating up resources on their systems.

</comment><comment><USER10> A tool that has served me well in freeing up memory (both in RAM and in my head) is one-tab:

[https://www.one-tab.com/](https://www.one-tab.com/)

Afaik, current versions of Chrome already implement the functionality of the great suspender natively.

<comment><USER11> I am a big fan on one tab. It's replace my 'toread' and 'pocket' completely.

</comment></comment><comment><USER12> Every single new chrome release memory consumption just gets worse. Most recently a single window with 1 gmail tab takes ~500mb (If I recall correctly you could actually run windows XP on 256).

I'm seriously considering rolling my browsers back to ~2012 and never upgrading again.

<comment> aug-riedinger Unused RAM is wasted RAM.

Gmail has an internal behavior that adapts its memory usage on available memory. It may fail in some specific situation (short and wide memory leak), but as a whole the idea is to __use __RAM as much as possible to make gmail faster.

And yes, gmail lacks of a "low memory consumption" button for those situation where automatic memory usage detection fails.

There is video of google explaining this voluntary behavior but I can't find it unfortunately.

<comment><USER12> > Unused RAM is wasted RAM.

This is just ignorant cliche.

> Gmail has an internal behavior that adapts its memory usage on available > memory. It may fail in some specific situation (short and wide memory leak), > but as a whole the idea is to use RAM as much as possible to make gmail > faster.

This has nothing to do with Gmail, this is entirely to do with chromium. When my X-Server starts to freeze because 8 tabs taking up 2GB of memory means the OS is intensely swapping to and from disk; I'll take my unused RAM, thanks.

</comment></comment></comment><comment><USER13> Turned that off almost immediately. Sounds good in theory, but if a suspended page has a heartbeat of any sort, it has to reload when you return to it. If that page is an infinite scroller, or if you've hit the "load more" button a couple of times, well, so much for starting up again where you left off.

<comment><USER14> Mobile browsers already suspended most background stuff, and it occasionally does cause issues like that, but usually it just works.

I learned this out a few years ago when trying to figure out why my metrics sometimes reported mobile visitors with load times of hours or even days... Turns out that they opened the site and then switched tabs/apps before it finished loading. Everything except that metric worked fine. I added a heartbeat just to detect that, and it worked without introducing any extra reloads.

<comment><USER15> This always drives me mad. It's particularly bad if I'm trying to read content sites on a train or somewhere with patchy reception - open half a dozen tabs to give me something to read while I'm disconnected, and then switch to them only to see the content disappear before my eyes. I'd nominate it as literally the worst thing about mobile browsing

</comment></comment></comment><comment><USER16> Just curious - how are you sure that the addon doesn't have some backchannel that it's using to send your website info to? Like, let's say you go on a banking website?

</comment><comment><USER17> Idea: What if there was an OS interface to mark memory regions as "throwaway"? Throwaway in the sense that it's less costly to recalculate than to recall it from swap. So the OS would throw such memory regions instead of swapping out and signal the process about it to recalculate it if needed.

I don't usually bump into heavy swap usage except when I wake my laptop from hibernate. I tend to close browsers before hibernating because it's faster to just resume the last session from a cold start then load from swap.

<comment><USER18> > Throwaway in the sense that it's less costly to recalculate than to recall > it from swap.

Network is slower than disk (is slower than memory). So if "recalculate" means getting it from the internet, then probably getting it from disk is faster in most cases.

<comment><USER19> _local_ network is faster than disk.

The internet is rarely faster than disk unless you're in a major data centre.

And then... this is assuming you're referring to spinning rust. local disks in the form of SSDs will be faster again.

</comment></comment></comment><comment><USER20> Another useful tab manager extension for Chrome is Tabli ([http://www.gettabli.com](http://www.gettabli.com)), which I created and submitted as a "Show HN" last October ([https://news.ycombinator.com/item?id=10464603](https://news.ycombinator.com/item?id=10464603)). Helps you quickly find tabs you already have open and lets you save and restore windows (collections of tabs) with meaningful names to keep things organized. 100% Free Software (sources on github), respects privacy, and has keyboard shortcuts for efficiency.

<comment><USER21> I tried using that, but i keep getting this issue on OS X: [https://i.imgur.com/PeZluRL.png](https://i.imgur.com/PeZluRL.png)

This is not specific to Tabli though, it's every time there is an extension popup with content.

Maybe it's something that can be fixed? Also, the open animation is painfully slow.

<comment><USER20> Thanks for the bug report. I have seen that happen intermittently but have never managed to find a reliable repro. There's a long-standing open issue on github for it: [https://github.com/antonycourtney/tabli/issues/45](https://github.com/antonycourtney/tabli/issues/45)

I have new release of Tabli pending that will address a number of performance issues, so may resolve this for you. If you DM me I can let you know when it's available.

</comment></comment></comment><comment><USER22> I prefer to "snooze" tabs using the Tab Snooze Chrome Extension. That way they reappear when I can hopefully give them attention. I can tell the extension to put tabs to sleep until this evening, tomorrow, this weekend, next week (my fave), next month, someday (I haven't tried that one, too scary), or a specific date. [https://chrome.google.com/webstore/detail/tab- snooze/pdiebia...](https://chrome.google.com/webstore/detail/tab- snooze/pdiebiamhaleloakpcgmpnenggpjbcbm?hl=en)

</comment><comment><USER23> Google should acquihire the team and embed it in Chrome.

I use tabs as a task list (around 30-50 at a time) and without this tool I wouldn't be on my laptop, I would need a desktop with at least 64GB of RAM...

<comment><USER24> it's already built into chrome, my canary has been doing it for a while, pretty sure beta and dev do it now too.

<comment><USER23> It hasn't arrived at beta yet but thanks for the heads up!

</comment></comment></comment><comment><USER25> The best use of this is for saving battery life. Chrome will absolutely destroy your battery. You can configure it to auto-suspend tabs after X minutes of inactivity only when you are on battery. (Alternatively you can switch to Safari to save battery life.)

Like others have said, The Great Suspender will often break web pages and force them to completely reload. This ruins infinite scroller pages too. So thats the trade off.

</comment><comment><USER26> The Great Suspender has been around for a long time; I posted it to Product Hunt ~2 years ago: [https://www.producthunt.com/tech/the-great- suspender](https://www.producthunt.com/tech/the-great-suspender)

it's pretty good. I don't really use the auto mode much, but I use it to manually kill tabs (can be faster than killing via the task manager)

</comment><comment><USER27> The Great Suspender allows me to keep many tabs (currently 214) open without CPU meltdown.

[https://chrome.google.com/webstore/detail/the-great- suspende...](https://chrome.google.com/webstore/detail/the-great- suspender/klbibkeccnjlkjkiokjodocebajanakg?utm_source=chrome-ntp-icon)

</comment><comment><USER18> What happens when a tab is doing background work, such as uploading a file, or performing a calculation, or just keeping track of timer events? (Will those timer events appear to happen all at once when the task is resumed?)

<comment><USER28> No, there might be some service disruption with ongoing task. However, you wouldn't use it on a working tab like that, but on those residing for "I might need this later" and hogging memory.

</comment></comment><comment><USER29> Maybe Google could come up with a zero-cost tab and have users pick it (more than 10 tabs?) when they don't care about latency and pre-loading of webpages so much.

</comment><comment><USER30> Any good alternatives recommended for Firefox?

<comment><USER31> [https://addons.mozilla.org/en-US/firefox/addon/bartab- plus/](https://addons.mozilla.org/en-US/firefox/addon/bartab-plus/) does the same thing (actually a little better in the implementation) on Firefox. Once you install, go into config for it and set how long a tab may be idle before it auto-unloads. Unloaded tabs are shown slightly dimmed in the tab bar. You can also right click tabs (such as gmail / youtube / etc) and force them to always stay loaded, so your email / music streaming / etc aren't impacted.

Combo it with [https://addons.mozilla.org/en-US/firefox/addon/tab-groups- pa...](https://addons.mozilla.org/en-US/firefox/addon/tab-groups-panorama/) that lets you organize your tabs into groups and you can have hundreds of well organized tabs without using much memory at all.

<comment><USER32> > Combo it with [https://addons.mozilla.org/en-US/firefox/addon/tab-groups- > pa...](https://addons.mozilla.org/en-US/firefox/addon/tab-groups-pa..). that > lets you organize your tabs into groups and you can have hundreds of well > organized tabs without using much memory at all.

Be careful with that because every tab has a constant memory consumption even when not loaded, so it will actually have a noticeable memory consumption when you have several hundreds of tabs. I learned it the hard way.

</comment></comment></comment><comment><USER33> great chrome addon, been using it for a year or two.

I've got around 40-50 tabs open usually, and "spring clean" all but the active one a couple of times a day (right click a tab, close other tabs). Chrome used to be a complete memory hog until this addon.

</comment><comment><USER34> Closing your tabs and using the browser's history achieves the same thing.</comment>