I Worked for a Criminal Organization - <AUTHOR> https://openmonstervision.github.io/blog/posts/that-time-i-worked-for-criminals/ <comment><USER2> Not uncommon in some cities in Canada to find out you're working for a criminal outfit if writing point of sale/restaurant software where they want you to produce one receipt for the customer and a different one for the restaurant or salon or shady car mechanic that then pockets the unreported tax aka a 'zapper'. Profitek was busted once, InfoSpec Systems, zappers are in high demand

<comment><USER3> My first sale of my selfwritten software (about 35 years ago) was for a car driving instructor. The initial sales conversations where difficult. I thought they did not see the advantages of having their planning & bookkeeping in a computer...

How wrong I was. It was their "creative bookkeeping" that worried them. When I offered to make that all possible ('zapping' as it is called now), they loved it. Based on their referrals I sold it many times over.

Come next customer / market: bookshops. Guess what the most important selling argument was, besides easy cataloging, inventory, searching, website publishing and reporting? Right: zapping.

Thought me an important rule: do not underestimate what your customer is NOT telling you.

<comment><USER4> I know that taxes ultimately don't result in lost schools and hospitals, as it's never that 1:1, but do you ever think you could have cost your country a hospital, a new road, or a new warhead or whatever?

<comment><USER5> Taxes are pretty much theft at gunpoint, so I imagine nobody losing sleep over dealing with it in an appropriate way.

<comment><USER6> > Taxes are pretty much theft at gunpoint,

It's odd how the people that think this are generally the same ones _most_ likely to argue that "positive rights" that impose a cost on others are an incoherent concept, and positive entitlement can at most be a limited privilege granted by others based on available resources and expected utility of the grant. But they fail to recognize that the "right" to wall off goods from the commons and exclude others by force—i.e., property—is very much a positive right that has a cost for others.

<comment><USER7> Property is not a positive right. Property ownership is derived from the self- ownership of the person who created the property by combining their own labor with unowned land. The exclusive right to decide how the property is consumed is a _negative_ right; others have no obligation to provide anything _to_ the property owner, only to leave the owner ( _including_ their property) alone. Homesteading imposes no cost on others for the simple reason that these others have no claim to the unowned land being homesteaded.

Your error is starting from the assumption that land is owned in common by everyone, rather than unowned. If land were actually owned in common then you would need to obtain permission from every single person on the planet before using any of it. You would starve to death long before you obtained even a small fraction of the necessary consent. And no, the government cannot grant that consent on behalf of others who never deliberately and voluntarily agreed to permit the government to represent them. You would need the consent of each and every individual.

</comment></comment></comment></comment></comment></comment><comment><USER8> Man, screwing with ARIN seems like a really dumb idea. They're located in northern VA and their leadership team has direct contacts at places like the US district attorney's office, and FBI. Some of the internet grey beards who know the ARIN leadership are well connected in the parts of the US government responsible for "cybersecurity".

People at ARIN also have 20+ years of experience identifying shell games.

</comment><comment> CKN23-ARIN Court documents from the ARIN case: [https://www.courtlistener.com/docket/15619663/oppobox- llc-v-...](https://www.courtlistener.com/docket/15619663/oppobox-llc-v- american-registry-for-internet-numbers-ltd/)

From the criminal wire fraud case: [https://www.courtlistener.com/docket/15619660/united- states-...](https://www.courtlistener.com/docket/15619660/united-states-v- golestan/)

</comment><comment><USER9> So Micfo was one of our suppliers, they remain the only one to have mailed us chocolate at Christmas.

The chocolate wasn't great, but it's more than any of our other providers have mailed us :).

</comment><comment><USER10> You have an interesting writing style, describing your experience as if you're watching the weather drift by.

<comment><USER11> True, he writes blissfully

</comment></comment><comment><USER12> wsj writeup: [https://www.wsj.com/articles/fraud-case-in-charleston-s-c- sh...](https://www.wsj.com/articles/fraud-case-in-charleston-s-c-shines-light- on-webs-dark-corners-11581944400)

</comment><comment><USER13> This is related to [https://news.ycombinator.com/item?id=22354357](https://news.ycombinator.com/item?id=22354357).

</comment><comment><USER14> May be I missed it but can someone tell me what was the crime the company was committing ? Almost any company will have defensive strategies such as stalling LEOs and Warrants in whatever way they can. A lot of this is not really "crime" as in kidnapping people or shooting people dead in some alley.

Is having shell companies a crime ? I know a ton of bay area "startups" than engage in these sort of tricks to maximize the brand damage. Ask.com and other toolbar companies are great examples where they will just rebrand the same toolbar as X and sell it to 10 companies which were owned by same entity. Half the companies with "explosive" growth were using mass mailing techniques than involved spamming. Many used foreign companies to skirt US law related to spamming.

I think author is overthinking.

<comment><USER15> Am I the only one getting depressed with all the excuses and rationalizations in this thread? It's the same with "adtech" and the like... "Hey, I'm not killing anyone, what's the harm?"

Technology has the potential to raise humanity above its current conditions and limitations. But we can't have it, because we are selfish and short- sighted monkeys. Take a big dump on all the ideals if this delivers the paycheck. "Business" justifies everything. Fuck humans.

A global instantaneous network of information exchange? Let's turn it into a dystopic market of bullshit covered in distasteful advertising, Idiocracy- style. AI breakthroughs? Will help make the Skinner box much more effective! A search engine capable of finding any public piece of information in human record? Replace the entire thing with ads in disguise! Still, autocratic regimes want to censor some of the ads? Can do, they are a huge market!

Space programs? Canceled. We now have a Rube-Goldberg machine made of human suffering that can deliver whatever trinket you want the next day to your door, nicely package in a cardboard box with a corporate grin printed on it. But don't worry, some guy who sells cars is taking us to Mars or something.

Fuck all this.

<comment><USER16> The issue is when people try to stack-rank the "badness" of crimes. "Is bankrupting a thousand people through fraud worse than killing someone?" The answer is: it doesn't matter which is worse. Both destroy lives in different ways.

Fraud and spam are crimes that ruin lives in their own ways.

<comment><USER17> > The answer is: it doesn't matter which is worse. Both destroy lives in > different ways.

Though it is very natural for people to think "how bad I am" or "how bad is that company compared to the other companies" and so on. Also in the end the justice system has to sentence these crimes and there has to be some kind of "badness" metric that should be seen as fair by the general public. I don't think this "they are all just crimes" approach works.

<comment><USER16> Sure, I understand why people want to. I just think it's a futile effort. In order to determine whether bankrupting 1000 people is worse than killing 1 person you have to quantify all those variables, including the value of a human life (an actuary will gladly do that for you). By some measures, say economic impact, killing a single person may not matter at all, depending on who they are. What people want is to quantify morality. Good luck.

However what we do see that correlates to some "badness" metric is the punishment we mete out for crimes. Years of imprisonment is a simple, linear measure that can be used to measure crimes against one another.

You see it all the time. So and so killed a person and got X years in prison, but this other guy ran a Ponzi scheme and got Y years in prison. Whether X is greater than Y, and your viewpoint, will determine if you think that's fair or not. But my original point is I think it's a rather pointless determination to begin with because it isn't really telling you anything. It doesn't answer the question of whether one crime is worse than another because that's fundamentally a philosophical question that I don't think can be measured.

</comment></comment></comment></comment></comment><comment><USER18> > They insisted I never talk to any LEO

Nothing wrong with this ...

>PTR records, Enabling Spam

Doesn't say why that's illegal. At best it says they had customers that broke the law.

>Often both the CEO and Vice President would talk openly about how one of our clients was violating the TOS of several companies.

Not criminal even for the client, at least assuming the HiQ v Linkedin case is upheld. And not illegal for the company. Maybe civil liability under tortious interference? Pretty high bar there, though. And that's all assuming there's an actual ToS - the one example given is of Google search results. Manipulating your _own_ website in the hopes Google treats it favorably can't be seen as violating any agreed ToS.

The stuff Micfo was accused of in court, and the stuff OP is claiming are criminal acts, are disjoint.

<comment><USER19> >At best it says they had customers that broke the law.

Did you see the part at the top where the CEO admitted to being all of those "customers"? They were playing a shell game, and while this guy didn't do the criminal activities he definitely was working for the "legitimate front end" of a larger criminal organization.

<comment><USER20> Even if you take the OP at face value, they're an unreliable narrator at best.

They have questionable character and moral standards by their own admission. That's before even considering the effects of their mental illness.

I would never hire this "perpetually unemployed" person. Everything they say points to something being off.

<comment><USER21> Flipside: This criminal enterprise spotted those same exact attributes, but the mitigating factor was technical competence and submissiveness. And if it came to be where they thought it would never end up (the situation today), someone would discredit them as crazy, given their background.

<comment><USER20> Absolutely they did. I'm not discounting OP's story, I'm basically suggesting exactly what you're saying.

I've seen a similar scenario play out before with another spammer and the kind of people he hired.

<comment><USER21> Gotcha. I misunderstood - I thought you were saying they were crazy and not to believe them etc.

</comment></comment></comment></comment></comment></comment><comment><USER22> Interesting read! Sounds like however it turns out... they had it coming.

How common are setups like this, anyone know?

</comment><comment><USER23> The only substantial difference between this company and, say, Facebook, is that Facebook generally knows how to budget properly. Facebook and other large successful companies try to only commit crimes when they know the profit from doing so exceeds the risk of being caught and punished.

<comment><USER24> > Facebook and other large successful companies try to only commit crimes when > they know the profit from doing so exceeds the risk of being caught and > punished.

While this statement is often true (big companies make these cost-benefit decisions), I don't think it really captures what is happening to Facebook. Doing a cost-benefit analysis like this requires having data on potential costs and benefits. In most cases, Facebook didn't have this data.

When an individual, company, or institution is faced with a decision, but lacks data to properly evaluate it, they fallback on other decision making tools, including instinct and principles.

Facebook almost certainly didn't know the consequences of the many decisions they made, they didn't know the potential costs or benefits. But they did have some underlying principles, namely: maximizing platform engagement, convincing people to share more personal data on their platform, and exploiting user data for better advertising.

With these foundational principles, you can end up making some really bad decisions even without a proper cost-benefit analysis.

</comment></comment><comment><USER25> I also love Canadian Hip Hop. Especially from Torronto. Casper TNG is really cool

</comment><comment><USER26> Honestly I expected worse. But then again if it was, writing about it would probably be a felony on its own.

</comment><comment><USER27> Geez. I wonder if working for a porn hosting company is better.

I'd rather not work for either, but if you're not in a hot tech area, then your choices are limited.

<comment><USER28> Sometimes I find myself thinking that working in porn could actually be pretty interesting - what with massive caching needs, video encoding etc etc... Unfortunately the few job ads I've seen were for super-boring stacks like PHP or Perl, which I'd rather avoid.

<comment><USER29> Definitely, I'm convinced that a lot of people that made youtube and other video hosting sites work in the early days actually came from the online porn industry.

</comment></comment></comment><comment><USER30> Epic</comment>


The Vanhawks Valour, A Connected Bike With GPS Navigation - <AUTHOR> http://techcrunch.com/2014/05/01/vanhawks-valour/

<comment><USER2> for the founders -- if you're building a bike whose USP is built-in bike-based routing -- im surprised you're using out-of-the-box google directions. Have you considered using something like OpenStreetMap based routing? Perhaps incorporate hills? Perhaps allow users to modify the map and incorporate trails that they take regularly?

Here is a good example: [https://www.mapbox.com/blog/launching-smart- directions/](https://www.mapbox.com/blog/launching-smart-directions/)

But overall looks like a cool concept, and the bike looks slick. Congrats!</comment>


Show HN: Gmail Classic – CSS for Reverting Gmail's New Look - <AUTHOR> https://github.com/shellscape/gmail-classic <comment><USER2> I would rather have some CSS to make the basic HTML Gmail look like the classic Gmail. Adding CSS to the new Gmail doesn't make it any faster, which is my biggest problem with it. The basic HTML version runs really fast, but it could use a bit of CSS to make it look a bit nicer and add a little more whitespace (at least on my 4k monitor it's somewhat cramped).

<comment><USER3> Google is becoming really frustrating. I am trying to transition off inbox because they are killing it. The performance of the new gmail is miserable though.

<comment><USER4> I know this suggestion has been made a million times here by now, but you should really try a service like Fastmail! A few weeks back I began transitioning my data away from Google, and the performance and overall quality level of Fastmail really blew my mind. It's probably the best and fastest web app I've ever used.

<comment><USER5> Gmail search often doesn't even work for me anymore, I simply can't understand how decisions are made at this company.

Is there a way to migrate all your email and maintain your Gmail address indefinitely?

<comment><USER6> If I remember correctly (maybe four years ago) I just downloaded all my email over IMAP using some desktop client then re-uploaded onto Fastmail. It's a one time hassle but definitely worth it, especially if I had known what I had to do yesterday. I sifted through 10 years worth of email looking for train and plane tickets and hotel bookings etc because I needed to know exactly which dates I crossed which borders .. anyway off topic, a huge pain of course, but an easy task on Fastmail, where as my laptop gets brought to its heels every time I have to open my gmail inbox.

Oh and you can set gmail to forward everything to your Fastmail. You can even have it land in a separate folder to keep it all neat.

Lately I've had issues sending from my gmail account on Fastmail, I think google changed their security practices a while ago..

<comment><USER7> Our migration tools have at times been fragile (I myself tried and failed to migrate from Gmail about a year before I ended up working at FastMail—something about a Gmail security change that broke it), but I believe that they're all working properly at present. We have a guide for migrating from Gmail in our documentation: [https://www.fastmail.com/help/account/gmailimport.html](https://www.fastmail.com/help/account/gmailimport.html). We're planning improvements to the procedures, too, to make it easy to use rather than merely possible!

</comment></comment></comment></comment></comment></comment><comment><USER8> It's interesting how back when programs actually ran on your machine, you could just use an older version. I knew people who never upgraded Winamp. Today we do know this is problematic (due to security updates mostly) but when it comes to web applications we don't have a choice. Don't like the new look, well tough.

If the application has an API (like Reddit) you could write your own or use a better client. I could say that about Gmail/IMAP but their IMAP implementation is shitty and broken.

I moved entirely off gmail to self hosted in 2012 and I'm glad I did so I don't have to deal with their interface. When I need webmail, I've got roundcube and it's still nice and fast.

<comment><USER9> What precisely is shitty and broken about gmail's IMAP implementation?

Gmail's IMAP implementation implements three RFCs I wrote; I haven't noticed anything wrong in those areas. Are my RFCs unusual or am I overlooking something?

<comment><USER10> I'm curious if you've actually used an IMAP client witha Gmail account; if so, which one(s).

A sibling comment has already mentioned the folder/flags mixup issue, but while it sounds like one small feature, that one thing is so fundamentally broken that I really can't see how any user of Gmail IMAP would overlook it.

I get duplicate notifications for the same mail in INBOX and [Gmail]/All Mail and actions on one copy don't affect the other unless clients implement Gmail- specific hacks (which many/most do).

What RFCs are you referring to?

<comment><USER11> I use Mail on OS X. I've never had any problems with Gmail. Folders work fine. I never use flags. Notifications work fine. When I delete a message, it's gone. Sometimes it takes a while for the deletion to propagate from one device to another, but I've never had a message survive deletion long term.

<comment><USER12> IMAP drafts have never worked and still doesn't work. You have to use local drafts as a workaround if you don't want to end up with many drafts for a single mail in progress …

In addition, many Gmail features, especially security-related features, don't work with Mail.app.

<comment><USER11> > if you don't want to end up with many drafts for a single mail in progress

That is absolutely a problem I've had with Mail and Gmail. No idea how I fixed it. Or whether it's been fixed at all. But for some reason, drafts turned up in searches, which made searching through my mail an incredibly painful experience. Search is fine now, though. Maybe I turned IMAP drafts off; I really don't know.

</comment></comment></comment></comment></comment></comment><comment><USER13> I can handle the new design, but on my (albeit underpowered) Chromebook, new Gmail takes ~30 seconds from initial page load to starting a reply to a thread. This is not progress.

<comment><USER14> I have a new MacBook Pro, and while it doesn't take 30 seconds, there's still a ridicules slow load time for Gmail now. If you live in Gmail all day it may be completely fine, but if you just check your emails every now and then during the day, it's pretty frustrating.

You almost get the feeling that something is broken when you load Gmail at this point. The Gmail interface is... fine I suppose, but I'd much prefer a native client. Sadly the best you can hope for these days is Apple Mail, and that's also just "fine".

<comment><USER15> Fastmail web interface is pretty darn snappy

</comment></comment></comment><comment><AUTHOR> I present an Open Source, versioned, linted set of CSS rules for reverting Gmail to the theme that was so forcefully taken away from us. Change is hard, and sometimes change rubs like coarse sandpaper. I wasn't and still am not a fan of the new design, so I put this together after not finding a well-rounded complete solution. And that's what this aims to be. There are surely quirks that haven't been adjusted, and if you see some, please open an Issue (preferably with a screenshot) so this can be improved.

<comment><USER16> Do you have a screenshot?

There's a fair bit of obscure CSS here; how long has it been working for? I would guess the autogenerated class names change from time to time.

<comment><AUTHOR> I've uploaded a screenshot here: [https://imgur.com/VaNpYhq](https://imgur.com/VaNpYhq). And I'll be updating the README in a few with a screenshot.

I've been plugging at this set of CSS for about a month now. And you'd think the classNames would change, but they're nearly identical to the old. Very few changes between the old look and the new. Speculating, I'd say that Google killed the old, classic theme so they didn't have to maintain CSS for new features.

<comment><USER17> Making it a standalone chrome extension might be helpful, then your css changes over time will auto-update.

Edit: I went ahead and made one, did a quick test by loading it unpacked, seems to work. [https://github.com/tyingq/gmail- classic](https://github.com/tyingq/gmail-classic) All yours if you want it.

<comment><USER18> Oh, man, I want this for Firefox.

<comment><USER17> It may just work. The differences in extensions are pretty minor: [https://developer.mozilla.org/en-US/docs/Mozilla/Add- ons/Web...](https://developer.mozilla.org/en-US/docs/Mozilla/Add- ons/WebExtensions/Porting_a_Google_Chrome_extension)

</comment></comment></comment></comment></comment></comment><comment><USER19> To me, Gmail Classic is this original look: [https://techcrunch.com/wp- content/uploads/2010/08/priority1....](https://techcrunch.com/wp- content/uploads/2010/08/priority1.png)

I loved the "Original Classic". Every update since has worsened the look & feel.

When Steve Jobs passed away, the whole software industry took a gigantic step backwards in design. There are lots of great designers in the world (have a look at [https://dribbble.com/](https://dribbble.com/) ) but the people who hire designers often can't tell a great designer from a mediocre one, and that's how we end up with the not-so-great design of the current generation of software, including those from Google and even Apple.

<comment><USER20> Stop it, you're making me nostalgic :(

But you're totally right -- the use of color to clearly separate areas instead of white everywhere? Buttons with clear text instead of inscrutable gray icons? "Compact" lists that show your info instead of a whitespace fetishization?

I miss the old days...

<comment><USER21> Same here! I've never understand the unclear, indistinguishable UI design trend, what a big step backward...

</comment></comment></comment><comment><USER22> I think of "Gmail Classic" as what they call "Basic HTML". [https://support.google.com/mail/answer/15049?ctx=gmail](https://support.google.com/mail/answer/15049?ctx=gmail) (click Basic HTML version of Gmail). I've been using that style for years.

</comment><comment><USER23> My problem isn't with the design, but with the fact that it's blocking every step of the way and being a buggy crap that not even the beta was.

</comment><comment> sim- Has anybody noticed the new Gmail feels way less responsive as well? Composing a new email is affected (just hold down a key with a fast repeat speed and it will not update for long periods), but also the prelight when hovering the mouse over messages an an index is way more chunky than it used to be. "perf top" shows some Chrome functions responsible -- probably something resulting in too much recalculation?

Amusingly, it is way smoother in Firefox. Related, can paste large amounts of data in sheets with Firefox, but Chrome grinds and hits some O(n^2) type of issue after so many rows.

</comment><comment><USER24> I don't have a problem with the new design, it looks pretty much the same as the old one

BUT IT'S SO SLOW

</comment><comment><USER25> Forcing new and slow look forced me to move away from Gmail to private mail and Roundcube, works fine and fast.

</comment><comment><USER26> Impressive. Personally I preferred the version before this, in which Compose wasn't "pay-attention-to-me red".

<comment><USER27> I have a hard time understanding that one.

When I want to compose, I look for a normal button in a normal place. I can't get used to a red button. My mind filters it out, like an ad. I pretty much don't see it. Every time, there is a sort of disoriented and bewildered search to find a compose button.

Was it supposed to have the opposite effect?

</comment></comment><comment><USER28> I'm sure a lot of A/B testing has gone into the changes a lot of others are complaining about.

Given GMail's mix of users, a subset of whom are probably power users that are open to 'discoverable' features, would it not be sensible for GMail to allow an option, an option that a vocal minority of power users do seemingly want, to be selected and allow these users to retain these features they were used to. Adding 3rd party hacks doesn't seem optimal.

A/B testing is like voting: It results in dissatisfaction for an often large proportion of those affected. Using techniques like multivoting that don't result in a single answer for everyone just seems like a better idea given these audiences are sufficiently large enough to support.

</comment><comment><USER29> Now that Inbox is ending, anyone know of other clients with the Pinning and snoozing capability?

<comment><USER30> Gmail now has snoozing, you could probably use stars and filters to get 95% of the way to pinning.

</comment></comment><comment><USER31> Was just implementing some email features on our application and we noticed that what we call "Friendly Reply To" doesn't work in desktop gmail. Setting the Reply-to field to "John Doe <firstname.lastname@example.com>" won't show "John Doe" in the to section when you click reply. It will show "firstname.lastname@example.com". What's odd is that google inbox, and gmail for android and iOS both will show "John Doe".

Bug? Or opinion by Google?

<comment><USER32> Maybe it's more of a security feature? What if phishing emails had a bogus email for the Reply-To name, E.g., "email@example.com <email@example.com>"

<comment><USER31> That was my first thought, but if that's the case, then why is it implemented in the mobile apps?

<comment><USER33> Different people implementing them?

</comment></comment></comment></comment><comment><USER34> I didn't realize how bad the gmail interface has become until I had to help some relatives with their accounts. I use gmail with a client (claws mail, formerly sylpheed) since day one when it was invite only, and never had an issue. That's like 13 years. To me being forced to use the web interface -including the much better old one- would be a huge step backwards; there's simply no contest on what's more powerful and fast to use.

</comment><comment><USER35> Nice I thought about doing something similar, to at least make borders between things stand out better.

Some screenshots in the reader would be nice.

<comment><AUTHOR> I'll have a screenshot up shortly :)

</comment></comment><comment><USER36> this is cool and all but what's the point. it will bit rot soon enough, despite current laudable intentions.

the only way to signal to google that they are making the wrong choice is to stop using the web UI, not to skin it. eg with the recent Chrome signin gaffe lots of people switched to FF and google had to react.

If there were no options I'd be more generous but there are plenty of mail clients one can switch to. plenty.

</comment><comment><USER37> Can we go even further with this CSS? I'm talking like about 2006 without javascript and stuff.

<comment><USER38> Just use Gmail Basic Html mode: [https://mail.google.com/mail/?ui=html&zy=h](https://mail.google.com/mail/?ui=html&zy=h)

</comment></comment><comment><USER39> Thank you for this. Now, all we need is to bring back the View Image button in Google image search.

<comment><USER40> [https://chrome.google.com/webstore/detail/view- image/jpcmhce...](https://chrome.google.com/webstore/detail/view- image/jpcmhcelnjdmblfmjabdeclccemkghjk?hl=en)

<comment><USER39> I have this, but the recent UI refresh broke it.

[https://github.com/bijij/ViewImage/issues/166](https://github.com/bijij/ViewImage/issues/166)

<comment><USER41> My experience is anecdotal of course but what is broken about it for you?

It is working fine for me on Firefox 63.0.3 (64-bit) using ViewImage 2.1

<comment><USER42> Likely you are not on "new UI" yet, just like the dev of this extension.

(Myself don't even know there will be a new UI either.)

<comment><USER41> That makes a lot of sense. I forgot about the A/B testing Google does. Edit: I noticed that Chrome defaults to using the new design even while logged in.

Logged in on Firefox though I'm not seeing the new design . Not sure if that helps anyone having trouble with the extension.

</comment></comment></comment></comment></comment></comment><comment><USER43> Cool!

Naming might be a problem, however. Companies get litigious when you use their trademarks/brand, even when modifying things on the client side.

Slack came after an HN user for using "Slack" in their GitHub repo that hosted a client-side script for Slack.

</comment><comment><USER44> Does google offer sufficient mail API's to be able to write ones own frontend?

If the storage, searching and tagging of mail are all handled by the backend, building the web frontend seems like it could be 'hobby project' sized.

</comment><comment><USER45> The old terminal theme was great. Wish they new one had the same amount of effort put into it.

</comment><comment><USER46> really appreciate this, but i really hoped google would bring the old interface back..new one is so slow and not very user friendly... this is the first time in a very long time I've though...wow i need a different email provider.

</comment><comment><USER47> I migrated to mu offlineimap, emacs and mu4e for my gmail. I'm quite satisfied.

</comment><comment><USER21> Actually I like the UI of the first version of Gmail web better.</comment>


Just-In-Time Scalability - <AUTHOR> http://startuplessonslearned.blogspot.com/2008/09/just-in-time-scalability.html

<comment><USER2> Interesting slides, I like the rocket ship/driving analogy. A few quibbles/clarifications:

From slide 13: "Learning: cross shard joins & transactions aren't required"

Do you mean that there was never a time where you had to do a join or transaction between shards? Would this in turn imply that your data was embarrassingly parallel?

Also, just-in-time here seem like it refers to rapid architecture iterations. I was expecting something ec2/appengine-ish, maybe this is just a problem of terminology overloading.

<comment><AUTHOR> I'm not sure who would be embarrassed if our data did turn out to be that parallel :).

IMVU has a pretty typical data profile for a social network + IM site. We worried all the time that we would have to build a really fancy distributed transaction engine. We started by just doing all of those transactions on the centralized master database. Since we were incrementally moving load off the master as-needed, we just did those tables last.

Turns out, that approach lasted more than three years, much longer than we ever anticipated given the rapid growth we experienced over that period. Of course, we did eventually have to tackle it, which we did by building a "durable message-passing" system.

As for terminology, you're completely right. We started using this term a few years ago, so it wasn't quite as overloaded as it is today. I am sometimes surprised how much more time and energy seems to be given over to thinking about the hardware, as opposed to the architectural, aspects of scaling.

<comment><USER3> How did you handle the autoincrement id problem with distributed databases? Did you replace them with hashes?

<comment><AUTHOR> When absolutely necessary, we would solve this by keeping global (centralized) ID's in an autoincrement table either on the master or on a vertical shard. It didn't come up that often, because most tables (in our app) are really dedicated to one specific entity (ie a customer's inventory items).

</comment></comment></comment></comment><comment><USER3> I really like the solutions that you guys come up with. Instead of complex enterprisey solutions, you came up with simple, smart hacks like adding executable logic as SQL comment.

</comment><comment><AUTHOR> Good point. Sorry about that. I just posted a PDF version, let me know if it works for you:

[http://www.speakeasy.org/~ericries/Just-In- Time%20Scalabilit...](http://www.speakeasy.org/~ericries/Just-In- Time%20Scalability_%20Agile%20Methods%20to%20Support%20Massive%20Growth%20Presentation.pdf)

<comment><USER4> Sweet! Thanks.

</comment></comment><comment><USER4> PPT makes me sad :( I want to read about your JIT scalability, but I'm a lazy linux user!

</comment><comment><USER3> Upload it to slideshare.com</comment>


Ask HN: New developer, feeling overwhelmed - <AUTHOR> I'm a self taught web developer. I've been building websites using mostly PHP and JavaScript for the post 3 years. I recently got a job as a programmer at a large financial institution. I was put on the infrastructure team, and they are using technologies and languages that I have no experience of. Their system is also incredibly complex, and even though I can learn the language, I have very little knowledge of what their systems do and how they do them. My manager had been very supportive, and expects it to take several months before I'm up to speed. I'm currently shadowing different pairs. I ask lots of questions and the team are helpful, but I feel like I'm in over my head. My friend thinks I'm being too harsh on myself and should give it a little longer (I've been here 3 weeks). I don't expect to be off to a running start by now, but I would at least expect to understand enough to contribute.<p>I feel like crying every day and I don't want to go into work anymore. Please help HN <comment><USER2> I would push through if I were you, because I was in the exact same situation only a few months ago.

I had wayyyy less experience than you, and took over most of the work for a react/typescript/node project that was MASSIVE compared to anything I had worked on before (static websites and small Django projects).

I felt like I could cry and started having issues with heartburn for the first month, and even told my boss about 2 weeks in that was not qualified for the job. Thankfully, they told me that they knew that it would take a while, and encouraged me to stick with it.

Even now, 7 months in, there are still so many things I'm learning, but I would really recommend pressing in to the job, (especially if your manager has the wisdom to see that it will take you a while to get up to speed), as after I had been there about 6 weeks things started to make a little more sense.

Also, if it makes you feel any better, the stack overflow survey from 2018 shows that 44% of devs expect a new coworker with 4 years of experience to take one to three months to be productive ([https://insights.stackoverflow.com/survey/2018/#work-how- lon...](https://insights.stackoverflow.com/survey/2018/#work-how-long-do- developers-expect-new-coworkers-to-take-to-be-productive)), so I think you have less to worry about than you think. I'd keep with it until and unless they make you leave!

</comment><comment><USER3> Being stressed in first few weeks a normal response. Still happens to me after 20 years writing software, though not as bad. If you're just three weeks in with very little experience, you may well not be contributing much. That's OK.

Multiple months to be up to speed is not unusual. I was told same thing at one job, 6 months, because of complexity of the domain.

One thing that might help: talk to your manager and say "I'm feeling very stressed about not being able to get anything done, could I also get the occasional small task where I know I can do it and contribute?" If you can feel you're achieving something, and not just getting a firehose of info, you'll feel a little better.

Most of all, though, just stick it through. Being worried and nervous is normal, it's a side-effect of learning new things, and new job and environment makes it even worse.

(Longer version here: [https://codewithoutrules.com/2017/03/05/failing-at- your-new-...](https://codewithoutrules.com/2017/03/05/failing-at-your-new- job/)).

<comment><AUTHOR> Thanks for the reply. It helped, as did your blog post. I'll read them again later and give it some thought.

</comment></comment><comment><USER4> Imposter syndrome is real. I'm educated, have worked professionally in my specific field for four years and I do side-work as an examiner at academy level (something I'm certified for). I'll often feel like I'm not good enough when I join a new project. It's stupid, but it's also a real thing, and it's not always easy to deal with.

Of course there is also being in over your head.

Try to figure out which category you're in. Then ask yourself three questions.

What have you learned during your three weeks?

What do you still need to learn?

How can you achieve that?

Lastly I'd have an open talk with your manager. It's his/her responsibility to get you onboard safely, and maybe it's time to try another approach? It'll help if you have answered the three questions, because they're really the foundation for your way forward.

Disclaimer: I'm Danish, we may do management differently.

<comment><AUTHOR> Thanks. I will read up some more about imposter syndrome.</comment></comment>


Op Amps For Everyone - <AUTHOR> http://focus.ti.com/lit/an/slod006b/slod006b.pdf

<comment><USER2> This title is so much better than "Op Amps for Dummies" would have been. I may not be an expert in a field, but that doesn't make me stupid.

The book itself looks pretty good, too. :)

</comment><comment><USER3> Having spent a lot of time studying op amps at uni (and thus maybe counting as "experienced" in them) can I say: this is a great read.

Op amps are actually reasonably simple but incredibly useful devices in lots of areas. This breaks it down into simple steps - in fact I wish I had had this at the age of 17/18 when I first met the devices :D

</comment><comment><USER4> Keep security issues in mind if/when opening those links to .pdf files.

<http://news.cnet.com/8301-1009_3-10168266-83.html>

it looks like there's an unpatched critical vulnerability in Acrobate reader that even fixes of a couples of days ago don't address.

[http://www.adobe.com/support/security/bulletins/apsb10-07.ht...](http://www.adobe.com/support/security/bulletins/apsb10-07.html)

I wonder if it is much safer to use Preview.app on OS X instead?

<comment><USER5> Remember: There are not PDF vulnerabilities. There are Acrobat vulnerabilities. Just don't install it. Use a safer program to view PDF files.</comment></comment>


Ask HN: Databases and licenses - <AUTHOR>

I have worked many years as an employee developing software projects, and as an employee I never cared about licenses. Now that I have an startup, I would like to know if it is ok for me to use a Community Edition of a database (or other software/libraries), for a project which is not open source (a project for a client, for instance). The most common case would be MySQL, but I'm also looking at databases like VoltDB, MariaDB, Drizzle. I don't know what do licenses such as GPL3 allow and forbid me to do. Perhaps I don't have to worry as long as I don't modify the database source code, and if I do so I must provide source code of my modifications? <comment><USER2> PostgreSQL is in my experience almost always a better choice than MySQL, and has a very permissive (MIT-style) licence.</comment>


Interactive D3 tutorial - <AUTHOR> http://vogievetsky.github.com/IntroD3

<comment><USER2> I just started to look through the slides and they look really cool. However, only on 80% zoom can I actually see the "run" button at the bottom. It would be great if you could fix this :)

</comment><comment><USER3> Methinks these slides go with this here video [http://www.youtube.com/watch?v=RXhucjpsNqA&list=PL44F9AB...](http://www.youtube.com/watch?v=RXhucjpsNqA&list=PL44F9AB47F30B1402&index=2)

</comment><comment><USER4> These slides from this course at Stanford -

<https://graphics.stanford.edu/wikis/cs448b-12-fall/>

There has been some HN discussion on it in the past

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

</comment><comment><USER5> All I get is huge text "D3", "Data Driven Documents", Github repo link and metainfo. Maybe it is broken in Opera?

<comment><USER6> I thought the same at first, but pressing the right arrow on my keyboard moves to the next "slide".

<comment><USER7> There should really be some sort of explanation on this. I thought it was broken too.

</comment></comment></comment><comment><USER8> This could use a little notice to use your arrow keys as navigation.</comment>


Heptapod – Mercurial for Gitlab - <AUTHOR> https://heptapod.net <comment><USER2> Mercurial may not be popular, but the people that love it _really love it_. There was much sadness when Bitbucket discontinued support. Maybe Heptapod is a place those people can go.

<comment><USER3> I wonder if anyone out there has an opinion on whether there is a smaller tool inside of Mercurial waiting to break out, the way Firefox was a renaissance for Mozilla.

<comment><USER4> That seems to imply there's some problem with hg the tool, being big and bloated? In my experience the tool is fine (quite a lot better than git, IMO) - the problem is that distributed version control is all about community, and the community uses git. Mercurial-the-tool would need to be 10x as good to get people to consider leaving git's community, and it's only 2x as good, so they don't.

</comment></comment></comment><comment><USER5> It's nice to see another option for mercurial. Heptapod will definitely help given an integrated CI/CD.

In my startup everything is mercurial. It's miles ahead of git when it comes to user interface and experience with conceptual integrity.

Git is popular due to GitHub, for us we use self-hosted kallithea-scm [1] to provide workflow with pull request and review similar to GitHub. So far didn't see the need to change, it's just that we need to build our own small extension to integrate with CI/CD (here also buildbot [2] is quite nice). Another open source is sourcehut [3].

[1] [https://kallithea-scm.org/](https://kallithea-scm.org/)

[2] [https://buildbot.net/](https://buildbot.net/)

[3] [https://hg.sr.ht](https://hg.sr.ht)

<comment><USER6> Sourcehut is a really well-engineered and well-run project. The architecture is SCM-independent, so Mercurial is not disadvantaged.

The lead developer goes out of his way to support less-popular systems, such as *BSDs and Mercurial, so if you work with more niche technologies, you may find Sourcehut a good home for your projects.

<comment><USER7> Sourcehut is indeed well engineered and well run, and also very opinionated - which is actually great for most people.

However, if the opinions disagree with you -- e.g., if you need your builds to run on Windows, you ARE disadvantaged. Which is not a bad thing - I wholly support Drew's machine and opinions - but that's one of the reason I can't promote it at $MY_DAY_JOB, where I can't drop the Windows requirement.

</comment></comment></comment><comment><USER8> We use this. It's much better then bitbucket. We are a distributed team of about 15ish devs. It has had some growing pains, but the support team is top notch and extremely responsive.

</comment><comment><USER9> It is great to see people using GitLab to continue to use Mercurial now that BitBucket deprecated it [https://bitbucket.org/blog/sunsetting-mercurial- support-in-b...](https://bitbucket.org/blog/sunsetting-mercurial-support-in- bitbucket)

<comment><USER9> They elaborated on their choice for GitLab on [https://octobus.net/blog/2018-09-18-heptapod- announce.html](https://octobus.net/blog/2018-09-18-heptapod-announce.html)

"Gitlab has been one of the fastest growing platforms in the past couple of years. It has a strong feature set praised by many. We have seen all kinds of users switching from Mercurial to Git just to be able to use it. So the quality and the reputation of the product itself made us look into it.

Moreover, Gitlab has an open source version "Gitlab CE", provided under an MIT license. They have a healthy community with significant external open source contribution. It fits with our own open source philosophy and allows us to directly hack on the product core to add support for Mercurial.

Also, other open source communities, Gnome and Debian, picked Gitlab as their tool. Having such serious actors of the free software world trust Gitlab was important in our choice."

</comment></comment><comment><USER10> Can someone enlighten me as to the advantage of sticking with Mercurial? I've tried hg many times and personally found nothing compelling about it compared to git workflows.

Git is ubiquitous, there's no _really_ important feature set that hg offers over git, and it's super trivial to convert repos from hg -> git. So why go through this effort?

Note: I'm not trying to start a flamewar; genuinely curious.

<comment><USER11> It. Just. Works.

The only people who are unhappy with Mercurial are git users. Everyone I know who is coming from something else to Mercurial never have a desire to leave it.

It has a lot (most, really) of the power of Git, but no one has found a need to make an "Oh Shit Hg" site, because it's not trivial to screw up in it.

Because it has a separation between simple and advanced features (many of which are disabled unless you explicitly enable them), you don't get people wasting a lot of time trying to find the ideal workflow in Mercurial. In a sense it's a bit like Perl vs Python. Perl has many ways to do the same thing. Python is more opinionated, and has preferred ways of doing things. As a result, a team of N Mercurial users will usually not have N different workflows. In my current team, there's been a lot of thrash/arguments over the workflow (rebase vs merge, squash vs not, linear vs branched history, history rewriting vs not, etc).

The documentation, though, sucks. It's quite outdated.

<comment><USER12> > you don't get people wasting a lot of time trying to find the ideal workflow > in Mercurial.

Interesting. I'm keen on trying Mercurial, but one thing that has somewhat confused me is the profusion of branch-like workflows. Named branches, bookmarks, now also topics (or whatever it's called), hidden commits etc.

Is there a good definitive guide somewhere on the best workflows for hg?

<comment><USER13> > Is there a good definitive guide somewhere on the best workflows for hg?

I don't know about workflows specifically, but there is a very good reference [0] about Mercurial's branching models. Maybe this will help you.

[0] [https://stevelosh.com/blog/2009/08/a-guide-to-branching- in-m...](https://stevelosh.com/blog/2009/08/a-guide-to-branching-in- mercurial/)

<comment><USER12> Thanks for this. This is fairly old now though, and doesn't even mention bookmarks (which I understand to be like git branches, except they aren't (?) synched between repo copies. Then there's some new stuff that apparently are very good, but I can't find a proper description of how they work / should be used.

<comment><USER11> > This is fairly old now though, and doesn't even mention bookmarks.

What do you mean? It has a section on it:

[https://stevelosh.com/blog/2009/08/a-guide-to-branching- in-m...](https://stevelosh.com/blog/2009/08/a-guide-to-branching-in- mercurial/#s6-branching-with-bookmarks)

(I have not audited to see how accurate the information is, though).

> Then there's some new stuff that apparently are very good, but I can't find > a proper description of how they work / should be used.

Yes - I often wished that someone wrote and maintained an article listing all the extensions that one likely will want to use.[1] One you may want to look into is evolve.

[1] Maybe someone has written this - I haven't checked in the last few years.

<comment><USER12> Ah my bad, missed it, you're right.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> It's your money, it's your time, sure do whatever you want! But it's not where I'd invest my time or money [1].

[1] [https://trends.google.com/trends/explore?date=all&q=%2Fm%2F0...](https://trends.google.com/trends/explore?date=all&q=%2Fm%2F012ct9,%2Fm%2F05vqwg,%2Fm%2F08441_)

<comment><USER15> > Heptapod is a community driven effort to bring Mercurial SCM support to > GitLab™, started by Octobus, a company providing professional services > around Mercurial.

What do search trends have to do with a community effort to bring fully featured open source version control tool support to dev-ops management software? Is your comment aimed at the sponsors?[0]

[0] [https://heptapod.net/pages/sponsors.html#sponsors](https://heptapod.net/pages/sponsors.html#sponsors)</comment></comment>


Coronavirus Conference Gets Canceled Because of Coronavirus - <AUTHOR> https://www.bloomberg.com/news/articles/2020-03-10/coronavirus-conference-gets-canceled-because-of-coronavirus <comment><USER2> Recursion, is that you?

</comment><comment><USER3> Why are we upvoting this? This is not a noteworthy news. HN's top page spot for something else that's insightful is taken up by memes of recursion and entertainment.

Along the same lines - Bloomberg has destroyed its credibility as a source, instead it's looking for clicks. Ever since the motherboard chip hack article, I stopped trusting them.</comment>


How a Low-Level Apple Employee Leaked Some of the iPhone's Most Sensitive Code - <AUTHOR> https://motherboard.vice.com/en_us/article/xw5yd7/how-iphone-iboot-source-code-leaked-on-github <comment><USER2> I love how the original leaker doesn't want to talk to the media citing 'non- disclosure'.</comment>


New German Initiative Pools Ad Media To Take Stakes In Startups  - <AUTHOR> http://eu.techcrunch.com/2011/09/28/new-german-initiative-pools-ad-media-to-take-stakes-in-startups/

<comment><USER2> equity for x deals are pretty much standard, aren't they?</comment>


Google and Popeye the Sailor Man - <AUTHOR> http://www.canuckseo.com/index.php/2009/12/08/google-and-popeye-the-sailor-man/ Today marks the birthday of E.C. Segar, the cartoonist creator of Popeye, that comic cartoon hero from the 1920's and Google has made the pix shown here, come up on our google.ca page as their logo... <comment><AUTHOR> hey...good stuff, JVR!</comment>


Google fixes nearly decade-old Linux kernel TCP bug - <AUTHOR> http://bitsup.blogspot.com/2015/09/thanks-google-tcp-team-for-open-source.html <comment><USER2> I would love to see a characterization of this bug's impact. Reading the description, it doesn't seem to be nearly as serious as the author of this post is making it out to be. But there's no information about how fast the client will step up the transmit rate after a period of quiescence and no data from traffic analysis to determine how frequently real-world servers encounter this condition and the overall effect in terms of dropped packets, increased queue depths, and latency spikes.

(Google are actually in a good position to provide these data; a number of Google's own services will doubtless benefit. I suspect the scale of Google's operations means that even a barely-measurable decrease in latency or queue depth compounds to a big gain pretty quickly.)

<comment><USER3> Strictly speaking, it can't be too bad, since it would immediately stand out if Linux boxes have decreased network performance in a mixed shop. Maybe a few percent in the average case, with maybe some specialized applications more affected.

</comment></comment><comment><USER4> I'm confused by the last sentence:

> _The whole web, including Firefox users, will benefit._

Why is Firefox thrown in here? And the post is even tagged with "firefox". But the contents of the post seems to have absolutely nothing to do with Firefox, except inasmuch as Firefox is an application that interacts with the web.

<comment><USER5> The author works for mozilla, and firefox is a common theme on his blog. I think it's for regular readers of his blog to understand the practical impact (readers he assumes care more than average about firefox).

</comment></comment><comment><USER6> The commit also says "This particularly shows up when slow_start_after_idle is disabled as a dangerous cwnd inflation (1.5 x RTT) after few seconds of idle time." And the slow_start_after_idle sysctl is enabled by default.

The bug fix is in the CUBIC congestion control algorithm, which has been the default in Linux TCP since kernel 2.6.19 (released in November 2007). So impact in distros has been ~ 2008-2015.

</comment><comment><USER7> _Remember that TCP is robust enough that it seems to work anyhow - even at the cost of reduced network throughput in this case._

That to me sounds like this is not really a bug, but a performance enhancement; a bug would be something like corrupted/missing/extra data at the application level. Tuning the TCP algorithms beyond the basics is really more of an art.

<comment><USER8> I thought that too, but then

> that an endpoint that is not moving any traffic cannot use the lack of > errors as information in its feedback loop.

I think the bug is that it was counting something when it should have not been, which would have violated both the design and intent even at the time it was written.

But I agree that code is only a bug if it does not do what was originally intended, if the original design was bad, and the code correctly implemented that bad design, there is no bug.

<comment><USER9> > But I agree that code is only a bug if it does not do what was originally > intended, if the original design was bad, and the code correctly implemented > that bad design, there is no bug.

The frame of reference for determining if something is a bug or not is the requirement specification, not design. If the design incorrectly or inadequately addresses the requirement, that is a bug as well. There isn't much point in rejoicing over the code that correctly implements an incorrect design!

<comment><USER8> I think the frame of reference is the programmer intent. If he/she intended to check for equality but wrote:

        if (x = 42) {

Then that is most certainly a bug.

If a bit of text was supposed to be blue but came out green, maybe because the person writing the requirements doc got it wrong, it is hardly a bug in the code. The code is doing what the programmer intended, even if that is not what the user wanted. That's why the world has moved on from "bug trackers" to "issue trackers".

> There isn't much point in rejoicing over the code that correctly implements > an incorrect design!

And there isn't much point blaming a coder for correctly implementing an incorrect design, especially if the design document is all they have to go on.

<comment><USER9> > I think the frame of reference is the programmer intent.

Sure. However, that is secondary. The sort of mistakes that you mention can be caught during code review or unit testing, completely independently of what the actual user requirement is. This post, evidently, does not involve such a case.

> The code is doing what the programmer intended, even if that is not what the > user wanted.

Your perspective appears to be inside-outward. It may be helpful during a performance appraisal, but does the business no good!

Edit: inside-out --> inside-outward.

<comment><USER10> Could it be that "bug" is defined from an "inside->outward" perspective regardless of whether that is the most useful perspective for the situation?

</comment></comment></comment></comment></comment></comment><comment><USER11> Honest question: How is it that Google is the company that's always doing all of this involved technical work? Or is it just that their work gets publicity?

<comment><USER12> Éric Dumazet (author of the patch) is this highly productive guy working on network latency issues. He helped get CoDel into the kernel, and worked on TCP small queues ([https://lwn.net/Articles/507065/](https://lwn.net/Articles/507065/)) and the fair queue scheduler ([https://lwn.net/Articles/564978/](https://lwn.net/Articles/564978/)). Looking at the email addresses he used, I think he started working on the network stack on his spare time, while employed at SFR, a French telco. He implemented an in-kernel JIT for BPF ([https://lwn.net/Articles/437981/](https://lwn.net/Articles/437981/)), speeding up packet filtering; now that BPF is fast it is also used for performance profiling (filtering and aggregating in kernel) and syscall filtering.

There are of course others working in these areas, but I think Google has been going after them: Van Jacobson is a high-profile example. Dave Taht is still subsiding on ramen though ([https://www.patreon.com/dtaht](https://www.patreon.com/dtaht)).

<comment><USER13> _For the last five years I 've worked myself to the bone, mostly unpaid, to solve the "bufferbloat" problem - first by organizing and leading the team that solved it, and giving away, for free, the ideas and code for anyone to use! And I've spent tons of time later convincing standards organizations like the IETF to make the ideas standard in new equipment - and also open source makers like openwrt to retrofit the fq_codel and cake fixes into millions of older yet upgradable home routers, and helping ISPs, vendors and chipmakers understand the both the need for the fq_codel fixes, and how to implement them. _

wow - thanks for posting about David Taht. someone like Netflix or Google should get him on their payroll.

</comment></comment></comment><comment><USER14> There is a talk [https://www.youtube.com/watch?v=gQsOo_skjzk](https://www.youtube.com/watch?v=gQsOo_skjzk) Where they show there are plenty of similar bugs left in TCP implementations. It's a mess.

<comment><USER15> But less of a mess today than it was 17 days ago.

</comment></comment><comment><USER16> Speaking of Linux kernel network stack enhancements, there's one I'm interested in but not sure where to start.

I was trying to setup ECMP on Ubuntu 14 and found I was constantly getting TCP RST. Turns out after digging into the code I found the path selection algorithm is not a consistent hash of a packet header tuple but rather pseudo- randomly chosen.

In older kernels there was a route cache so a path would be chosen and cached and so you would get a stable ECMP route per source. The route cache was removed so now the random selection runs on every packet leading to unstable routing.

It seems a simple fix of choosing the right hash function and maybe adding some configuration flags to determine which fields are hashes on (typically 5-tuple SrcIP, DstIP, Ip Protocol, TCP Src Port, TCP Dst Port).

But what would be incredibly cool is if my patch could one day possibly even merge to mainline. Is it reasonable to just blast a 'here's what I'm trying' out to netdev mailing list to get some feedback? I must admit I'm a bit intimidated to post...

<comment><USER17> Absolutely go for it! Post it even if you feel uncertain about it, just be clear about that, and about what your patch is trying to achieve, when the unexpected behaviour happens, and try to include a way for others to reproduce/investigate (as simple as possible, perhaps a program that demonstrates the bug). Also be clear about how you feel about whether or not the patch is the right approach and about what you would like list members to do with it (are you looking to confirm that what you're seeing is a real kernel bug, or a misunderstanding, or an application bug, and/or are you looking for help solving the bug/issue you're seeing, and/or are you looking to get it merged, etc). Can you demonstrate/quantify how your patch improves/fixes things, etc.

</comment></comment><comment><USER18> The reason this is good is because older wifi cards supported by iwlwifi get hardware buffer underruns and hangs when said bug occurs together with WPA2 enabled.

<comment><USER19> I'd say that is a reason for why this is bad. If I've got bad hardware I want to know about it and bad hardware should be flushed from the market. Not function "okaish" enough to not annoy users to the point of boycott.

<comment><USER18> Allow me to clarify. "This" means: "The fact that Google fixed a decade old bug", meaning the topic itself. The "this" you use in your comment is entirely different. The above misuse of "this" causes me to be confused, because it allows your comment to be interpreted as if you're promoting the inference of bugs, where older hardware is affected, such that people lose faith in that hardware faster due to frustration, consequently affecting the market causing it relieve itself of older hardware faster. Which is why I'm asking you to clarify your argument.

<comment><USER19> I only commented on the aspect of this bug that benefits crappy hardware. _That_ is bad. Because your comment seemed to imply that the benefits for crappy hardware is _the only_ reason for why this is good.

Which, depending on your viewpoint, can be seen as: the only reason this bug fix is good is because some company can still sell crappy hardware and get away with it.

Then we have the user perspective of course, which is "hey, my device doesn't crash as often" \- which is awesome. But given the context the hardware is still buggy and it will still crash, albeit not as often. Which really isn't much comfort in the long run. Rare hiccups are worse than daily hiccups. Because daily hiccups you learn how to handle, a rare hiccup can really bite you. So you really haven't gained that much anyway, and in the long run the rare hiccup is rare enough for you not knowing who to attribute it to so you might buy the exact same thing next time which of course is very, very, unfortunate.</comment></comment></comment></comment>


Win.sh Opens VSCode Insider Edition Gracefully from WSL2 - <AUTHOR> https://gist.github.com/DavidLiedle/1576f3850b9489b3a65c0bda84c1891f <comment><AUTHOR> I was tired of the default behavior in WSL when invoking VSCode Insider Edition, so I wired this simple shell script up to make it better. MIT license, use with caution, mileage may vary, be excellent to each other, <insert phrase here></comment>


Startup School: Surfing the Wave - <AUTHOR> http://www.gaborcselle.com/blog/2008/04/startup-school-surfing-wave.html <comment><USER2> The most interesting aspect of Greg McAdoo's "wave" talk was that it also required Sam Altman's "How to Get Funded" talk. If you're not careful, you can catch a wave and still end up with nothing.</comment>


Video Game Hall of Fame Adds 'Halo: Combat Evolved,' 3 More - <AUTHOR> https://phys.org/news/2017-05-video-game-hall-fame-halo.html <comment><USER2> Well deserved. I remember when on first got an Xbox w/ Halo: CE--and I was immediately hooked. I have fond memories of the first time I used XBConnect to play CE online over LAN... good times. I also remember getting into Major League Gaming after Halo 2 came out, and was involved with that up until I stopped playing the series after Reach (due to getting married, and then my 360 getting stolen), but man did my childhood include a whole lot of Halo.

Edit: I'm getting all the feels--first time playing on XBC was a 2v2 CTF match on Blood Gulch that ran for _hours_ (srs). I remember the connection got so bad at times that you had to lead 40 feet in-front of a player with the sniper rifle. I also remember sniping somebody out of a moving Warthog while leading in those conditions. Like I said, well freaking deserved.

</comment><comment><USER3> Halo was originally going to launch on the Mac, had Microsoft not bought Bungie to give the Xbox a decent launch title. It is strange to hear this article describe how Halo showed how a console shooter could be as good or better than a PC, when the game might never have reached a console at all.</comment>


SipHash: a fast short-input PRF - <AUTHOR> https://131002.net/siphash/ <comment><USER2> Recently implemented a Ruby C extension for format preserving encryption/decryption pair for unique code generation. From SHA-* family to AES to Siphash ([https://131002.net/siphash/siphash.pdf](https://131002.net/siphash/siphash.pdf)) the wizardry, hoopla and alchemy going on inside basic crypto building blocks and hashing methods is amazing. The only "reasonable" building block appears to be various Feistel networks.

What we're left with is modern cryptanalysis..

Hope the cryptanalysis section of the Siphash home page gets quickly built in. Today's non-security related applications end up making tomorrow's security headline.

<comment><USER3> SipHash's page is missing the recent analysis by Dobraunig et al [1]. The short summary is that it continues to look strong for its use case.

[1] [https://eprint.iacr.org/2014/722](https://eprint.iacr.org/2014/722)

</comment></comment><comment><USER4> Somewhat related, if you're looking for a fast but not secure hash, xxhash seems to be the winner: [https://code.google.com/p/xxhash/](https://code.google.com/p/xxhash/)

It claims up to 13.8 GB/sec on a Core i5.

But SipHash seems to be the function of choice for fast "secure" hashing like for hashtables.

<comment><USER5> Is it as good as a secure hash otherwise for random non-malicious data?

<comment><USER4> It's used as a checksum for LZ4 compression. I'd use it where you'd consider something like CRC. It doesn't claim any security properties like SipHash.

</comment></comment></comment><comment><USER6> I'm always interested in some benchmarks, so I've dug up this:

[https://groups.google.com/forum/#!topic/golang- dev/R2O25Xz11...](https://groups.google.com/forum/#!topic/golang- dev/R2O25Xz11zU)</comment>


Ask HN: Is Cost per Call (CPC) a Reasonable Way of Pricing for a REST SASS? - <AUTHOR>

I'm developing a web service and have the idea of implementing charging for the service using a Cost Per Call (CPC) method, having the customer keep a monetary balance with the service to continue using it.  Does this seem like a reasonable way of charging customers, or would they be more happy with a tiered (based on usage) monthly subscription model?  Pluses and minuses of either pricing model would be greatly appreciated. <comment><USER2> I think most customers would prefer to know that this is going to cost me $99/month till I hit a certain level of XYZ and that you will contact them when they approach that level to move up to the next plan.

Plus for your benefit I think you'll make more money off the tiered plan (depending on the service you are offering).

While everyone wants highly engaged customers who are getting maximum value out of your service I think you could have months where a user just doesn't log in to view their data that often, it's still there, still providing value but they might only login and review once per month.

Are you going to charge them $99/view?

On the flip side you might have users who login 4 times per day so they are both getting value but costs would be very low vs. very high.

I think tiered plans work better.

Take this feedback with a grain of salt as it may depend on your service/offering.

But for most SaaS I'd rather see as tiered as both a user and the owner of the SaaS app.

<comment><AUTHOR> The system I'm developing is a message passing system, so I've looked mostly at PubNub's pricing model to get the idea for a tiered system. Mine is going to be a lot smaller at the start and it's only me running it so I'm looking at the least hassle and maintenance for collecting fees.

<comment><USER3> So what are the competitors?

A really simple message passing system is [http://aws.amazon.com/sqs/pricing/](http://aws.amazon.com/sqs/pricing/)

first million free, then 50 cents per million after that. I suspect you will do something fancier and cost more...

Personally when I look at services like this, I look for 2 things.

1) Free tier. Not time based, but volume based. If some prototype takes me 3 months to write, I don't want to run out of a free demo 2 weeks in.

2) Does pricing scale in a sane way? Or does it go free... free... free... $5,000 a month! If I see an insane price scale, I will also avoid something. I always price something vs doing it myself.. and for a smaller app, I could never afford 5k so why even mess with the product.

<comment><AUTHOR> Thanks for the info. I've done some research on competitors and I'm trying to find the correct pricing vs my costs for the system. This is my first web service so I'm really just trying to figure out all the details on something simple that I haven't seen provided yet and go from there. Hopefully some people will find it useful, but I realize I have to keep my pricing in check but my costs in balance.

</comment></comment></comment></comment><comment><USER4> I'll be looking at pricing too soon for my business, which has to do with processing PDFs. I'm thinking N cents per PDF, or N dollars per month unlimited.

I've set an HNWatcher [1] for anything pricing related (which is how I found this post), so I'm really just trying to learn as much as I can right now.

[1] [https://www.hnwatcher.com/](https://www.hnwatcher.com/)

</comment><comment><USER5> CPC doesn't model your customers cost / revenues well. They'll want to tie the software cost to a person or business cost or revenue, such as $50 per seat, or $1 per customer they have.</comment>


Remember the Skittles.com Experiment? Here are the results. - <AUTHOR> http://siteanalytics.compete.com/skittles.com/?metric=uv

<comment><USER2> Well, duh.

Do something weird with your website, especially involving something as viral- able as Twitter, and your page views go way up. But, as far as I know, Skittles does not make its money off of page views.

This isn't even granular enough to show if it's been going up even after the initial web talk about it or if it's on its way back down or even if that's right after they did it.

The true "results" would be sales data.

<comment><USER3> Everything you say is true but you do have to admire the simple brillance of the whole thing.

They basically outsourced 99% of their web page under the guise of "embracing Social Networking" and got all kinds of attention and praise for it.

I don't know how much that little flash overlay cost them to make but I'm betting they got at least 1,000 times the marketing value out of it.

<comment><USER4> No, it's not all that admirable. It's nice, but I see nothing to "admire" there. And I don't think it's "brilliant" either.

It's easy to get eyeballs. Microsoft could get a million visitors right now by replacing their homepage with a black screen with a smiley in the middle. The question is, do they benefit from these eyeballs? I don't see that Skittles will.

<comment><USER5> "The question is, do they benefit from these eyeballs?"

This was essentially the theme in Branding is for Cattle, an interesting book, which examines the idea of getting "known", and what leads people to take the next step where a business actually profits.

</comment></comment></comment></comment><comment><USER6> Now if we could only see how many skittles they sold because of this?

</comment><comment><USER7> Obviously brilliant-- but more in a kinda gritty 'only works once' way. Like the reaction I had when I first saw the million dollar home page: A little ill, but mostly just mad I didn't think of it first.

</comment><comment><USER8> This is phony. The real question is what the traffic looks like next month. I'd say it's likely it'll drop right back down to what it was.

</comment><comment><USER9> I just wish they sold the rainbow here in Brussels :-(

</comment><comment><USER10> <http://skittles.com/chatter.htm>

Skittles nailed it. They embraced social media and that is going to start a trend from here. I'm glad our startup is going to be venturing into this space.

<comment><USER11> After the last 3 years, the one thing I've come to despise more then the phrase "web 2.0" is "social media consultant".

I'm all for companies adopting new tools and being transparent. But the amount of hyperbole used to communicate technical advancements to mainstream companies bothers me.

<comment><USER12> "Social media consultants" are the snake oil salesmen of Twitter. I try to avoid it, but there's so damn many of them.

Also, recently I've been noticing a bunch of people peddling MLM and other get-rich-quick schemes. It's quite annoying.</comment></comment></comment>


How A Missing Favicon Broke My App for Chrome Users - <AUTHOR> http://allinthehead.com/retro/359/a-favicon-broke-my-app

<comment><USER2> So, the components at play here:

1\. Users are assigned a session cookie when they land on a PHP page. A CSRF token is associated with a session when users visit the login page.

2\. Favicon requests were going to PHP instead of a static resource. Normally that's fine, since PHP will see the cookie.

3\. But since the request looked like it was for a static resource, Varnish stripped the cookies before passing it back to Apache/PHP. That meant PHP issued a new session that replaced the old one.

All in all, a very tricky interaction between technologies (especially since Chrome didn't display the favicon request).

<comment><USER3> If Varnish strips cookies from all static resources, then simply embedding an <img> tag that points to a nonexisting image on the page should be able to destroy your session too, no? Sounds like a very dangerous setup.

<comment><AUTHOR> Not a dangerous setup as much as a misconfigured one with dangerous side effects.

The problem is easily resolved by having Apache respond with a 404 to any requests for non-existant static resources. Which is of course what it should be doing in the first place.

<comment><USER4> If you have bad links, and this PHP scheme, then Google will probably flag you for duplicate content issues too.

</comment></comment></comment></comment><comment><USER5> Not actually Chrome's fault here. But it's a great example of the idea that no issue is caused by a single thing going wrong - it's a few things going wrong at the same time that causes the most problems.

<comment><USER6> Chrome's behaviour may mimic other browsers, but they're all perpetuating a bad practice by guessing at the existence of a resource, instead of following explicit URLs in the page source. A client shouldn't request a favicon unless it sees something like this in the head section:

      <link rel="shortcut icon" href="/path/to/favicon.ico" />

The same goes for robots.txt, sitemap.xml, crossdomain.xml, apple-touch- icon.png (really?) and all the other poorly conceived ideas that fill web server logs with unnecessary 404 errors.

<comment><USER7> Just to play devil's advocate, but I like this practice. Convention over configuration. Just place the favicon in the root directory of the site, give it an explicit URL if you need one.

Of course, many people end up putting an explicit reference in anyway, so, eh. Probably not that helpful.

The 404 errors in particular seem like a very Machiavellian way to get sites to support your browser's features. You have to wonder how many people add in a favicon or iTouch icon just to shut up the errors up.

<comment><USER8> Maybe I'm being pedantic, but the HTML reference to the favicon _is_ the convention. I personally roll my eyes when I deploy something and see tons of 404s in my log for favicons that I've not made available or suggested that browsers attempt to load.

<comment><USER4> > _HTML reference to the favicon is the convention_ //

No, the convention is that a favicon.ico file is found in the root of the site and that you can instead locate an icon by supplying a URL. Sucks as a convention.

Interestingly Google on their search homepage (for me at least) are using a microdata markup and not serving an explicit icon:

<meta itemprop="image" content="/images/google_favicon_128.png">

See eg <http://dev.w3.org/html5/md/#names:-the-itemprop-attribute>

</comment></comment></comment></comment></comment><comment><USER9> There is an open bug report for favicon requests not showing up in the network tab.

<http://code.google.com/p/chromium/issues/detail?id=110449>

</comment><comment><USER10> So, why did it only break Chrome?

<comment><AUTHOR> I think Chrome is more insistent in trying to fetch resources. I don't know for sure, but I think it's likely that other browsers also failed, but only occasionally.

Firefox, for example, quickly gives up if it can't fetch a resource, and so would fail but then work a second time. A glitch like that could easily be overlooked as a mis-click or network error.

</comment></comment><comment><USER11> This is some impressive detective work. Especially considering how common the "redirect all wrong URLs to index/search" behavior is.

<comment><USER12> There is nothing wrong about redirecting a missing page to a known index or search page. It's only if you decide to also return a 200 OK message with the request that you are breaking the web. 404s can have valid content, you don't have to blackhole your user into nothingness. At the same time, your 404 page shouldn't change the state of your application's transaction either (like generating a new session ID).</comment></comment>


Why Plan 9? (2001) - <AUTHOR> http://marc.info/?l=9fans&m=111558822710356&w=2 <comment><USER2> Incidentally, the Raspberry Pi image was recently updated and has better multi-core support. Pretty nice for a near-instant boot terminal, although the non-UNIXness of it becomes a little bit grating when trying to remember how to SSH in a hurry.

(On mobile, so I'll add the link later, but [http://taoofmac.com/space/os/Plan9](http://taoofmac.com/space/os/Plan9) has my notes)

<comment><USER3> More on Raspberry Pi port in case others are interested. Raspberry Pi port is interesting, because it allows us to run plan9 on native hardware (access keyboard, mouse, video and probably audio - haven't checked). It doesn't matter that there isn't much power in it, because plan9 is designed to be distributed. Once you have a terminal, you can set up a cpu server and file server to run under a linux hypervisor in the same network.

You can think of a cpu server as being similar to this scenario: you ssh to a fast box, and run an app on that remote machine. However, due to the elegance of the plan9 architecture, instead of having the app run in the terminal window or over a laborious x-windows protocol, it writes quickly over the network to the window that you invoked the command from.

Unlike the unix experience, cross-compiling is trivial in this environment. Hence, it's fine to run varying architectures in the same system. Setting up a Raspberry Pi terminal is easy and cheap.

Some might ask - why? My motive: I see it as a different approach to software development. Instead of bolting monolithic systems together, I'll be able to implement platforms as devices that are exposed over 9p. Consider how much easier it is to do init for multi-host applications. Convential unix approach is and ugly spaghetti of scripts+ssh. In this design, just mount the apps and script them from one host. The network becomes transparent: you just script against devices.

<comment><USER4> > However, due to the elegance of the plan9 architecture, instead of having > the app run in the terminal window or over a laborious x-windows protocol, > it writes quickly over the network to the window that you invoked the > command from.

I don't understand the distinction you are trying to make with the phrsase "quickly over the network". SSH and networked X aren't exactly slow. The latter can be a slug with a bad network, but I recently had to do something kind of fringe and ended up running firefox over wifi with ssh -Y, and it was usable.

You can argue that protocols, implementation, API, etc. are better with plan9 (consistent with claims I heard before) but I don't totally understand how that would necessarily translate into performance (if anything I would expect things used by more people over more time would be better tuned).

<comment><USER5> Oh, God. Are you serious? Listen try sitting in Texas some time and opening a X application even over a compressed SSH link from Delaware. It literally takes minutes for a splash screen to paint. And using applications are nearly impossible due to interaction lag. You're better off using a VMware console, RDP heck even Citrix which at one time was itself supposedly X based.

X is simply awful over the WAN, trust me. Please note: I'm not talking about an essentially text-only experience like xterm, which works fine. I mean actually using X as a graphical client.

<comment><USER6> The problem there is not so much X, as software devs not using X but instead just painting everything into "image" that is then dumped into X. This means you are effectively looking at what amounts of a VNC session, without the benefit of compression.

There are at least one X extension out there that offer compression for long distance connections. But for some reason they never really took off.

<comment><USER5> I did mention compression of the X session itself by way of compressing the SSH tunnel. The problems run deeper than "software devs just painting everthing into image". X itself has a mix of synchronous and asynchronous calls that are very sensitive to latency. XCB instead Xlib and use of LBX can help but do not eliminate the performance issues with X Window.

See [http://keithp.com/~keithp/talks/usenix2003/html/net.html](http://keithp.com/~keithp/talks/usenix2003/html/net.html) and [http://vis.lbl.gov/Events/SC08/RemoteX/index.html](http://vis.lbl.gov/Events/SC08/RemoteX/index.html) for more details.

As it relates to the original topic I'd be interested to see real-world performance comparisons between Plan 9 and X because as the papers state X stinks on ice over the WAN.

</comment></comment></comment></comment></comment></comment><comment><USER7> _> Finally, Plan 9 fits well with a networked environment. Since files or directory trees can be imported from other machines, and all resources are files or directory trees, it's easy to share resources. Want to use a different machine's sound card? Import its /dev/audio. Want to debug processes that run on another machine? Import its /proc. Want to use a network interface on another machine? Import its /net. And so on._

Does this kind of abstraction actually work well? Networks are generally quite unreliable so does it really work well to treat everything as files even when the latency can be so different depending on if the resource is local or remote? Do the plan9 APIs make it natural to write code that deals well with random blocking when reading/writing to files?

<comment><USER8> The 9P protocol is designed to deal with arbitrary blocking, as synthetic filesystems commonly block reads until some data is present. There are also automatic reconnection proxies (aan), and when a mountpoint is entirely unresponsive (lost connectivity), you can just unmount it. The pending calls will all fail gracefully.

The abstraction works well. The main issue is when you lose access to your root device. Just like if you booted a Linux machine from NFS, the root disk connection must be stable (how do you unmount without being able to read the binary). All other mounts can be arbitrarily flakey.

<comment><USER9> > how do you unmount without being able to read the binary

We have enough RAM now that there's no reason (even on embedded devices!) to ever unload the initrd/initramfs. An OS should be able to be configured such that you can unmount your rootfs whenever you like, and just automatically be de-pivot-root'ed and end up back in your initramfs, where you can mount the rootfs again.

<comment><USER8> What's your definition of embedded? It's not embedded if you're running a full blown OS on a regular ARM chip.

Anyway, you could make a ramdisk, put things in it and put it in your path. I doubt that a linux box will survive a dead root without hardcore sysadm skills, but it should work on plan9. Initrd is not meant to stay behind after boot, though.

</comment></comment></comment></comment><comment><USER10> I found that the web browser that comes with Inferno, which is a very interesting variant (not a distribution) of Plan9, is quite a bit better than the one found in the "original" Plan9. Inferno is amazing in its own right and is worth having a look at.

<comment><USER11> I've never really understood Inferno. Sometimes it is described as something you run from a browse and others as a standalone OS. Which is it?

<comment><USER12> The userspace is compiled to something kind of like Java byte code, that runs in a VM. A hardware kernel exists that provides this VM, but it also has implementations that run in userspace on the big three OSes.

</comment></comment></comment><comment><USER13> [http://harvey-os.org/news/#clang-intel-c-compiler-apex- and-z...](http://harvey-os.org/news/#clang-intel-c-compiler-apex-and-zfs)

</comment><comment><USER14> Some may find the plain text version easier to read:

[https://marc.info/?l=9fans&m=111558822710356&q=raw](https://marc.info/?l=9fans&m=111558822710356&q=raw)

</comment><comment><USER13> It's great terminal emulation doesn't exist in Plan9, but with that you lose 99% of terminal application functionality, especially curses.

<comment><USER15> People tend to conflate the concept of text based interfaces with terminals and curses but it's possible to have text interfaces without curses. Most plan 9 applications have text interfaces but do not use terminals.

<comment><USER13> What's the curses equivalent?

For what it's worth, anything that does more than just print to stdout breaks in 9term.

<comment><USER15> Windows in plan 9 are images that are drawn to. There are libraries for drawing fonts and various shapes.

Another thing that get conflated with text interfaces is keyboard control. For whatever reason the plan 9 developers were very adverse to this and preferred mouse based interaction.

Anyway plan 9 is interesting because of how it's different. If you're approaching it asking "Where's emacs and vim?" or "Why can't I get my shell history by pressing up?" you're probably not getting the full value out of it. Part of the problem is probably that it's close enough to unix to make people put unix expectations on it.

Here's a video about acme, a programmer's interface for plan 9.

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

Check out these man pages. [http://plan9.bell- labs.com/magic/man2html/2/window](http://plan9.bell- labs.com/magic/man2html/2/window) [http://plan9.bell- labs.com/magic/man2html/2/graphics](http://plan9.bell- labs.com/magic/man2html/2/graphics) [http://plan9.bell- labs.com/magic/man2html/2/draw](http://plan9.bell- labs.com/magic/man2html/2/draw)

<comment><USER13> Thanks for the long reply, though I must admit I'm aware of all that. I was hoping for some surprise information.

Your comment of it seeming like Unix might be the key point to take away. I know that I'm supposed to search in the buffer for history and use the mouse to select and rerun it, but having tried it multiple times, I cannot get comfortable with a mutable terminal buffer. That's also why in Emacs I only use term and not the editable terminals. Maybe one day I'll get comfortable.

</comment></comment></comment></comment></comment><comment><USER16> Is there a usable version of plan9 we can install?

<comment><USER3> Couple of options: Raspberry Pi, or virtualisation.

9front say to avoid virtualbox, but it works. Here's a tutorial, [https://www.youtube.com/watch?v=n5XAhsHyqow](https://www.youtube.com/watch?v=n5XAhsHyqow)

<comment><USER17> Qemu is a thousand times better if your OS has KVM support. Especially for running terminals since the only files you'll need are plan9.ini (a short text file) and 9pcf (the terminal kernel). You don't even have to set up a disk image, it just mounts root from your file server and you have everything ready to go!</comment></comment></comment>


MIT researchers are now 3D printing glass - sahin-boydas https://techcrunch.com/2018/12/31/mit-researchers-are-now-3d-printing-glass/ <comment> sahin-boydas [https://www.liebertpub.com/doi/full/10.1089/3dp.2018.0157](https://www.liebertpub.com/doi/full/10.1089/3dp.2018.0157)</comment>


Yelp Let's Users Personalize Their Home Page and Search Results - <AUTHOR> https://techcrunch.com/2019/08/27/yelp-personalization/ <comment> cde-v Yelp can go fuck itself.</comment>


Show HN: Taskfriend – A platform to build a local sharing economy - <AUTHOR> http://www.taskfriend.com

<comment><AUTHOR> Taskfriend is built on the idea that people are social beings and that because everyone is great at something different, anything is possible when they come together. We created a marketplace that is open for people to post freely in order to create social collaboration but secure so that people don't have to worry about the quality of the content or the legitimacy of the person posting it. Unlike other collaborative marketplaces, we don't do background check on users or use algorithms to connect people. Instead, we require payment verification through Braintree Gateway before you can post to provide a simple way to pay for your transactions and to create a secure marketplace where users cannot remain completely anonymous.

By allowing users to differentiate themselves through their profile, people can use their best judgment given the known variables for their scenario. Essentially, we wanted to modernize classified listings by making it more social, simple, and secure. Taskfriend earns a 10% fee only when you earn money(so if you make $50 on a task or service, $45 is deposited directly into your bank account and Taskfriend earns $5). We try to offer users a lot of value for this fee and we will be constantly developing the website to add more functions to provide users more value.

We are currently in open beta to acquire our first users and to test out the first iteration and improve on it moving forward. Any feedback is greatly appreciated and I'm looking forward to hearing your thoughts. Feel free to post or email me any questions/feedback as you have my personal guarantee that I will reply to every single one. And most importantly, I hope you like it.

Kevin</comment>