2. Go through significant organizational changes that end up with the departure of a co-founder (and more suits in the building).
3. Notice that a significant segment of your growth (VC-funded startups) are running out of money.
4. Switch to a user-based pricing to generate more revenue for investors, but spin it as a freebie "Hey! Look at the cool unlimited shit! No, no! Don't pay attention to the fact you're gonna be charged 3 times as much as before for the same service".
The bottom line is that GitHub is free to do whatever the heck they want; if they believe that charging per user is going to make more (financial) sense to them, then they can go ahead and do it.
But I'd appreciate if their PR department didn't expect us to swallow this as a positive change. Most coders understand basic maths.
Team | Cost Before | Cost Now
1 repo, 5 users | $25 | $25
1 repo, 10 users | $25 | $70
11 repos, 5 users | $50 | $25
11 repos, 10 users | $50 | $70
5 repos, 50 users | $25 | $430
50 repos, 5 users | $100 | $25
50 repos, 50 users | $100 | $430
I'm not sure how common are organizations with few users and large number of repose - I guess software houses that keep old projects (for maintenance and future requests from clients) fall into this category, but who else?
The other case where it becomes cheaper is personal accounts.
In all the other cases - it just looks like a raise of prices.
1. penalizes OpenSource organizations that need a few private repos for password, server configuration or other things. Was 25$ before, now for example Doctrine with 48 collaborators it would be 394$. Even if just the admins have access to that repository.
2. penalizes collaboration, inviting every non-technical person in the company? 2-5 employees of the customer? not really. Will lead organizations to create a single "non-technical" user that everyone can use to comment on stuff. not to mention bots, especially since you need users for servers in more complex deployment scenarios.
3. rewards having many repos, small throw away stuff and generally will lead to "messy" repositories lying around everywhere that are committed on once or twice and never touched again. "Not having to think about another private repository", imho will produce technical debt for organizations.
4. users in many private orgs will need to pay or get paid for every organization each. I myself will be worth 45$ now for Github, being in private repositories of five different companies.
All in all, this just shows that Github does not care as much about open source anymore as it cares about Enterprise.
Btw: Mentioning the price jumps in repository usage of the old pricing is not really helpful. Consider a pricing that would be per repository (1$ for personal, 2$ for organizations) and doesnt have jumps and compare that to the new per using pricing. The new pricing only feels better for some, because you pay marginal costs for every single user instead of the old pricing where every 50 repositories you have to suddenly pay 100$ extra.
Edit: Forgot about bots, and deployment machine users (which even Github recommends for many scenarios)
For independent use it seems like a very positive change, in fact I'm guessing it's a direct challenge to GitLab. I was considering moving my stuff to GitLab simply because I'm tired of bundling experiments/prototypes into umbrella repos just to stay under the 10 repo limit at GitHub. For people like me this will be awesome, and I take it as a good sign that they're responding to the competition.
One thing I don't get however: how do they count shared access to private repos?
If I have a private repo and you have a private repo, and we each grant access to the other's repo so we can collaborate, do we now have two or four billing units?
They say "you can even invite a few collaborators" -- but how are you billed if it's more than a "few?"
I don't mind if they try to close the loophole of making up an "organization" out of a lot of "individual developers" but it seems a little vague.
With their 2 private UnrealEngine and UnrealTournament repos they would have been paying $25 a month and under the new pricing structure will have to pay $815,913 per month...
edit: That's based on what I can see as a UE4 subscriber, 2 private repos and 90657 users.
This will affect enterprises - but then they're either already on Github Enterprise or are used to per user pricing anyway. Google Apps, Slack etc all have (quantitavely similar) per user pricing. Google doesn't charge you based on the number of emails you send, nor does Slack charge based on the number of private rooms there are - that would be dumb.
The band of companies between small shops and enterprises are likely to be affected, but then this is really employee lunch money.
I'm glad there's at least a year that we can keep using the old plans.
I slo wonder if charging per user rather than per repo will also discourage the creation of open-source repos from orgs? There's no longer a (reduced) cost benefit after all, even if that was a minor influence compared with the other benefits of open-sourcing your code.
(If you were an organization with few private repositories and large number of users, Github was earlier more affordable.)
Now each user for the private repo has a significant cost (pretty significant for a non-profit community radio station); looks like we'll have to rethink this whole Github thing.
One-size-fits-all never fits all. Getting rid of tiers is nave and misguided. Even if just for anchoring and the illusion of choice in face of terrible choices, tiers are a necessity. Sales will suffer, customer satisfaction will suffer.
I don't care if existing private customers pay the same or less. The price points should have been retained, and customers let to switch to a lower tier if they wished. Capturing consumer surplus leads to increased revenue. Github needs that money; the more money they throw away foolishly, the closer they are to bankruptcy.
"Starting today"?! At least current developer plans have been grandfathered in, with a 12-month notice period. Still, if an org has been in the process of planning a move to Github, they will have to re-evaluate.
Github has been such a great platform. A major stumble like this, I'm worried they may not be with us for much longer.
I always framed the "Github vs Bitbucket" as an "agile vs enterprise" mentality -- BitBucket made you think hard about adding new people, and air on the side of limiting access -- ie. conceal by default. That's perfect for enterprise, but the worst fucking incentive ever for an org that wants to make as many projects as possible accessible to all company members. GitHub (in times past), removed this cognitive burden of thinking "does this person /really/ need access....?" -- ie. transparent by default.
But now they've fucked up.
I was always in favour of avoiding self-hosting when there was a great hosted service like GitHub available. But I would now never advise any company that I cared about to use GitHub. It will contort and twist the openness you wish to imbue in your growing company
To me, it looks like they're just "optimizing" their pricing, as I would guess that most large organizations using Github have significantly more users than repositories, especially with the recent trend towards "mono-repositories".
That said, SaaS pricing is really hard to get right from the beginning. I run a code analysis company (https://www.quantifiedcode.com) and we thought a lot about which kind of pricing would be the best for us and our users (we decided to use per-repo pricing). In the end, your pricing needs to support your business model, so it's normal to change it especially if you have a lot of data on how your users use your product.
I wonder though if this will drive organizations to other solutions like Gitlab or Bitbucket, as those are significantly cheaper and pretty easy to set up these days (and you get the extra benefit of a self-hosted solution that can be hosted in your own, secure infrastructure)
Other than that it sounds like a great improvement, it'll make it a lot more likely that I'll pay for GitHub when I'm not a student anymore.
/edit: https://github.com/pricing makes it sound like this is for free student plans as well
For bigger organizations, this is practically no money compared to other software they're using. So they'll just take the hit.
Sounds like the only customers being lost were those using github for no-commit users. Is that really a huge segment? If so they just need a special account status to fix this.
I think the question is why this took so long.
Gogs has mirror functionality where you could self-host access for those users in a fairly painless way. Screenshot of import screen: http://i.imgur.com/J4vWCIB.png
More on gogs here: https://github.com/gogits/gogs
(no association with gogs, just thought it might be helpful)
Seems bizarre to me. The "enterprise" market they're chasing are largely Atlassian customers already, and Bitbucket has a competitive edge there with its JIRA integration. GitHub's distinguishing characteristic was a different pricing model, that for some organizations makes more sense than Atlassian's does.
If they start competing apples-to-apples, but at 9x the cost, why would any enterprise use GitHub unless they have a hipster CIO/CTO who just thinks it's a "cooler" brand?
We have used the on premise community edition for about 3 years now. I first installed it when you had to run about a billion commands manually and it was great even then. Now you can install it with an apt-get and a few lines.
Lets not forget about the obvious negatives of Github (ignoring pricing).
1) Its hosted which means it can go down2) It is closed source3) Feature based is quite small (compared to Gitlab)
Gitlab is a regular release cycle, once a month which always comes with new features.
I personally think it is a no brainer.
I really hope the old plans stay around as long as possible.
Also, consider external collaborators that are part of multiple organizations: Github will now receive the $9/month per external collaborator and organization they are in. That's one hell of a deal for github.
I know, I know "everyone is familiar with github". If your developers can't function without GitHub specifically, you have a bigger problem than the new GitHub pricing.
How does everyone else create credentials that CI can use to checkout code?
The 5 private repositories was a bit grating and making me considering a move elsewhere. I was going to have to consider changing how I stored/structured my projects in order to stay under what seemed to me to a relatively arbitrary limit, which interfered with some of my automated tools and how I'd set them up to assume a separate repository for each project.
I realise there are a number of bigger organisations for whom this realistically means a hike in prices, and I'm winning relative to their losing, but as someone who wants to keep advantages to the little guys (that's the genuinely little guys, not a bunch of 50-100 guys bankrolled by several SV millionaires/billionaires)...well, I feel its my duty to weigh in with positive feedback against what is probably going to be some negativity from the bigger guys...
Unfortunately, it doesn't appear that this follows that model. They're open to feedback: https://github.com/contact
One downside of this change is if you have a private Github org, you are now incentivized not to add advisors/randoms to your org/repos. I wonder how much scurrying Github sees to remove errant users from orgs.
But it's not about just the money, it's about incentives.
- We have large amounts of open-source code, so we were encouraged to open-source more to avoid jumping to the next tier.
- We're going to probably close access to a bunch of code to a big chunk of our organization. We have hundreds of humans. Whereas before we would give them permissions to view as a default and hope they look at our code one day or at least know that they can, or sometimes would get a link to look at a change from a discussion, we'll now have to have to see whether it's worth 9x100s of people every month.
I am not complaining, Github provides excellent service. Seems worth it at 5K$ a year and probably 10K$ a year, too. I wish it didn't just double though and was more gradual.
GitHub vs BitBucket was always about :
1) 3rd party integrations ( CircleCI - e.g. ) - sadly bitbucket is behind that.
2) Issue management. Bitbucket's default behavior doesn't support labels or any other way of managing the issues structure.
Now, honestly CircleCI + GitHub for 7$ is just extremely cheap. ( talking solo devs / small teams ).
Although I can very much see how it could go the other way.
Not to mention, they should have made you pay only for users with commit rights!
Github had leaks coming out about how 'white men' aren't suitable to solve GH's business problems, why should I want to associate with an organization that discriminates people based on the color of their skin rather than by the contents of their code?
I'm glad that they are offering this, I think their customers will put this offering to good use, but it doesn't convince me.
AWS CodeCommit costs:
$1 per active user per monthFor every active user, your account receives for that month:
10 GB-month of storage
2,000 Git requests
And the 1 year free tier is:
5 active users50 GB-month of storage10,000 Git requests
We have essentially 2 classes of GitHub user on our organisation - developers, and non-developers. While our devs use GitHub all the time (and therefore are worth the $25 a month for the development team), our other users might edit a specific few config files, or jobs pages (for example) once a month - paying $9/month each seems quite overpriced.
We want to be an open company, one that doesn't keep secrets from employees, one that doesn't create unnecessary barriers to productivity, or have unnecessary process, so giving GitHub access to everyone in the company who wants it is important to us - this stops us from reasonably doing this. As a result, we likely won't be switching to the new pricing structure for as long as possible, which is a shame, because it would be nice to not have to think about private repos.
I am not sure why people would like stuff to be priced per repo. It is a fairly unintuitive model for me and is a huge problem when you need to go an explain to the finance team that you need to spend more because you "created more repos"... say wut? Spending per user is a very clean way of pricing.
If this is going to be enforced, we'll need to decide between cutting away users from the org or moving to a different platform.
I already pay $7 a month for my own personal Github account, and for me personally it's nice to have no limit.
But if we switch to the new model at work then not only am I paying my $7, but my company will have to pay an additional $9p/m for me to have access to the repos I use daily for work.
Even if they removed me from the organisation and added me as a collaborator this will be an additional cost.
They can spin it how they like but I suspect for a large number of organisations they are going to see quite an increase in cost from using Github.
I use GH for my open source projects and code examples for my books and I use Bitbucket (which is also a great service) for my private repos. I have always felt somewhat guilty with this setup, working both companies for free services.
$9/user/month for one of the best and easy-to-use platforms to store and manage your repos and help your software development, which for most companies is extremely important to their product.
Slack is $8/user/month and yet people have no problem with that pricing. Git is also extremely portable and easy to move and takes minutes to self-host so what's the problem here?
I also had an organization a/c (only 1 user) at $9/month. I switched to the $25/month, so yes, its now costing me more.
I understand math. Why not just give me $5/user? :)
I've been using GitHub for a few years now to host private and public repos and paid private repos was always a point of contention. Now that they are unlimited, I can say that GitHub is definitely going to be the home to all of my future projects. I really feel like GitHub has been kicking it up a notch in 2016. Awesome work team and thanks!
And for those who have issues with the organizational changes, did you see?
> I am an existing organization customer and prefer the per-repository plans. Can I remain on my current plan?
> Yes, you can choose to continue paying based on the number of repositories you use. You can also upgrade or downgrade in the legacy repository structure based on the number of repositories you need.
The per user pricing is pretty reasonable but only when you think of seeders (publishers/editors/pushers call them as you like).
For instance I would love to subscribe to a BI cloud suite that really fit my need, but I'm basically the sole query editor and I have potentially 200 private readers + some public OpenData. I simply just can't come to my boss and ask that we subscribe to this service on a 200 users basis while only one users will really have the use of the license...
GitLab was already looking good, if we're forced to change well likely move to GitLab. Github's pricing was already overly expensive for what you get, in my opinion.
It might make sense however to not count collaborators with read-only access.
Of course, now that I have gitlab, there's very little reason for me to come back.
It's been hard to justify upgrading to an organization for awhile, since our work is hit or miss and we both have other jobs form time to time. We aren't much in terms of load on Github, but we'd like to be able to store 40-50 private repos or add more without worrying about our limit. The new organization pricing makes tons of sense for us since it's very close to the old 'medium' plan we were using, instead of being 2.5 times as much, which we never felt we could justify.
He made a mistake and checked in (yes this is on him) an AWS access and secret.
Within hours we have 1,500 machines launched in every region doing bitcoin mining....
Making a repo "public by default" is pure BS.
Before upgrading, a grand total of 4 users had access to our private repositories, of which we were only using 7 out of 10. I was nervous about running out of repositories moreso than the cost of adding people.
(If we grow our team, it's because we have a lot of client work that's outside my immediate strong suits and we had to hire. If we do that twice, I'll gladly pay the extra $9/month.)
If it is the case that I have to pay to have privacy on Github, then it imposes a privacy-rich versus privacy-poor dichotomy which I am uncomfortable with. Now I know as far as these things go (GH can be subject to National Security Letters), that GH is not really absolutely private. (Backdoors into people's 'secret' GISTS anyone?).
GH had an opportunity here to change their business model so that free users can avail of private repos, and GH could still manage to bring in revenue. GH primarily makes the bulk of their income from what I call 'stakeholder accounts'. That is; those companies who simply couldn't function correctly if GH didn't exist. It is in these stakeholders that there is a symbiotic relationship of revenue for GH, and value for the stakeholder(s).
There are very little lone private individuals who have that kind of symbiotic relationship, and so at least give these low income users the same equal rights of privacy as behemoth tech organizations. It makes sense.
In terms of how GH gets revenue from these users, there are countless other ways to do this instead of relying on the monolithic device of a premium subscription model. Offer paid licenses for their proprietary GH clients. (A one off payment of $20.00 for the GH Windows client is something I would actually pay money for)...
Electron is the cancer that is killing desktop computing.
Then someone at GitHub had the bright idea to take this "winning" concept and apply it to a developer's text editor, of all things! I still cannot fathom how Atom can have more than 3 users. Every time I've tried it, I've ditched it after 30 seconds. Slooooooooooow!
Fast-forward to 2016: now I see new Electron apps popping up every other day. Even something as simple as a text-only WhatsApp IM client, which could be written in a dozen of C++ files, is a bloated monstrosity that eats RAM for breakfast and contains an entire Node.js interpreter and a Webkit layout engine.
Cancer, I say!
Kill it with fire!
Our early prototypes of Nylas N1 were built on Angular in the browser, and then Adobe Brackets, but we couldn't really get it to a level that felt great and worked offline. It wasn't until we decided to fork Atom (the previous base of Electron) that we started breaking past the "uncanny valley" of wrapped webviews and discovered an application stack that allowed quick cross-platform deployment alongside native code modules.
After building on Electron/AtomShell for 18 months and seeing the community grow, I can definitely say there is something really special here. We've still got a lot of work to do on N1 (email is hard!) but we're confident Electron is the right platform for this type of extensible app.
A secondary reason we open sourced N1 was to serve as a reference implementation of a large Electron app. There still isn't a great resource for "best practices" when creating complex Electron apps with lots of moving parts. Now that we've hit 1.0, I think it's time to change that!
If you have a free afternoon, I definitely recommend playing around with Electron. It will likely change your outlook on the future of desktop software. :)
However, it seems weird that when talking about mobile apps, the PhoneGap/Cardova "web wrapper" concept is derided as awful compared to native code or maybe cross-plat frameworks. From my anecdotal experience, those same people tend to think that Electron or NW.js are the greatest thing since sliced bread.
Electron is PhoneGap for the desktop. That's not necessarily a bad thing or a good thing, it's just a thing that makes sense in certain use cases and not others. The fact that web wrappers have different levels of "street cred" across mobile/desktop contexts feels more subjective than objective.
I suspect it's simply a matter of the younger crowd having more exposure to native mobile development, and little or no experience with native desktop development... so this discrepancy reflects those different comfort levels.
I've had a chance to work with the core team on a handful of bug fixes and new features, and they've been incredibly kind and welcoming. I think Electron will go far as an open source project, and I'm excited that GitHub is growing it beyond Atom.
If you're in the SF Bay Area and interested in learning more about Electron, there's a meet-up coming up later this month! http://www.meetup.com/Bay-Area-Electron-User-Group/
* Atom vs. something like Sublime Text
* Or, Slack that takes the cake especially if you log in to multiple Slacks.
It's cool for developers. It's not cool for the users.
Like Whatsapp App on Desktop you literally have a 60MB download and 200MB install just for a screen that is EXACTLY the same as the Web Version of Whatsapp.
While I dont expect all the apps are like CCleaner or the old uTorrent which is only a few MB in size, 200MB is just redicously large.
For non-web developers, there are already well-suited technologies to develop desktop applications: Swing, Qt, Cocoa, GTK, WPF/WinRT, and so on. Maybe theses technologies seem less sexy but there are here from the beginning to do that kind of job.
Please, use the right tool for the right job.
With Qt, just watch this 30 minutes presentation about Qt and HiDPI, while ok there are some parts which unnecessarily complicate matters: https://www.youtube.com/watch?v=2XPpp4yD_M4
This community is acutely aware of what happens when the barrier to entry is lowered and the development tooling improved. The tooling that Electron provides via Chromium is also something that should not be understated. Chromium's dev tools are remarkable and improving every day. Few other ecosystems, especially old desktop ones, have debugging environments as rich. The painting performance / profiling tools alone go to great lengths to keeping everything running at 60fps. Furthermore modern CSS layout engines like FlexBox give you an enormous head start on a notoriously difficult problem and is a joy to work with when you don't have to worry about browser compatibility.
I will admit, the getting-started cost of Electron is high. Shipping all of Chromium and Node is no small feat and frankly probably not suited for a minor utility. However once an app crosses even a modest level of sophistication the benefits of this environment are definitely worth it. There are also several specialized tasks that Node probably isn't suited for. Luckily, since you have full process control and the ability to compile native modules any additional specialized task can be run on the side.
The past 18 months working with Electron at Nylas have been some of the most enjoyable development experiences of my life. Much of the crap that frustrates people out of web development (compatibility issues) go away. Being able to build an app at the core of people's day-long experiences is deeply satisfying and something I'm indebted to the Electron team for.
If you're in the Bay Area and still have questions or are just curious, come join us at the Electron Meetup on Wed May 25: http://www.meetup.com/Bay-Area-Electron-User-Group/events/23...
The counter point to this is that ownership of the developer brand and distribution channel is which will always drive sales. I'm not sure which aspect is more important when planning a technology platform and revenue model...
I have been going back and forth with Slack over their desktop client; on Windows when signed into 5 groups it uses 1GB RAM. For a rich-chat client.
And if you're thinking "But RAM is cheap these days" -- well yes it is, but by the time you've got 15 Chrome tabs open, a Jetbrains IDE and 3 VMs, plus assorted other software running, 16GB disappears very fast...
Instead, please, can any investor just hire any computer science PhD (who eventually specialized in compiler engineering), and tell him to work on PREPARSED or COMPILED HTML, and make a browser module out of it, for the sake of speed and memory footprint?
PLEASE. I BEG YOU. DON'T EVEN TAKE CREDITS FROM ME. IT IS SO WE CAN SAVE THE WORLD.
My first use case for it was making a dedicated Amazon Video client for my wife's laptop (although Nativefier doesn't have one of the necessary plugins) so we can have our regular Amazon accounts separate without switching credentials all the time. But I can think of a bunch more for this
* Your can now make your web devs (HTML/CSS/JS etc) do your application development as well
* General popularity of web development is exploding
* There's no comparable free, permissive native framework. The closest thing is Qt and its LGPL. No one wants to touch the GPL.
I have to restart my computer every now and then in order to keep using Slack and Atom, because otherwise it lags so much. I don't know, I think I prefer UWP apps instead.
Is there an equivalent to this but with Python or C# ?
QT seems to be the other major cross-platform framework, but I've never seen one that looks good IMO.
It always used to be argued (and maybe still is) that using the UI framework of the platform is preferable, but IMO the results of Electron apps I've seen look great, and I don't find them confusing to use.
The reverse seems to be true on mobile platforms, where people seem to be preferring native UI widgets and behaviour.
We've been excitingly using Electron at Wagon to build SQL analytics tools. We're using Haskell + React + Electron as our primary technologies: wagonhq.com/blog/electron
We detached this subthread from https://news.ycombinator.com/item?id=11674670 and marked it off-topic.
At any rate, the trend for things like Electron is to become increasingly complicated to the point where it merits a mention in developers' CVs as it happened with Rails and Node and countless other frameworks before. Hopefully at this point there are players with stakes high enough at making things accessible to push for an entry-level version of Electron. Maybe Codecademy or one of its cousins.
Basically, I'm sold :)
> Note: Interested readers may find Lucid Synchrone interesting. Unfortunately for me, I had no idea my thesis had so much in common with synchronous programming languages at the time, but the connections are quite striking. I might argue that Elm was never about FRP.
My thesis was related to synchronous programming languages and articles about FRP tend to have too little to say about them, for my taste. Yes, there is a word or two in the related work, but also it looks like some wheels are being reinvented.
The subscriptions model reminds me of Esterel, which is imperative and uses await/emit pairs.In the domain of GUIs, which is related to Elm, there is ReactiveML (see "ReactiveML, Ten Years Later" (https://www.di.ens.fr/~pouzet/bib/ppdp15.pdf)).Look also at Lustre or Signal, with Signal allowing directives to define multiple execution units: this is used to generate concurrent programs exchanging values with message passing.
The domain is different, though. Synchronous languages do not target web interfaces. They are about embedded systems and as such, they are mostly static. On the other hand, they are compilable into a simple event loop with static memory usage and constant execution time. Maybe some of the existing research could be useful to something like Elm, even if it does not target the same problems.
Not only is the elm code I write reliable, but I've found that adding more features does not bloat my code. Refactoring a codebase as it grows in elm is pleasant, and following the Elm Architecture guides me on the correct structure for the app.
Over the weekend I made a small site to show all Elm conference videos in one place. If you want to play around with 0.17 this project is just a bit above a "Hello World" example. Send a PR! https://elmvids.groob.io/
Regardless of the exact library or pattern, the broader concept of treating data sources as asynchronous event streams you can subscribe and react to definitely simplifies data flow and makes systems very robust.
An additional benefit of this pattern is the natural way it makes it easy to filter, chain, map, etc onto these subscriptions. Once again from the Rx world, http://rxmarbles.com/ does a great job visualizing these patterns.
In ClojureScript, we have the re-frame pattern/framework, which is built on Reagent, which is a ClojureScript wrapper of React.
re-frame is all about subscriptions, using a "big atom" to hold application state client-side. Seeing Elm implement the same subscription pattern makes it look pretty tempting.
My understanding is that ClojureScript and Elm have some similarities - functional, pleasant to work with - with one significant difference being that Elm is typed.
I've been doing backend work for a while and I'd like to see what is possible these days with elm.
If you haven't yet tried Elm, give it a shot. A co-worker (hi Heath!) showed it to me 4(?) years before I got interested in it, and I brushed it off as a toy because I was against Functional Programming at the time for terrible reasons. It's actually one of the 'this feels like the future' technologies that's re-shaping how I think about programming these days. Huge kudos for the release!
Time.every second Tick
"Making the Web Functional with Phoenix and Elm"
Also, I'm still new to FP, so if you go outside of the Elm architecture, you're going to run into problems, which you're use to solving with specific tools, but they won't be available. So you'll have to spend time learning how to compose things in a new way.
"Synchronous languages are based on the synchronous hypothesis. This hypothesis comes fromthe idea of separating the functional description of a system from the constraints of the architecture on which it will be executed. The functionality of the system can be described by makingan hypothesis of instantaneous computations and communications, as long as it can be verifiedafterward that the hardware is fast enough for the constraints imposed by the environment."
That sounds a lot like how functional programming works in a browser. If you assume function calls take zero time (or can be optimized so they're fast enough) then you end up with event handling and asynchronous I/O. Preemptive multitasking becomes a non-issue. But long-running computations (where you actually want to keep some CPUs busy for a while) need to be handled outside the system.
(Such was the case for my senior project, studying the viability of Arrowized FRP in Elm. In short, I concluded that it was nothing but hell and nobody should bother.)
I am happy to seem Elm drop FRP, even if I wished it could be the savior of the method. At this point I think it's a troubled concept and should be limited to old theses.
 Looks like a solid change driving Elm towards easier usage, Signals and Mailboxes were definitely something that took a while to wrangle correctly.
The course is still in development, but let us know if you're interested!
Examples of this would be web-socket , http-requests , etc.
however elm and cycle.js try to shoe-horn this idea everywhere - which I think is not needed.
Not every event needs to be subscribed to - it pollutes your global stream. Use global stream only when you need to deal with things that move out the execution context of your program.
I'm excited to give elm another shot, and I yearn for the future he describes where web assembly makes elm a viable js replacement.
If not, which parts changed / how would you revise it?
> gen/pages/blog/farewell-to-frp.html: getFileStatus: does not exist (No such file or directory)
Some caching problem, it seems?
According to Rx, it's the magazine company. Which one subscribes? The magazine company subscribes. It took me a while to realize this when trying to learn Rx concepts, which made it really confusing, since I've always seen the customer as being the subscriber, subscribing and owning the subscription.
It looks like Elm is the other way around compared to Rx, I think.
> Use the browser API To get started you just create a new web socket! Well, then you need to open the connection. But do not forget to add an onerror listener to detect when the connection goes down and try to reconnect with an exponential backoff strategy. And ......
How does handling errors happen I wonder. If you take FB messenger for example, you would queue up a message but if the sending failed you would get an opportunity to retry/not send it at all.
I suppose in FB's case you could write your own subscription provider...
> When I started working on my thesis in 2011, I stumbled upon this academic subfield called Functional Reactive Programming (FRP). By stripping that approach down to its simplest form, I ended up with something way easier to learn than similar functional languages. Signals meant piles of difficult concepts just were not necessary in Elm.
An Introduction to Elm
(1 it is a better technical fit for a very specific problem
(2 there is already a legacy db in place
I have been voted down at a couple of startups that wanted to run a "MEAN" stack, invariably all of those startups moved from MongoDB or shutdown.
The only time I will advocate for anything other than Postgres is when Wordpress is involved. If the data model is simple enough then MySQL is more than up for the task, and it avoids an additional database dependency.
Thankfully all the ORM's that are worth using support MySQL and Postgres, so using both is very doable.
### Useful Postgres (or SQL in general) tools/libraries :
Bookshelf ORM http://bookshelfjs.org/
PostgREST automated REST API https://github.com/begriffs/postgrest
Sqitch git style migration management http://sqitch.org/
I had never touched PostgreSQL before, nor any Linux performance tools, but I noticed that replacing certain buffer eviction locks with atomic implementations could drastically help this particular case. I emailed the list about it and Andres was someone who chimed in with helpful advice. I wrote up what I'd discovered in my deep dive here: http://tiny.cc/postgres-concurrency
Turns out Andres was already working on a "better atomics" patch to provide easier methods of using atomic operations within PostgreSQL's code base (my patch was a quick hack probably only valid on x86, if that). It's been useful in removing several performance bottlenecks andtwo years init looks like it's still paying off.
In partnership with IBM we researched PostgreSQL scalability on modern Power8 servers.
I'm trying to get a handle on the different databases, and VoltDB sounds exciting, but everyone's talking about PostgreSQL. Then there's Mnesia which I hear is, as all things Erlang, excellent, though it's kinda tied to Erlang.
I know it's hard to say what's best, but what would you say is the best DB for a completely new multilingual project that needs throughput but prioritizes low latency, for example?
Also, VoltDB is licensed under AGPL. Does this mean that it can't be used in commercial projects? Or is it OK as long as the other components are on different servers or similar?
How do these changes affect more heterogeneous workflows, of mixed reads and writes? A little better? A lot better? A little worse?
T<what?> Per Second?
I'm pretty amazed at the current state of ads. With multiple ad exchanges, private sellers, and static brand deals, the entire serving process is a mess and users are paying for it. I don't think publishing websites are being malicious; they're incentived to make money and just haven't figured out how to do it at a high enough margin while keeping users happy. I just think the entire internet ad industry is in shambles and nobody really knows a solution that makes everyone happy.
Given that Reddit is a large source of incoming referrals this stance (if implemented) might be a sufficient lever to send a signal to get those sites to improve their environment.
It might be worth seeing what the outcome for the experiment is (if it goes ahead) and then seeing if the same logic would work for HN.
But the data retains its toxic qualities (of being a database of every action I take on the Internet and some in the real world).
I fire up the YouTube homepage and all of my recommendations are for UK daytime TV. Celebrities, 'Jeremy Kyle' (the UK Jerry Springer), etcetera.
YouTube sends me adverts for female hygiene products and dog food. (I am male and I own no dog.)
Even when I get advertising that's not selling me stuff that would require I buy something else first (sex change, dog) it's invariably for something vastly overpriced or some sort of megabrand.
Here's my idea for an ad company:
* People who want to post ads have to provide their name, address, verified email, and a security deposit(say $500). Larger volumes of ad purchases require either a long history, insurance, or a bank letter to vouch for you. If you load malware anywhere into the system, you get fined and your information gets turned over to the police.
* People who want to earn money with advertisements have to provide name, address, verified email, and a security deposit. The security deposit could be funded out of earnings(or not). Fraud is countered by randomly sampling websites and fining offenders if the ad isn't visible. Also they get their information turned over to the police if it was intentional fraud.
* Security deposits are returned within 1 month after the advertising relationship is terminated.
* Fines are paid out of the security deposit, and your access is restricted until you refill the account(possible with an even bigger deposit).
* People who are higher risk(from a shady lawless country, no history or background, etc.) have to pay a higher security deposit.
* Ads can be either text or banner ads. Anything Turing-complete needs insurance or a bank letter.
* If someone pushes through a porn ad to get advertised on the NYT by miscategorizing it, they get fined.
Now all the ads are guaranteed to be of high quality, and the websites you're advertising on are probably higher quality too.
"Here is what is clear:
The advertisement was not malware.
Forbes is still whitelisted from my ad-blocker.
We have no evidence of what exactly created this pop-up."
I definitely am not interested in subscribing separately to (e.g.) Wired, the NY Times, the Economist, WSJ, the New Yorker, etc. But I think I'd be totally down for a single rate that gave me ad-free access to some or all of those.
Advertisements suck at all of these.
Here is the thing I just dont get. Why doesnt some tech savvy organization create a white label solution that companies can either slap a subdomain on and invite "Customers" to fill ad supply. Self host the curated assets through said white label solution. Moderate with sophisticated computers that are not subject to the vast majority of mal ware (excluding 0-day obviously), and move on. Im sure someone could easily serve the ads off of the main domain anyway to circumvent all of the ad blockers on subdomains.
This is a perspective from the outside looking in, but people seem to just complain about the problem instead of looking for solutions.
EDIT: BAH, so there is a conversation from last year. https://news.ycombinator.com/item?id=10221859
For a subset of users (either detected or by user preference), there might be another useful symbol as well for indicating if a website is not tor friendly.
Power hungry censors from either the government or forums piss me off.
People who own forums have a right to regulate content, true.
But bullshit like this aint cool, I and the users are not babies, bugger off, we'll decide with votes.
Seems genius to me.
You know an arm's race is in progress when...
Anyone got the list of sites HN currently blocks/penalizes/rewards? I'd love to tweak those options, and add marco.org and buzzfeed to my personal blocklist.
I learned about the deck from daringfireball.
Curate your ads and serve them statically.
The first are overtly refusing to accept users' terms. The second are trying to have their cake and eat it too: viral content propogation whilst refusing to present content to those who come at it via link aggregators and discussion sites such as Reddit.
Both actively thwart Reddit's intended aim: informed discussion of an article _by having read it_. If they don't want to participate, then don't participate.
Moreover, advertising, the advertising infrastructure, and multiple aspects of it are creating a seriously problematic WWW information structure: crap content, user-hostile design, hugely excessive bandwidth usage, slow browser response, and privacy and security risks galore. At the same time, the actual creative producers and journalists responsible for primary content are hugely undercompensated.
Eliminating the existing advertising regime would allow all of these to be addressed.
That said, high-quality information has a very serious revenue problem, and I'd like to highlight that.
It's a topic I've explored in some depth, "Why Information Goods and Markets are a Poor Match"(https://np.reddit.com/r/dredmorbius/comments/2vm2da/why_info...). Or if you prefer a real economist, Hal Varian's "Markets for Information Goods" (http://people.ischool.berkeley.edu/~hal/Papers/japan/index.h...).
A frequently proposed solution is micropayments. I don't see those as viable, Clay Shirkey, Nick Szabo, and Andrew Odlyzko have all written at length on why not.
Rather, a universal content tax or broadband tax seems an alternative. Phil Hunt of Pirate Party UK and Richard M. Stallman of the Free Software Foundation have suggested this, I'd made my own universal content proposal some time back (https://np.reddit.com/r/dredmorbius/comments/1uotb3/a_modest...)
I've also done some back-of-the-envelope calculations on amounts. _Total_ global ad spend in 2013 was $500 billion, online was $100 billion. If _only_ the world's richest 1 billion (roughly: US, EU, Japan, Australia) were to contribute to this, the tax would be $100/year to eliminate _all_ online adverts, and $500/year for _all advertising entirely_. The money could fund existing creatives -- writers, editors, film producers, journalists, and musicians -- at roughly _twice_ today's compensation.
It's worth a thought.
Watch it on TV, from far away.
Rio is not some city in the middle of nowhere from which no flights are coming in and out of, and now suddenly this massive international influx of visitors will come in -- it is a world-class city, a financial hub of the largest country in the continent.
If we take London 2012 as a benchmark, estimates there are that the olympics yielded a 13% increase in foreign visitors from the previous summer. And that is London, a place where access from other destinations is cheaper, the infrastructure better, and a lot more appealing to U.S. visitors (due to some of the things cited above). It is completely reasonable to expect that the delta in Rio should be roughly the same, if not smaller.
The fact is that the"impact" on travel due to the Olympics will be negligible in a city like Rio -- and the economic impact is CERTAINLY negative, unless you are drinking the Kool-Aid of organizers.
I'm fine with cancelling the games, but claiming that not doing so will lead to a much riskier global health situation than the one we are already living is hogwash.
Come to Brazil if you wish, but take care. The Aedes Aegypti mosquito is all around and can spread not only Zika, but Chikungunya (kindly named "chico cunha") and Dengue.
Make good use of insect repellent, watch your stuff when walking on beaches (don't forget robbers and thieves) and think twice about trusting someone.
As someone said before, every city in the world has its problems and brazilian cities have them also.
Personally, I will not go to Olympics just because hotel prices on Rio skyrocketed and are almost impractical.
Overall though, think given the fact the facilities have not been fully constructed, the Brazilian government is on the verge of collapse, and the risks of being a major disease vector is plausible...
Should definitely consider delay or moving
What's the worst-case scenario for letting Aedis Aegypti live? Is it better than the worst-case scenario for exterminating the species?
Considering the political forces that need to be involved in moving (or not) the games it seems foolish to not have a safety net if "please move the games" doesn't work.
The autumn in Rio is the coldest and driest in a long time http://g1.globo.com/rio-de-janeiro/noticia/2016/03/outono-no...When the Olympics arrive, the mosquito will be in their lowest population count.
If you consider that the Olympics tourists are rich ones, that will spend most of their times in air conditioned environments, the risk is really very low.
Despite all the hype, Zika is not the end of the world. Most people who get it hardly notice and get over it in rather short order just as one gets over a cold.
I have yet to see a study that links it to microcephaly for anyone who has not been in brazil for a long time.I realize the mosquito isn't common, but brazil also does things like: "secretly spray tons and tons of pesticide on their populus", etc.
Given these are all correlative studies, i'd love to see something from a country where there aren't a ton of possible other variables.
(especially given zika has been around and even common forever and it's only now that this seems to be an issue)
You know, before the tourism economies of all of these other countries are completely destroyed.
At most they'll spray and fumigate the skeeters for the few weeks the activities take place and then go back to "normal".
If so, could spread the world at lightning speed.
I think there is also concern for the athletes in that the water is absolutely filthy there.
Don't be so sure about that. Most people who contract both of those don't know that they have them as the symptoms are so mild they are mistaken for a simple cold.
But no, it's just racists pretending that diseases can spread.
You can relax anyway, there is too much money to be made by those running the games in Rio to have it canceled. No one actually cares if people get sick.
Best to all,Signed: The mosquito killer! :p
This sort of story is pure narrative fallacy, because there is no person at Nestle that decided to exacerbate diabetes and then sell diabetes drugs to profit on the other end. Outside of that person existing, there's no story here. If you take away the conflation of a conglomeration with an entity of coherent offerings the premise crumbles.
I don't see how selling sugary products for those who buy them and selling health products for those who prefer them is any kind of evil moral conflict. No matter if "health product" means low-fat low-sugar foods or pharmaceutical products.
Scepticism is good, control and regulation is good, blind condemnation is not, not sure what the article is representing. For me it actually is healthy scepticism, some of the comments here are more condemnation I presume.
Why does this happen? Obviously, sugar tastes good. That has to be why companies add it to all sorts of things. However, if most people were like me, they would read the label and refuse to buy anything that unnecessarily contained sugar. The companies doing this would lose money, and soon stop doing it. But the opposite has happened. Why?
There can only be one explanation: most consumers are dumb. However, when you read about stuff like this in the mainstream media, it's always framed as if "big evil corporations" is the whole problem. That "average Joe" has a low intelligence is never mentioned. Of course, the media wants as many consumers as possible, too, so calling most of their potential readers/viewers stupid is probably a bad strategy, even though it's the truth.
I don't see what the actual problem is.
...and they want to "own" the water.
And whether that's unilaterally a bad thing may not be a settled question. The top 5 drugs in the US are remedies for problems caused by advanced society - a statin, antacid, blood thinner, inhaler and antidepressant. They enable many of the affordances we provide for ourselves.
So... how do we measure behavioral and psychological toxicity? What does that actually mean?
Feels like they're trying to escape cognitive dissonance with weasel words here.
Murray, S. (1999) Kill or cure, confused messages from Japan Tobacco. The Lancet, 354(9188), p.1456.
Any ideas on how this supplement works? And how many people would benefit from it?
When you remove fat from food it becomes unpalatable unless.... you add sugar. Thus the increase in added sugar in just about everything which has helped to contribute to the rise of obesity and metabolic syndrome and all the diseases that come with it from diabetes to fatty livers, heart disease, etc.
So who's to "blame"?
The government in some ways, even though they seemingly meant well when recommending low fat diets (they're just now beginning to recommend reduced sugar and ease up on fat warnings).
Food companies in some ways who seem to have known about sugar's addictive properties and engineered their food to keep you coming back for more rather than keeping you healthy .
Consumers in some ways for not reading labels, exercising more, reducing portions, etc. But who could blame you when the government and the food companies were trying to convince you that what you were eating was good for you? (unless you had time to dive into the research yourself but let's face it, that's not an option for 99% of people)
One of the best explanations I've read of not just why sugar (fructose to be specific) is bad for you (in the quantities Americans but also most of the world eats it at) is the book "Fat Chance" by Robert Lustig . You can also get a glimpse into his arguments via his youtube lectures .
5-MTHF did work for me, albeit at a MUCH lower dose of 5mg. Some people even get relief from 1mg. But... Deplin comes in 7mg and 15mg doses. My new doctors in Seattle (Naturopaths, not psychiatrists) have advised me that even 7mg is quite a bit of extra 5-MTHF. I don't know the scientific details behind this, but I know from experience, 15mg was entirely way too much for my body and I experienced excruciating periods of "overmethlyation" (extremely high anxiety, all sorts of sensory hallucinations, very uncomfortable!).
The doctor that did the DNA test advised 15mg. Not my psychiatrist. It was just a note scribbled on the front of the DNA results packet. I didn't know anything about 5-MTHF at the time so I did not argue and began on the 15mg. Psych didn't say anything, either: i was only her 3rd patient trying Deplin.
I was completely unstable until I titrated the dose 8 months later: I'd been mistaking most of the symptoms for benzodiazapine withdrawal and didn't think to blame the Deplin for being uncomfortable. I was too unstable to properly judge my mental state. at the time, I had subconsciously thought: why would I question the Deplin? My psychiatrist told me that it was made for people like me (who have the genetic defect). No way it could be hurting me.
I wonder how many other mental health patients are being tortured by a similar conundrum right now? (Tortured may seem a bit harsh, but overmethlyation is something I would not wish on my enemies...) Further, I wonder how many people are being suggested Deplin as they were Prozac, in a case where a doctor doesn't know anything about MTHFR gene and thinks it's just a fancy new drug to try out?
I wish there was more information about the supplement's effects and its dosages available for psychiatrists. About a year later, I began ordering 5-MTHF (the main component of the 'drug') from Amazon for 1/3 of the price. You can also get it made at compounding pharmacies for cheaper.
I feel terrible thinking about other people who may think they are locked into paying for Deplin because their psychiatrist does not know any better. I think what Nestle is doing may be good for profits, by making an illusion of a 'unique solution', but at the same time it makes my stomach turn. Thanks for reading.
is this reddit?
The economy is sort of a blind watchmaker, it is optimized to produce profit for the Capitalist class and jobs for the worker class. Everything else does not matter to it. Whether it pollutes the planet, makes fatties, limits the chances of human survival. It knows nothing but to do the two above things. Everything else is someone else's problem.
And at the same time governments in the so-called free world have been advocating to help it do this more freely without any constraints from the would-be control mechanisms like pesky governments which would control this sort of behavior.
So with the new website, which looks good, maybe emacs will seem more accessible and worth giving a try to new programmers who cross paths with it. At the same time, maybe that sense of accessibility is misleading given the learning curve of emacs that isn't exactly beginner-friendly. Nonetheless, I like the site!
Also you can pry Magit from my cold, dead hands.
The previous site https://web.archive.org/web/20150522051725/http://www.gnu.or...
The new site on the 20th of April https://web.archive.org/web/20160420170002/http://www.gnu.or...
In the end, an editor is a productivity tool, and the best way to evaluate it is seeing it in action as part of a workflow: video is an excellent format to capture and share this with newcomers.
Given the emacs flexibility I was able to configure Emacs to implement majority of IntelliJ keybindings. There usually is an equivalent emacs function of package for IntelliJ behavior, e.g. M-x and IntelliJ "Find Action". Emacs helm works a lot like fuzzy matching in IntelliJ. Sometimes I only implement the "similar" behaviour, e.g. "Show usages" vs "Grep for text at point in current project" in IJ. I will be writing a blog post about it at kozikow.wordpress.com, but if you are interested now now I can send you my .emacs.d.
In this setup I can just setup "fast, always works and easy to set up, but not too powerful" code navigation using ctags/ggtags, grep/ag and projectile in emacs and avoid packages like EDT, eclim-emacs or Jedi that are more powerful, but sometimes require custom per repository setup, or are slow. I usually have both emacs and IJ opened and switch between the two. I have a keybinding in both editors for "open current file in the other editor" (emacsclient + external tool in IJ).
So in the spirit of motto of Spacemacs - "The best editor is neither Emacs nor Vim nor IntelliJ, it's Emacs and Vim and IntelliJ!"
Personally, I think that Emacs is one of the best editors. Not so simple to use (you may think if you are going to start without a tutorial), but, definely... very strong and personalizable.
I prefer to not compare with IDEs. The advantages of IDEs is that they have a particular UI and a set of tools focused for a particular language/development tool. This will allow you to have an initial set of features. Ready to use. Without spending your time to work on personalization. You may think to IDEs as editors with a restricted set of features (compared with emacs).
resists urge to make emacs joke about this
Joking aside, looks really nice!
I've discovered [evil](https://www.emacswiki.org/emacs/Evil) a few days ago and I'm in love.
(Obviously this has nothing to do with agreeing/disagreeing with his views.)
> people like you
This comment breaks the HN guidelines by being personally abusive. Please comment civilly and substantively, or not at all.
We detached this subthread from https://news.ycombinator.com/item?id=11656193 and marked it off-topic.
We detached this comment from https://news.ycombinator.com/item?id=11656415 and marked it off-topic.
I don't want to live in a world where I can't like formal verification and modern website design
Following links are NSFW!
Taken from Quora answer - https://www.quora.com/Why-do-ancient-Greek-sculptures-and-st...
So... they're not small. I guess most people haven't seen many average, flaccid ones. If most of your exposure to penises is hardcore pornography and Mapplethorpe that confusion is understandable.
He definitely doesn't look afraid from below. He always looked bored to me, but looking him in the eyes, he definitely looks concerned.
Rome on the other hand considered itself a masculine nation, who's roads were broad and straight, never turning for nature.
Not that the Greeks couldn't have fun, they used statues with erect penises as road signs in Athens, famously knocked off by Alcibiades (in fact he was framed by a rival ) the night before the invasion of Sicily.
The David is a statue of a 14 year old, in addition to the reasons given in the article.
i used to live in firenze and there is a statue of neptune(o) in the palazzo vecchio
once i was walking past it with a friend and i told her it was one of my favourite statues in the city
and she surprisingly responded, 'of course it is'
i asked why it was so obvious and she said, 'well, look at his balls'
"what about his balls?"
'that's an old man with the balls of a prepubescent boy'
now, you could make an argument about the models used or some social aspect of the times or artist but i loved where she went from there
"interesting, go on"
'it's a clear fetishising of immortality, to think you can be old with such a tight young body is the pure representation of a god, the immortal'
wisdom of experience, strength of youth
Lice genetics suggests clothing is at least 80K years old even though the oldest needles are less than half that age. So people may have been engineering "support" to decrease the disadvantages of size. Nearly all the near naked jungle tribes seem to have support. I am suggesting size increased long before 2000 years ago, but not the entire history of the human race.
Maybe we can infer that sculptors didn't want erogenous zones to become too relevant and overshadow the statue as a whole.
Some of these statues probably started off with huge penises. The stone broke, and thus the statues got downsized. It's that or lug a new boulder back to the workshop.
Statue buyers must have had a say as well, and vandalism is not a recent invention. People have been snapping parts off of art since before recorded history. If you were an ancient statue buyer, would you choose a design that will easily suffer damage at the hands of a 12-year-old kid? No way. Short is best. It's probably cheaper too.
Greeks considered the difference between the size of a flaccid vs erect penis a sign of masculinity, and therefore tended to use small penises.
What's more glorious than knowing that the flaccid retracted penis of an amazing athlete will grow 4x when required (which is plausible). A larger non retracted penis wouldn't grow so much proportionally.
Edit: It's now been changed. It used to say "male genitalia" instead of "penises".
This suggests an important new brogrammer interview question
fiancee had the same question this weekend after visiting Louvre's antic section - the stuff is just too small given proportions of statues. i am a +-regular gym goer, so even if i don't want i see all the stuff in locker rooms/shared showers, and albeit some of it is this small (and smaller), most is bigger.
So congratulations to Larry and crew -- and damn, were you ever right in 1993! ;)
 Seriously, read this: http://www.landley.net/history/mirror/unix/srcos.html
 The citation here is, in that greatest of all academic euphemisms, "Personal communication."
 "Sourceware" because  predates the term "open source"
After Andrew Tridgell (SAMBA, among other projects) reverse-engineered the bitkeeper protocol  in order to create his own client, the license was rescinded for everyone.
As a result, Linus wrote git.
> Spending a lot of time dealing with manual and bad auto-merges? BitKeeper merges better than most other tools, and you will quickly develop confidence in the quality of the merges, meaning no more reviewing auto-merged code.
Do you have examples of merge-scenarios that are a Conflict for git but resolve for BK?
> BitKeepers raw speed for large projects is simply much faster than competing solutions for most common commercial configurations and operations especially ones that include remote teams, large binary assets, and NFS file systems.
Is there a rule of thumb for what size of repos benefits from BK? (And I suppose size could either be the size of a current commit or the total size of the repo.)
Are there any companies like github or bitbucket that support BitKeeper repos?
What changed? Is BitKeeper still an ongoing business with some other model, or is that, as they say... it? I hope not.
I haven't read much about bk so far, so forgive my lazy web question: does/can bk operate over standard ssh as git/hg/svn can, or does it require a dedicated listening server to connect to?
Edit: answering my own question, yes it does support ssh as a transport
From the "Why" page:
BitKeepers Binary Asset Manager (BAM) preserves resources and keeps access fast by providing local storage as needed.
BAM is great for any organization that handles:
* Office files
* CAD files
* Any large binary files
$ bk clone bk://bkbits.net/bkdemo/bk_demo $ cd bkdemo # edit files using your favorite editor $ bk -Ux new $ bk commit -y"Comments" $ bk push
For those who commented that way, please reconsider this winner takes all approach to your outlook of the world. The world is better because of choice and it's in everybody's best interest to have more distributed version systems.
At the very least, Bryan Cantrill will be happy :-D.
I have to try it out just for that!
Looking at the bk import man page, it looks like it cannot import from any modern VCS. I see only RCS, SCCS, CVS, and MKS as options. This is unfortunate, as I have a mercurial tree I'd like to import.
"The ability to seamlessly share only a subset of your source tree "
On a related note, the getting started documentation should be more prominent on the Web page.
Why a gazillion package managers? Why not a common filesystem layout? Why not a standard desktop?
If bitkeeper was open sourced it could be a powerhouse nowadays, open source and commercially. Now it is too late and honestly irrelevant.
See large repo support, security and others.
Is that geared towards comparing with Git/Github? Is there a more focused comparison with those. i.e. both comparing to git itself and to GaaS (Git as a Service).
I'm looking forward to trying this out over the weekend. Is there some kind of util/script to import history from git?
Um, the "because" part is not quite right.
The issue that many students face in learning low level C, is that they don't learn assembly language programming first anymore, and they come from higher level languages and move down. Instead of visualizing a Von Neumann machine, they know only of syntax, and for them the problem of programming comes down to finding the right magic piece of code online to copy and paste. The idea of stack frames, heaps, registers, pointers are completely foreign to them, even though they are fundamentally simple concepts.
C maps nearly 1:1 onto simple processor and memory models, and most importantly, gets out of your way and lets you get on with solving your system programming problems. Before C, just about any meaningful system programming task required a dive into assembly language. In that context, C was a huge win. It is also what makes C the langauge of choice for embedded development today.
Of course, system programming problems are not the bread-and-butter of most develpers today -- and a good thing, too. We can now build on top of solid systems and concentrate on delivering value to the customer at much higher levels of abstraction: the levels of abstraction that are meaningful to customers.
I dearly love Python because it allows me to work at levels of abstraction that are meaningful to the user's problem. I dearly love C when I want to wiggle a pin on an ARM Cortex-M3.
In my mind, CS education should start by teaching problem decomposition and performance analysis using a language like Python that provides high levels of abstraction and automated memory management. Then, just like assembly language was a required CS core course back in my day, students today should spend a semester implementing and measuring the performance of some of the data structures that they have been getting "for free" so that they understand computing at a fundamental level. Some will go on to be systems programmers, and will spend more time at the C level. Some won't ever look at C again, and that is OK.
In the end, CS education is about how to solve problems through the application of mechanical computation. The languages will evolve as our understanding of the problems evolve and our ability to create computing infrastructure evolves. CS educcation should be about creating people who can contribute to (and keep up with) that evolution.
We didn't use any fancy IDE's and were told to stick to VIM, we also had to compile with the flags -ansi -Wall -pedantic which alerted you to not only errors but warnings when we compiled our code if it didn't meet the C90 (I think) standards. It was a lot of work crammed into 13 weeks but it had one assignment which I thoroughly enjoyed.
Tic Tac Toe (Ramming home using pointers, 2D arrays, bubble sort for the Scoreboard).
Debugging a bug-riddled program (My favourite).
Word Sorter (Using dynamic memory structures, memory management by having no leaks, etc).
The debugging one was very different from most other assignments I had done at uni to date and the teacher said he recently introduced this assignment because the university had received feedback that students debugging skills weren't the greatest. They could write what they were asked to just fine, but when it came to debugging preexisting issues quite a few struggled. We got given a program with around 15 bugs and you got marks depending on what was causing the bug and a valid solution to fix it. This forced us to use tools such as GBD and Valgrind to step through the program and see where the issue was and to be much more methodical.
I really enjoyed C and when I find a bit of time outside of work and study I'd like to explore it more.
Absent macro obfuscation, it is easy to reason about what a snippet of C does and how it translates down to machine code, even taken out of context. In C++, something as innocent as "i++;" could allocate heap memory and do file I/O.
The downside is that C code can become quite verbose, and to do anything useful, it takes a lot of ground work to basically set up your own DSL of utility functions and data structures. For certain applications, this is an acceptable tradeoff and gives a great deal of flexibility. I think teaching this bottom-up approach to programming can be quite useful - in a way, it mirrors the SICP approach, albeit from a rather different angle.
The question is, why are there not more languages that have the same paradigm, but also add basic memory safety, avoid spurious undefined behavior, provide namespaces, with a non-stupid standard library, etc.?
EDIT: Meant to add: fantastic article, wish my Intro to C instructor had read it...
I learned C by myself many years ago but it's only until recent I have been using it for big projects.
Reading Redis' source code was a great aide, xv6 is also amazing to learn systems programming.
Learn C The Hard Way is also a good read, but not as your main book, since it goes too fast.Other invaluable resources are: Beej's Guide to Network Programming and Beej's Guide to Unix Interprocess Communication
A good advanced book is Advanced Programming in the Unix Environment
Only thing I didn't like was goto chain part. I looked at both examples thinking one could just use function calls and conditionals without nesting. My memory loss means I can't be sure as I don't remember C's semantics. Yet, sure enough, I read the comments on that article to find "Nate" illustrating a third approach without goto or extreme nesting. Anyone about to implement a goto chain should look at his examples. Any C coders wanting to chime in on that or alternatives they think are better... which also avoid goto... feel free. Also, Joshua Cranmer has a list there of areas he thought justified a goto. A list of great alternatives to goto for each might be warranted if such alternatives exist.
Only improvement I could think of right off the bat on the article outside including lightweight, formal methods like C or stuff like Ivory language immune to many C problems by design that extract to C. Not saying it's a substitute for learning proper C so much as useful tools for practitioner that are often left out. Astre Analyzer and safe subsets of C probably deserve mention, too, given what defect-reduction they're achieving in safety-critical embedded sector.
When I first learned C in highschool I got a few books on C which all seemed to have the word 'Beginner' in the name. 'Absolute Beginners Guide to C' is one I remember in particular. I think having multiple books is pivotal because as a beginner if you encounter an explanation that doesn't make sense to you it is very hard to reason around it. You probably have very little prior knowledge, almost everything you know and learn up to the point where you get stuck will be contained in that single book, and if you don't know any other languages you can't make any connections to help yourself out. The reason the second, third, or fourth book is so important is that it will have a slightly different explanation that might make something click in your brain.
1. What book do we assign?
2. What should we lecture?
3. What sort of code review work should we have students do?
4. What kind of assignments should we use? But only to say that he won't cover it in the article!
This is the almost the exact opposite order of what is most useful in terms of learning. Yes, some people (especially auto-didactic and well-focused students) are able to learn tremendous amounts on their own through books. But they are a relatively poor tool for teaching, compared to active learning methods. Lecture can be great, but usually is passive and worse than useless.
I want to acknowledge the importance of defining what you will teach and what successful (end-of-course) students look like and how to assess them. After you've decided that, it is proper to devise assignments and assessments, and then to decide on lectures and supplemental materials that support students in completing the assignments and assessments successfully. The time students spend should be active and practical - not that readings can't be provided, but they should be on-point and meaningful. Proper application of Instructional Design principles and theories of learning can make a world of difference for students.
But kudos for thinking about it, kudos for thinking about feedback mechanisms, and kudos for
PS: Obviously, I believe C has a great place in the curriculum - shouldn't leave undergrad without it!
This has truly become something I try to keep in mind, considering a) I've later, sometimes long after starting on someone else's code base, learned a useful rationale for why they did some of the previously more inscrutable things in their code, and b) ended up writing a few things like that myself.
Documentation is key to understanding these systems, but it isn't sufficient. Often you are presented with a nicely documented mega-function, which while anyone can read through, but is very hard to reuse a portion of when needed. In breaking it apart into smaller chunks, you necessarily scatter some of the reasoning about why a particular approach was taken from where it was originally used, or at least where the weird behavior is required. You can either reproduce large chunks of the documentation at many different points in the code base, and hope it doesn't get out of date as the systems it describes in other files is slowly changed, or keep the documentation as fairly strictly pertaining to the code immediately around it, in which case the knowledge of how the systems interact can get lost.
Whenever you encounter code that seems to make no sense, it's better to assume there's some interesting invisible state that you need to grok, than that the programmer was an imbecile or amateur. The latter may be true, but assuming that from the beginning rarely leads to a better outcome.
I'll share my favorite example of this. At a prior job, we had a heavily used internal webapp written in Perl circa 1996. It was heavily modified over the years by multiple people, but by the time I was looking in on it in 2012, it was a horror story we used to scare new devs. The main WTF was that it was implemented as one large CGI which eschewed all use of subroutines for labels and goto statements, of which there were copious amounts. The really confusing part was that they were used exactly as you would expect a sub to be used, just with a setting a few variables and a jump instead, so we always scratched our heads as to the reasoning for this. There was even a comment along the lines of "I hate to use goto statements, but I don't know a better way to do this, so we're stuck with this."
Fast forward a couple years, and I'm migrating the webapp to a newer system and Perl, and I discover the reason for this. At some point it was converted to be a mod_perl application, and the way mod_perl for Apache works is to take your entire CGI and wrap it in a subroutine, persist the Perl instance, and call the subroutine each request. The common problem with this is that because of this any subroutines within your CGI can easily create closures if they use global variables. The goto statements really were intended to be used just like subroutines, because they were likely switched to in an attempt to easily circumvent this problem. Now, there are better methods to combat this, such as sticking your subroutines in a module, and having your CGI (and then mod_perl) just call that module, which is what I ended up converting the code to do, but the real take-away is that the original decision, as impossible to defend as it seemed, was actually based in a real-world trade-off, and at the time it was done may have actually been the correct call.
It seems to me that while we know how to teach C properly today not many places do because they don't do as they say.
And C needs knowledge in all fields recombined to be really used freely. Know one of those fields not - and you will be like a wanderer on a frozzen lake, doomed to trust those who know to guide you by ramming posts of no return where the ice gets thin.
Its also about taking a sledgehammer to all those certaintys people have about computers from marketing and personal experience as consumers.
There is some initial magic, where they have you import cs50.h which is full of black box functions in the beginning but other than that it's a good example of teaching beginner C.
Perhaps someone could explain what I'm missing. It's exactly the behavior that I see using gcc-4.8 and Apple llvm-7.3.
Not sure it's possible to teach green frosh 'why does industry use an old language' and the static analysis ecosystem (easier to teach skills than wisdom). But I applaud these people for trying. This feels like real programming.
I was going to write a Kindle book in the beginner's guide to C using Code::Blocks and its IDE because it is FOSS cross platform software. I found out it is a lot harder than I thought it was.
I learned C in 1987 at a community college still have the book on it that is written for Microsoft C, and we used Turbo C and Quick C for some of the assignments. Most of the programs I wrote can still compile and those that get errors or side effects can be debugged easily.
Yes, there are NSA scandals, yes, the US government has repeatedly overstepped boundaries, yes, caution and scepticism is a very healthy and good thing, but on the other hand there are GNU/Linux distributions taking security somewhat seriously, they have to, they too work with open source code, have a lot of users, and review said code, I doubt someone is interested in your specific data, I doubt using a GNU/Linux distribution or some other BSD OS is some risk one shouldn't take, I doubt we should all have to automatically strive for an "ethical" all Free Software life or otherwise we are in risk of somehow being under totalitarian control, I doubt Apple and Microsoft are totally out to get you and by definition filled with evil backdoors the NSA uses to spy on _everyone_... I doubt they only do malicious things,... and talking about security, it's not all in the Software, a lot is in users' behaviour... not talking about him specifically, but "We are all spied on by the NSA, please like me on Instagram and follow me on Facebook for hourly updates on my life so we can join in the fight against totalitarian control"...
As you have guessed by now I am some kind of allergic to this... those idealistic over-simplifications... drawing everything in black and white...
Some of the OS X users I know are incredible technology-orientated and privacy concerned people, should I draw the conclusion they are being overly naive by not using OpenBSD for everything? I don't think so, they are just not suffering from paranoia, are pragmatic and living in the real world...
Of course software is never perfect, but it's nice to know the (small) subset of OpenBSD developers working on OpenSSH are still working on keeping the proverbial doors locked.
In case you haven't used it, it's dead-simple, command-line based, and it may take a few times to get it right if you don't know what you're doing. It's nearly featureless.
But after you figure it out, you can automate installs, and roll your own distro by changing the contents of tar files, or add your own software and configuration the same way.
It's quite possibly the most satisfyingly transparent OS install method I've ever used.
Even if you don't run OpenBSD, you benefit from it.
My main problem with OpenBSD development is that all development is decided solely by the developers and there doesn't seem to be much care for what others want.. which is fine, they're doing all the work for peanuts.
Sometimes you just have to do things that aren't well suited for OpenBSD (imagine updating and ensuring hundreds of OpenBSD machines are up-to-date, and running high performant threaded applications). Many things work, but that is all they do. Sure it may be much more secure than other unix or linux offerings, it may be all there is. Much of the ports are just "get this to compile and work". That isn't always good enough. Truly evaluate if it fits your needs. If there is something you want on the platform, it may be up to you to fix it.
Unrelated, I find it interesting that NetBSD isn't mentioned once in this entire thread.
Also, why OpenBSD specifically, and not FreeBSD for example?
How awesome is it that we have dedicated operation system geared towards the niche of the market that cares deeply about security?
Speaking freely is essential to democracy. The more restricted your conversations, the more careful you are about what you say. And being careful leads to less candor, less criticism, and less innovation. Thought and free speech are the breeding ground for new, sometimes controversial ideas. They are how we prototype, think new ideas through, refine them, and get them ready for wider distribution and discussion.
The actions of many 21st century activists seem to be diametrically opposed to this ethos and designed create a social landscape of civic censorship and extra-legal punishment for "thoughtcrime." I think a society with laws supporting free speech on the books, but largely made of authoritarian and censorial organizations is no more democratic in spirit than the Jim Crow south was inclusive with its "technically" enfranchised non-white population. (It doesn't so much matter what laws are on the books, if society at large thinks something opposed.)
For democracy to work, there needs to be freedom to dissent. I think many young people who grew up with web forums were exposed to so much draconian censorship, they've come to unconsciously feel that censorship is a key means of expressing power and "justice." I just hope that enough of them work out how intellectually bankrupt such a society would be.
That same libreboot article says that AMD is not any better. Is there any alternative I'm not aware of? An ARM Chromebook is unfortunately not fast enough for me.
Use a blobless OS like Trisquel, Guix and get libre hardware from the FSF.
Doesn't the former sentence negate the latter?
At this point, it seems just about all systems are hackable, given enough resources.
HN seems to love the anti-Linux FUD though. Anything that further fractures the OSS community is upvoted fast.
I like the BSDs too, but there are a ton of reasons Linux is the most popular kernel in the world, it's not just because the NSA makes it so.
> Mr. Wellingtons analysis identified errors the department made in issuing parking summonses. It appears to be a misunderstanding by officers on patrol of a recent, abstruse change in the parking rules. We appreciate Mr. Wellington bringing this anomaly to our attention...
> Thanks to this analysis and the availability of this open data, the department is also taking steps to digitally monitor these types of summonses to ensure that they are being issued correctly.*
Sure, it's easy to pay lip service to open data and transparency...but I've found for the most part that bureaucracies are generally OK with open data after it's been ingrained in their culture (which is why it is so amazingly easy to get data from Florida -- they have an IT system that is optimized to handle it -- the employees don't mind fulfilling the requests since it's no skin off their back).
Bloomberg got the ball rolling, and hopefully the momentum continues...I'd be happy with NYC agencies tolerating open data as a status quo...Looking forward to the day when bureaucrats and citizens can get to the point where transparency isn't seen as a zero-sum game.
The first ticket was issued for parking in resident street parking without a permit. I was actually parked just after the sign delimiting the resident parking area. I photographed where I was parked and sent in an appeal which was accepted.
A month later, I was parked in the same non-resident street parking and I was issued a ticket for failing to pay a parking meter; the number of the meter I supposedly failed to pay was a LONG block and a half away from where I was parked. Again, I submitted an appeal, but this time it was not accepted.
The friend I was visiting when I received these tickets was a producer for a local television news station. She told the story of these two tickets to their investigative reporter who was interested in the story and was going to inquire about it with the Boston PD. Apparently she didn't get anywhere with the story, but Boston PD did stop sending me failure to pay notifications for the fine.
: This non-resident street parking was not metered.
(EDIT: Foot-note formatting)
Honestly, if I were a public official reading the comments here, I'd be inclined to just go "Why do I even bother? I explained how, even though the people who hand out most of the parking tickets were educated about the change, many police officers weren't. We'll fix it now."
Sure, rerun the analysis a year or two down the road. If things don't change, that's a story. But this strikes me as a nice use of open data and a reasonable response from the NYPD. You can argue that they should do pro-active refunds but a lot of addresses will have changed and it would be otherwise difficult and expensive. I'm honestly not convinced that's a reasonable expectation.
Pedestrian cutouts are there for a real purpose, namely accessibility for people with disabilities and wheelchairs.While it sucks for cars to get ticketed, I for one share no compassion with those people blocking cutouts in general, because they are not offering courtesy for those people who require these cutouts to live.
Edit: For those suggesting that the crosswalks in the middle of the block go "nowhere" consider the following. a wheelchair user parks his/her car and exits the car. he/she will have to cross all the way to the ends of the block in order to get out of the street into safety. even it may seem like it's going nowhere, there is a real functional purpose.
This article doesn't surprise me: where the recent swath of internet companies seem to extoll individual agency/ownership, nationalised companies seem to preach the exact opposite - a problem is never the individual's responsibility and people seem perfectly happy to ship a borken status quo. As such, ludicrous oversights like this are a regular occurrence rather than a gross intolerable negligence.
This is not even yet mentioning how awful the UX is for the customer who has to interface with these institutions.
While it may be very easy to discard my point as rife with cliches, it's worth noting that we have become very spoilt by ruthlessly frictionless (yet equally effective) customer-facing tech products. The opportunities to streamline processes and save time and money for state-owned interfaces (both online and offline). As an example, I recently had to queue in a hospital with my sick mother for an hour, to be told that that individual couldn't process our particular issue and that we would have to join the back of the adjacent queue (not there was zero signposting whatsoever). This is one example and not a criticism on healthcare, but what happened to service-driven processes?
Instead we, the public, have to live with the dire reality of inefficient (and increasinly apparently indifferent) government services as the gap between private and state run services continues to expand as we grow increasingly disenfranchised.
My most recent update from Monday: https://plot.ly/~red-bin/6.embed
Pretty fucking proud of that, not gonna lie.
- Can this reuse existing Scala code?
- How does it compare against Rust/GO/Swift? Why use this over them?
- How about libraries?
Now the type system of course is entirely different.
> - Can this reuse existing Scala code?
I think that's the plan. Would be a pretty pointless exercise without that, right? :-)
> - How does it compare against Rust/GO/Swift? Why use this over them?
Rust: Scala and Rust have different niches. Rust is more focused on low runtime overhead, while Scala is more focused on low development overhead. This means Rust can be potentially faster to run, but Scala is faster to develop.
Go: Go is utter shit that only survives due to the devs name-dropping "Google" every 5 minutes.
Swift: Scala is more mature, simpler, better designed. Not a knock against Swift, but there is a difference between a language where changes have been tried experimentally for years before either adopting or removing them, and Swift where things get added at a frightening rate.
> - How about libraries?
Libraries without Java dependencies should work, libraries with Java dependencies depend on whether their Java dependency is provided by Scala-Native (just like on Scala.js).
We detached this subthread from https://news.ycombinator.com/item?id=11678838 and marked it off-topic.
(2) The article claims Harvoni was acquired. That is not really true. Sovaldi (sofosbuvir) came from the Pharmasset acquisition. Harvoni is a combination of sofosbuvir with ledipasvir, a drug discovered at Gilead.
The combination of the two is a key part of the treatment; sofosbuvir was still taken with interferon (and ribavirin) for genotype 1 HCV, the most common form.
Treatment for genotype 1 HCV, without interferon required ledipasvir. The notion that Gilead contributed nothing scientifically to Harvoni is false; they provided a crucial component to the all-oral treatment of HCV genotype 1.
In the modern world, it's not ideal to create a drug to cure something. Once people are cured they no longer need your drug. That's why we have so many drugs like Lipitor and Viagra that treat symptoms but do not cure.
The "problem" with Sovaldi/Harvoni is that the patient only takes it for ~90 days, and then they're cured.
The drugs are cheaper than regular treatment of Hep C - which ends in liver transplant. Do people think the price tag was just random? No, it's because this is a price at which the taxpayer saves money by curing the disease vs. blood transfusions, liver transplants, lost economic value, etc.
Not to mention that the waitlist for a liver transplant is getting halved as we cure Hep C.
As we slam Gilead the other really evil pharma companies like Pfizer are taking notes and patting themselves on the back for creating drugs whose end goal is to addict the consumer.
What if western governments stop enforcing drug development intellectual rights? Not going to happen before hell freezes over, but let's have a short thought experiment.
Quality health care for all would probably blossom thanks to more access to affordable drugs than ever. Drug development would probably slow down significantly without compensating measures. But would that be so bad? Medical research is increasingly a game of diminishing returns... Many but the rarest disease puzzles have been solved already. And the huge profit margins show the current drug development system has proven inefficient handling these rare corner cases. Think https://en.wikipedia.org/wiki/Alexion_Pharmaceuticals . With more patents starting to expire, the existing drug development model will only get more inefficient...
Aren't there more efficient ways to incentivise drug research?
Crazy idea... Bootstrap an open source drug with maecenate and/or public funding, or market an existing generic with a sympathetic history. Make it super easy for people to donate something extra on top of the drug price. Think a tip at the pharmacy, directly to the researcher's drug development budget. Their drug cured them or their loved ones! Put a picture of the research team on the packaging. Show people these researchers are heroes.
On the other hand, if enough people exploit loopholes like this, and the pharma company actually felt a significant drain in revenue, they may decide not to license the manufacture of these drugs in India at lower prices. If $84,000 seems unreasonably high in the US, imagine how out of reach it will be in India, where the cost of living is much lower.
As far as the company is concerned, that could even be a preferable outcome. Cash now and the marketing benefits to promote its other drugs.
Edit: Just a reminder that eminent domain requires paying the property owner. https://en.m.wikipedia.org/wiki/Just_compensation
As a note, when they have to make risky research they put the risk into a spin-off company with investors that share the risk, and this is how you end up with Gilead buying this probably co-founded research company.
> Gilead Science was first out the gate, bringing the new hep C drugs Harvoni and Sovaldi to market in 2014 and 2015, respectively. And they worked great: More than 90 percent of patients taking the new drugs saw the hep C virus wiped out in three months, and without the side effects that made interferon treatments so intolerable.
So, Gilead is exactly the company that created these drugs from the very beginning. I'm looking at it this way: in 2013 (situation A), there was no cure ("cure" is a simplification, of course, but for this kind of analysis it's not an important detail.). In 2016 (situation B), there is a cure, but it costs $86k.
Now, the moral question here is very simple: when you change the world (as Gilead did) from situation A to situation B, is it net good or net evil deed? In which world of these two would you prefer to live?
My instinct is that pharma development should be carried out by universities (the state), so it's benefits can be shared with all citizens.
However, this line felt of out of place:
- "And then there's Gilead. It didn't even develop Harvoni itself; it made a business decision to pay $11 billion to buy the company that did so it could be first to market and reap the rewards, $26 billion worth. There is something obscene about that. A billion-dollar profit would have been a very respectable return on investment, but Gilead is getting much, much more than that"
I mean, why is that obscene? We have seen crazier returns in [insert latest "stupid" app that made billions]. These drugs are difficult to manufacture AND to market. I am sure that if the return would have certain, then the seller would not have sold the company for that amount and would instead reaped the presumed returns.
I think pharma is entitled to big returns because their business is really risky.
I don't know where the answer is. Maybe it is government-driven pharma (yeah like the federal government is ever going to be good at anything), or a SpaceX for Pharma.
The article is unfair mentioning Shkreli. He has always offered his drugs for free to anyone that couldn't afford them. It has always been his policy and continues to be so.
I think it was the Insurers and their paid for Politicians that created the stink. To this day I still haven't heard of one person that had to pay the $750.00 a pill but just their co-pay and if they had no insurance they got it for free.
Surprised this drug isn't available for free for those without insurance or is it?
I bought Ledifos in Hyderabad, through med tour agency. The trip cost me just over 2600$, tickets included, and I only paid once in India. The guys are mellow, everything went very smoothly: hotels, doc, prescription, pharmacy, all is done in 3 days (www.cure-hepc.com). I know you can do cheaper if you just buy online, but when you pay online you never know if it's a scam.
That's a 12% return in 2016, which isn't nearly as good as the comments in this thread would have you believe. It's an okay return, but it wouldn't really be a good investment unless they can grow those sales more. It looks like they have had some growth compared to last year, so maybe it will end up working out for them. It's certainly not "100x in profits".
A Google search shows the disease is ultimately hard-to-transmit and preventable. $84,000 seems like a fair price to me for this particular case. Google says the total cost of raising a child is "$245,340", so paying a 30% premium in rare cases doesn't seem unreasonable.
A separate complaint is that the financial industry isn't covering this case well. If you expected your insurance to cover it and they don't, that is an entirely separate issue than the price of the drug. Even if they don't, it seems like there should be a market for people wanting loans to pay for cures: It seems really hard to underwrite such a loan, but it could probably be done.
What does good insurance from a reputable insurance provider that reliably pays out their claims in cases like these cost?
(Edit) I may have misread the earnings report, thinking it was for the previous year rather than the previous quarter. So the percentage is closer to 50%, and a commenter clarified that they also had another product.
 Going down the list on one site that lists transmission methods: Don't have sex with weirdos carrying diseases; don't share needles with druggies; go to a licensed upscale commercial tattoo parlor instead of some shady cheap one
These questions of cost and value go far beyond HCV. It is a popular, medical, and entrepreneurial dream to cure cancer wholesale with a single easy course of treatment. While cancer isn't a single disease, perhaps we should begin asking now how we could assess the value and pay the price for such a "miracle" should a cure for any of the most common cancers be developed.
I would try to arrange testing before starting therapy, or at least at the point of starting therapy. There are labs that will run the test for a few hundred dollars (and a lot less if you know someone at a university, it could even be an analytical chemists' bachelor degree project).
Salary ratio: ~5:1 (Software engineer, Google based on Glassdoor); Albendazole drug cost ratio: ~700:1
We're getting ripped off!
Here's how they're doing it!
We're all in this together!
We have the high ground!
Here's what we have to do!
Look another episode of Game of Thrones is on!!
Who's fucking who?
That is how it should be. The moment government controls prices, it will slow down overall capital investment in invention of new drugs. I think $80k price is perfectly fair given the scenario.
Until Giliad Science invented that medicine the alternative to the medicine was assured death by cancer. Have you ever paid medical bills for cancer ? $80k does sound like a reasonable amount to pay for one's life in a developed country like USA. In India value of life is much less and I am not surprised Indians are willing to pay much less for their life.
Poor Indians are benefiting at the expense of rich Americans. Indian would prefer to die than borrow and buy a $80k medicine.
I think if Americans can save money by offshoring the cheap call centers to India they can also save money by getting their health treatment in India. The thing to remember here however is that if you die in an operation theater in USA your family might get millions in compensation. In India you have to say bad luck and move on. The pills that you buy from India could be nothing but horseshit packaged in wrappers and you can basically do nothing even if you find it out.
US is at the forefront of drug inventions because markets are allowed to function, surely companies are making ton of profits but I suggest you try setting up a company and invent the same drug and sell it for cheaper price. Inventing drugs is like a startup, a giant number of research projects fail, handful of succeed. People remember Facebook and its obscenely rich Zukerberg they don't remember Bozo inventor of JokerBook, a social network for clowns.
It would be good if Americans learn to appreciate what they have rather than complain about everything.
Dental insurance is as bad. Travel to India + dentist costs are often cheaper than one time treatment costs.
If they are charging this amount of money, it is because someone, somewhere, in some deep and mischievous and evil place inside those big pharma buildings, has crunched a lot of numbers and figured out this is the "correct" price for them to charge for this drug. That is their income-maximizing price. And THAT is what's insane.
Blaming them for "greed" is idiotic. But you have to scratch your head and think of how on Earth the best strategy for them is to sell a product with a price tag that no individual could really afford!!! That's the real mystery, and when you start asking THAT question, perhaps you end up realizing that the answer isn't so clear.
For starters, maybe ingenious strategy devised by our hero in the article, and the Indian government's positions in generic were foreseen by one of the thousands and thousands... upon thousands of lawyers, and business experts, and consultants that these companies hire, so they quickly realized that the name of the game HAS to be that they need to squeeze everything they can out of the U.S. market to make up for the hits everywhere else.
"But wait, no one will be able to afford the drug," exclaimed one novice executive at the pharmaceutical. "Not to worry," the senior counsel said, "we have medicaid in the U.S., and that's where most of our customers will come from. You see, the government will effectively be our client, and since they won't have an option not to offer this treatment, all we need to do is ensure we have amazing terms with this ONE customer and we'll be aaaaaaalllll set." Etcetera, etcetera, etcetera.
Don't blame the pharma companies. We have ZERO competition in many dimensions of healthcare. We have a drug approval process that costs billions of dollars for a single drug to get through, and the academic evidence is quite clear that it is actually killing more people than it is purportedly saving. I had back surgery three years ago, and a line item in my medical bill was "juice - $25." I stayed in the hospital for 19 hours. It cost me $40,000 FOR NO GOOD REASON whatsoever. I also had shoulder surgery overseas, with a Harvard medical-school trained doctor who operates on world class professional soccer players. I was in a phenomenal hospital for two days, in a private room, with nurses checking on me every hour, the works. The sticker price? $7,000. Without a penny of gov't subsidy.
Big Pharma isn't the issue. Our policies towards healthcare are crippling us to no end.
Selling those drugs back into the US market clearly goes against the pricing agreement. Based on what I read in those articles about Paul Le Roux, these online drug outfits have way more volume than you might expect, and they apparently can run for a long time before being shut down. This is partly a submarine ad in that sense, even naming sources. You also might expect customs to intercept these packages, but when Le Roux can share the same FedEx account number across all their pill shipments, clearly inspection is expected to be lax. So the result is these pills could actually be pouring back into the country, and hiding within the inventory being sold for consumption actually inside India. It seems like Gilead revenue is strong for now, I don't know if they consider this to be a significant risk.
In some cases insurance will not cover if you are not showing symptoms. But if they do cover it, you will be on the hook for just the out-of-pocket maximum for that year. Any other health care you receive that year will be free, so that could also help justify the cost. But in this case the insurance company didn't want to cover it anyway, so the patient was forced to pursue a gray market purchase. I'm pretty sure Gilead is pushing hard for insurance companies to cover anyone with detectable disease regardless of symptoms, and ultimately that's what we want. There's a huge population that avoided the prior treatments, but would jump on this in a second.
Everyone who has HepC should get this drug. But if we can't afford to cure everyone today, how do prioritize access? And how do you limit access to an FDA approved drug for a diagnosed illness anyway, when the alternatives are more expensive and less effective? Well I guess in some places, like the NY AG is requiring coverage for commercial insurance plans. NYT reports that Medicaid is still denying coverage until the disease has advanced.
We want people to pay the "right" price for this drug, really a miracle cure which is lowering the cost of treatment actually. So how do you price it? The price to the insured patient today will vary based on the financial means of the patient. The revenue to Gilead is negotiated with insurance companies / benefit management companies, and is far below the sticker price.
Sorry: this is not based on any real experience or references, just the overall assessment of how India stands currently.
> The interferon-based treatments weren't successful half the time, and the side effects were so debilitating few patients could endure the months-long punishing protocol.
If the success rate is 50%, I would say that's pretty good, especially since we're talking about treatment, not just managing the disease (as we can only do nowadays with HIV). And from the product monograph: "The most frequently reported adverse reactions were mostly mild to moderate in severity and were manageable without the need for modification of doses or discontinuation of therapy. "
But no doubt, the pre-existing therapy sure has a pile of side-effects.
This isn't about the W3C.
This is about EME, and about the companies that created it and promoted it: Google, Microsoft and Netflix (as you can see on the spec, for example https://www.w3.org/TR/encrypted-media/ ).
Telling the W3C not to do DRM is not going to be effective. The only thing that can work is to put direct pressure on the parties behind EME, and their products: Google and Chrome, Microsoft and IE/Edge, and Netflix.
Not only is it not effective to focus on the W3C, it's counterproductive - it shifts the blame away from the real culprits just mentioned. If you lobby the W3C against EME but still use products from the companies that created EME, you're sending mixed messages at best.
Furthermore, even if somehow we got the W3C to not do EME, it wouldn't matter. Google, Microsoft and Netflix would still be implementing it. They would just find another standards body.
The same thing goes for encryption on Blu-ray discs, which forces Blu-ray player manufacturers to sign agreements with them. HDCP on HDMI and DisplayPort asserts control over TV manufacturers and infests video cards.
This is the same industry that pushed the DMCA on us, extends copyright in perpetuity, sues families because their kid downloaded an MP3, would like nothing more than SOPA to pass, etc, etc.
I know that the comments here like to demonize Google, Microsoft, Netflix, etc. Honestly, I don't believe it's their fault; Netflix in particular. Netflix is in no position to fight this. If they say no, the media empire will pull all their licenses and the company will collapse. And Netflix is already fighting for its life against these same companies for net neutrality (the major ISPs are owned by the media empire...). Google is leashed by its need for advertising revenue. Microsoft is beholden to its customers, who want access to DRM'd content.
In other words, we shouldn't be taking our fight to the W3C, Google, Microsoft, Netflix, etc. The media empire is the real enemy here. And there's hope. The rise of cheap, digital cameras and distribution platforms like YouTube and Twitch have enabled a wide array of independent artists to create AAA content mostly unbeholden to the incumbent media giants. Some of the best and most entertaining content I've watched has come from Patreon funded YouTubers. If that was the only content that the world watched, the media empire would starve and whither away, and DRM along with them.
This is the crux of the issue. The W3C is creating a standard which gives control to the publishers over which browsers can display their content.
Whether that's "right" or "wrong" is worth debating, but sometimes the real issue at stake gets obscured in these discussions.
This seems to be a step to far though. The browser should be a standards based 'viewer' that anyone with the will and the time can create. Let's say Netflix implements this DRM. They account for more than a third of internet traffic. If your browser can't support Netflix it's dead in the water.
This is open to so much abuse. The gatekeepers (it seems to be the entertainment companies in this case) get to choose which browsers live and die. As we've seen over the last 20 years competition in the browser space is very important - without Mozilla stepping up and competing with IE I can't imagine the sorry state the internet would be in today.
Edit: Once again, the DMCA rears it's ugly head. Time and again it seems to be the thing that is abused to screw over consumers. Maybe that's what we should actually be fighting against.
Isn't this just a standardization of the status quo, with Flash/Silverlight? Why is it that I always feel like I'm being sold a bill of goods when I read EFF pieces?
Unfortunately, convictions won't have consequences on future decisions because the standard is here and the more you wait the more it becomes embedded. W3C allowed it to come to light when various plugins wouldn't make DRM viable or at least more difficult to implement and reach general agreement. Now, even if you can opt out with Firefox, Netflix really don't care about that because you decided to disable it so you are a bad client anyway. I understand why the article is talking about pop-ups because the moment Firefox decided to implement it, we lost the fight. I use Firefox but lately, I am saddened by their lack of strong convictions and how they tend to follow google a little too much. (At least, FF sandboxed the CDM, while not perfect, the other browsers didn't do it, isn't it?)
Innovation comes through competition, not monopoly. Ideally, we'd eliminate patents and copyrights altogether, but as a compromise, I think having terms of 3 years, with no renewals, is fair. That way a business can capitalize on what it creates and get a 3 year head start on competition, but you still get competition fairly soon which benefits consumers.
Firefox implemented this since May 12, 2015 -- https://blog.mozilla.org/blog/2015/05/12/update-on-digital-r...
Chrome's had it since v 42
The browser without EME will be pilloried by its users for not supporting the content they want to access. Users use a browser to access content, not to support philosophical positions on what software should and shouldn't do.
The lesser of two evils was chosen. You don't have to like it, but that's the reality of this situation. It is not realistic to suggest that the largest browser vendors not support user demanded content.
Speaking of philosophical positions, most DRMed content accessed by a user in a browser is going to be of the streaming variety, i.e. something that DRM isn't preventing you from doing something you're otherwise not supposed to be doing anyways.
Hope the new servo engine can make FF shine again otherwise I fear the worst.
Capstone is based on LLVM, that you cannot beat in term of architectures and industrial quality, and has great plugins, which make it kind of my favorite.
Of course, for non-scripting needs, you need decent graphical interfaces, as provided by these ones:
IDA is clearly the best, but Hopper is a fair choice if you need it and you can't afford IDA license for personal use.
[Edit: add forgotten IDA and Hopper...]
"Panopticon is a disassembler that understands the semantics of opcodes. This way it's able to help the user by discovering and displaying invariants that would have to be discovered "by hand" in traditional disassemblers."
Doesn't every disassembler have to understand the opcode semantics in order to disassemble and make sense of them or am I misinterpreting that statement?
Also can anyone explain what the "invariants" are? When I hear the word I can only think of loop invariants and I'm guessing that is not what the author means here.
Hey I'm Kai Michaelis, I'm in an IT-Security Masters program in Bochum, Germany and work part-time for people who use the term Cybersecurity unironically.
Good lord what a cliche name.
Relatedly, here is a post 6 years ago by someone putting in a root backdoor in a device he designed --- and explaining how to use it:http://www.bunniestudios.com/blog/?p=1140If that was today, someone would discover it, scream "backdoor! security vulnerability!", and it would be all over the news like this one. And that makes me very sad.
But apparently they stepped up their game. Even for debugging this is an odd one.
Now, who wants to blame upstream kernel maintainers for not merging in all the dirt around and requiring high quality of code submissions?
This could be locked down so that, say, only processes which are members of a certain group can open a file descriptor to this proc entry.
This is a lot of unnecessary effort to implement something that can be obtained with a simple /bin/rootmydevice executable that is chmod u+s. (Though it is somewhat more streamlined: no intervening process execution is required).
Which, in turn, is a lot of effort to reinvent sudo.
(But of course, those are arguably front doors; you can easily scan the filesystem image for items that have u+s perms.)
I would do this kind of hole differently: why not just hack the kernel so that any process can do setuid(0). Or, slightly hide it: say, setuid(-42) gives you root privs.
He should have added:
3. add a backdoor;
Hence I am forced to choose other form factors.
It would be nice to flash my own choice of BIOS. As far as I can tell this is still not too common. That is a project to which I am willing to devote large amounts of time should the information needed ever become public.
It seems the newer the hardware the more complicated and difficult this becomes. By my estimation, there is certain value in older hardware because it is not as complicated and can be easier to control.
Here is an idea that stays with me year after year: another open source OS project that chooses a single item of hardware and supports only that item.
Silly fantasy: Perhaps a deal is struck with one or more factories that can produce it. Perhaps the terms could be public. Maybe user-developers become faithful and loyal buyers of the hardware, because they like the control. Perhaps they directly pay the costs of production through donations. I have no idea what would happen. That's the point of trying it.
Building this sort of symbiotic relationship between open source user-developers and a single hardware manufacturer based on a single item, one could reason it is in the best interest of the manufacturer to open the specs to the developers, if not the public.
I leave it to you to list all the many reasons this is not worth doing. Then sit back and enjoy the status quo.
But for those of you who are avid users of an open source OS, I ask you to consider:
Do you ever get tired of watching the project trying to keep pace with new hardware? How do you feel about when the manufacturers will not disclose the specs? Are you OK with binary blobs in your "open" system? How about not knowing whether your OS of choice is going to work with your new hardware? What if there was one item of hardware that you could be absolutely sure was always going to work with your preferred open source OS, and to its maximum capacity?
OK, you may now return to chasing the new (locked-down) hardware. Thank you for your time.
DDoS protection by CloudFlare
(search for rootmydevice)
2/ if you don't like the Desktop App (or are using Linux), you can use https://web.whatsapp.com/ and/or the Chrome extension WhatsChrome https://chrome.google.com/webstore/detail/whatschrome/bgkodf...
I'll keep using my custom wrapper with NW.js (apparently this uses electron) until this behaviour is implemented...
I removed whatsapp from my phone precisely because it took up too much space, with all the photos and videos being shared daily. It's a shame really.. a desktop app would've been a great alternative
Now please Signal. Give me something we can all work with.
Edit: I downloaded and successfully launched this on Windows 7. It seems like a standard Electron app. Now I wonder if the Windows 8 requirement is purely for tech support reasons, or if there's some specific feature that would fail on Windows 7.
edit: on the plus side, looks like it's just their web app repackaged using Electron. Still not sure what all these helpers are for though
This is literally companies causing harm (and not just economic) harm to societies citizens at large. I respect jlafon's point of view but I can't agree. The fact that a system you create is difficult to adminster should not mean that the cost of dealing with it should be passed along to your 'customers' (gagging as I use that word). When a group of people chooses to put others in a position of limited power they have a responsibility to protect them from harm. Treating prisoners as a revenue stream at all is immoral and I believe unconstitutional. The argument that they should pay or do anything to contribute to their imprisonment is vapid and ugly. If we aren't willing to shoulder the burden of imprisoning them then we shouldn't do it. We absolutely should not be charging them or their families usury amounts of money to satisfy rules and situations we created.
Letting prisoners use the phone is labor intensive? Why? because you created rules and a system where it is. To spin it as more complicated or containing 'reasons' is post hoc justification nonsense and should be treated as such.
 Summarized here: https://www.prisonlegalnews.org/news/2014/apr/15/lowering-re...
Mandate at least two providers at each prison and let them charge whatever they want. Let them race to the bottom so you get the same cheap voip rates the rest of the country has access to.
Oh and if they collude on pricing, throw the management in the same prison.
I bet they'd also start competing on the features the prison cares about too. Like tracking who's calling who, speech to text transcripts, and service levels.
Problem with this approach is that it doesn't allow for the cronyism that is ripe in this type of industry.
There was another link discussed here recently (https://news.ycombinator.com/item?id=11648361) about how these exorbitant prison phone calls are being replaced with video calls- and ONLY video calls. In the linked article we have this quote: The alternative to high rates isnt lower rates, the association has suggested the alternative is that phone calls in jails will be done away with entirely. "Absent these commissions," association president Larry D. Amerson wrote in a comment to the FCC, "counties would need to either increase taxes for the system or jails could potentially cease to provide inmates with this service." So either continue to support this monopoly, or don't speak to or see your brother/cousin/mom in jail at all.
Here in New Jersey where I live, as of yesterday you can no longer visit an inmate in a couple of our prisons, in person. Instead, you can pay Securus for a video connection to the inmate you'd like to speak with. I think if more people who were not directly connected to the System via a friend, family member, or personal experience were aware of what's going on, they would be appalled. Instead we conveniently pretend this stuff isn't happening.
From the linked article: [Securus'] Smith defended his companys profits on many of the same grounds other inmate phone companies do. The contracts, he says, are a source of funds for crucial corrections services like health care. "Its really a public policy issue," Smith says. Securus also provides security services, recording calls sent through its system and intervening to break up any illegal plots that it detects. "We really feel like we perform kind of a noble service for society," he says.
What he's not saying is that local municipalities can also get a kickback from the money paid to contact prisoners. So not only does it fund healthcare within the prison system (which of course are also increasingly privatized, so how much of that money do you think can be claimed as profit by the company running the prison), but to fix potholes etc in the local town.. on paper, at least.
What I wish these stories left me with is what to do next. Who do I call, petition, or vote for to get this changed?
As a former foster parent that was just trying to connect with the birth parents while they awaited trial, yeah those prices suck.
But hey, who cares about people accused of crimes, right? That's the American way.
This is not how a government should treat its people.
EDIT: VICE did a piece in 2014 on people getting locked up because they could not pay their parole fees. Yes, debtors' prison, where parolees pay (or not) for the privilege of freedom. https://news.vice.com/article/debtors-prisons-are-taking-the...
He was making a ton of money last I talked to him.
Rather than Thoreau's "quiet desperation", the masses instead seem bent toward lives of "clawing desperation".
I think the motivations they list are:1. Different I/O model2. Was started before Kafka had replication (the first release of Kafka with replication was in late 2013 I think)
The I/O model I'm less sure about, we looked at similar things for Kafka and they didn't seem worth it (basically you're doing a ton of stuff at the app level that the OS does pretty well--namely caching and buffering linear I/O), we'd have to look at actual benchmarks to know.
Here is my take on the pros and cons of the core tech.
Pros:- Seems to have better built in support for fencing/idempotence- Better geo placement?
Cons:- Lots more moving pieces. Already people are irritated that there are both Kafka nodes and ZK to set up. This system seems to split this over separate physical tiers for serving, core, storage, and zookeeper. My experience has been lot's of tiers is generally a big headache.
Neutral:- There seems to be a built in achival to HDFS. I think if the consumer is fast and efficient then you don't need to reach around your consumer api which will be high latency (since you have to wait for files to be closed out).
There is also a bunch of stuff Kafka does that I'm just not sure about how complete it is in DistributedLog:- Clients in a bunch of languages- Integration with all the major stream processing frameworks- Log compaction http://kafka.apache.org/documentation.html#compaction- Connector management http://www.confluent.io/blog/announcing-kafka-connect-buildi...- Quotas/throttling- Security/ACLs
Also, once you're on the Big Data train, a lot of things like to plug into Zookeeper, so it becomes more of a convenience.
Kafka, and presumably DL, are at their most useful when you're pushing the limits of NIC and/or HDD performance for throughput. Zookeeper's configuration is a footnote in the complexity of managing one of these systems, and lets them avoid implementing their own byzantine coordination system. Also, folks seem to appreciate Aphyr's opinion, and he states it pretty plainly: Use Zookeeper. Its mature, well-designed, and battle-tested. 
On another note, I find it somewhat funny that these are called "log" services, logging is probably the least interesting use case for these things I can think of. A better description in my mind would be as a distributed event processing framework, since what they are really doing is distributing discrete events in a reliable manner.
What's your unique ID scheme?
Let's say I'm willing to believe that you've got Durable and Consistent down, once messages make it committed in to the system. What's the story for messages on their way in? My application logs are buffered to the local disk, now I'm streaming them into central storage, and halfway through a TCP connection that's shuffled 2mb of thousands of messages into storage, the connection terminates -- unexpectedly, midmessage. Could the service have committed more messages than it acknowledged? Or many less than I've sent? Both could be true from the network standpoint.
So, what I need to know, and what should be very easy to answer, front-and-center in your docs, pretty please:
1) Where should my log uploader resume?
2) Is there any danger of repeatedly entering some lines?
3) If I have log lines that are legitimately duplicates, will they be stored at the correct count?
These are questions that may have a different answer than the durability after data makes it fully into the system. It also may provide useful information about how complexity the code in a submitting client is, because good answers tend to require some kind of ID sequence being assigned on submitting clients, afaict. And it's really just plain critical to sanity.
 well, no, I'm not, "trust by verify" in all things etc etc; but let's suppose that's more believable and something I have to mechanically verify anyway, and doesn't have an obviously observable boolean at the protocol level as to whether it's going to work well or not, and system internals simply don't have such a sordid history of being over-simplified until they're broken like client interfaces so often are, so...! We'll handwave that to a later and more involved step of quality investigation.
I have had too many deployment nightmares with Zookeeper. I would prefer to avoid it as much as possible, plus systems software in Java, sigh.
Since I'm on AWS EC2, I want to try this:
- Write the logs to local SSD, asynchronously so as not hold back the http request. - Have a separate cron job that loops through the log directory and scoops up all the files. - The job will then stuff those files into a Kinesis Firehose. AFAIK, Kinesis Firehose does not require any capacity provisioning, unlike the Kinesis Streams, so I'm set "for life" (up to 5MB/second) - The firehose will accumulate the logs and put them into S3. Hurray unlimited storage! - S3 will trigger a Lambda. - Lambda will parse through the log from S3, pull out interesting properties (IP address, user id, session id, etc) and stuff them into a DynamoDb table. - If I need to see data from one user/ip/session I will use DynamoDb to find the right S3 blobs. - If I need to reprocess the logs to extract a new piece of data that I did not foresee earlier, I can run a map-reduce task
Any opinions? I don't really want to use a SaaS log service because gigabytes per day.
Cassandra doesn't work, and Hadoop is a complete waste of hosts for most companies (hence the move to Spark.)
There are a number of studies that back up this claim. A 2008 study found that 88% of journalists donate to the Democratic party. Jonathan Haidt has shown that non-economics social sciences skew more than 14-1 liberal to conservative (and that universities have not always been so skewed).
For anyone who believes these statistics are not based on overt discrimination based on political viewpoint, a recent study showed that discrimination by party is stronger than that of race. The study did so by reproducing a landmark study that demonstrated the existence of unconscious racial bias (the implicit association test), but instead using political indicators. They found that partisan political positions triggered implicit associations 50% stronger than that of racial biases. There is also a recent book called "Passing on the Right" which provides some personal narratives of conservative academics.
If you're relying on academic knowledge to provide you a sense of reality, you're viewing reality through a lens that is biased to a 93% degree towards one political pole, and then receiving that knowledge through a media system which is biased to an 88% degree towards that same political pole.
Even if you, like me, generally believe that the liberal political position is correct, ideological conformity of this magnitude should frighten you.
This is a bit of a click-bait title, and is somewhat true -- but not in the way you think.
When FB was developing hashtags and content features, there was a concern that it is tough to find a middle-ground between 100% purely algorithmic generated content (i.e. leverage tastes data and supply articles suited to your interests) and 100% curated content (i.e. leverage tastes data, but only show articles from "reputable" sources and/or highly rated content, over shitty blog posts from amateurs.) The latter tends to do really well for engagement, as users can trust that the content they're seeing is reputable and popular. However the big concern that a number of us were raising was that tech companies have employees that are very biased in ways that they cannot control: they're younger, more liberal, and somewhat higher income, than the average FB user.
In my time there, I never heard of _explicit_ suppression of any viewpoints - with the exception of recent disagreements around the "Black Lives Matter" protests, the first time that I encountered a situation where disagreeing meant you were labelled a "racist" - but I can see why well-intentioned product and policy decisions led FB content down this hole.
In many European democracies there's a functional multi-party system where parties appear and disappear over time to reflect voters' opinions. For example, there might be a protectionist right-wing party that's favored by farmers, and another one that supports free trade and listens to big business. Same happens on all the axes. Governments are formed as coalitions of these "SMB-sized" parties based on the votes. It's not "winner takes all", but rather "winners and not-so-bad-losers negotiate to find common ground".
What if the Republican and Democratic parties would break up into 6-10 new parties to better represent the actual opinions of the existing divisions within these parties?
Statistics like "88% of journalists are anti-conservative" show how difficult it's to say anything meaningful about a polarized political field. To look at it another way, that 12% is roughly the level of support that extreme right-wing political parties enjoy in Europe these days. Lumping 88% of European voters together as one party would be ridiculous because that party would contain both former communists and free-trade globalists.
Similar to how I give my electricity provider money, and they give me electricity.
Now FB clearly sees themselves as (let's be honest) a "power broker" or "rain maker". Not the same as "utility" or "network connection" or "conduit".
Discussions with friends have become more interesting for sure as I reveal their biases.
From defending real violence over threats of violence, (Trump rallies and protests) to ignoring crime statistics, to just being woefully ignorant of what position the other side actually holds, it's incredible to see just how steadfast the Left can be in their ignorance.
Other governments may be starting to come to the same conclusion.
Of course trending news is curated. All hell would break loose otherwise.
There is no shortage of rabid political content conservative or otherwise on Facebook. A good part of the end user community would rather not deal with it.
If your cause is just, isn't a non-violent protest enough? Speaking about it, voting with your dollar, etc?
> Other former curators interviewed by Gizmodo denied consciously suppressing conservative news, and we were unable to determine if left-wing news topics or sources were similarly suppressed. The conservative curator described the omissions as a function of his colleagues judgements; there is no evidence that Facebook management mandated or was even aware of any political bias at work.
It sounds like any issues were from curators who weren't being adequately supervised, instead of top-down orders from executives at Facebook.
This is different than what the current Hacker News headline suggests. Can we all collectively read the article and understand that the issue is different than our preconceptions lead us to believe?
I want a collapse in trust in the major social networks. This is the internet we are talking about. Let them suppress, and let them see what happens.
And even he seems pretty indecisive about it being an institutional bias: "Id come on shift and Id discover that CPAC or Mitt Romney or Glenn Beck or popular conservative topics wouldnt be trending because either the curator didnt recognize the news topic or it was like they had a bias against Ted Cruz."
If Facebook is trying to suppress conservative news, they're doing a terrible job of it. I see far more Trump than I would like.
Previously we heard that they run experiments to alter users news feeds to see if they could alter their mood, now we learn they're engaging in what is basically propaganda by suppressing certain viewpoints. And all this for what? So that you can be advertised to while you waste your time on the internet. What a terrible company. Speaks ill of humanity that it is so popular.
The problem is that these companies are hiding behind the "But it's all just an algorithm" defense, when, in fact, as we all suspected, there are real people behind the scenes slanting things.
My gut tells me that a lot of tech companies are subtly controlling the types of news their consumers get. Overall this is probably a good thing -- helps keep the quality high. But I'm a libertarian. If a bunch of left-leaning folks start controlling what I consume from a political angle and not just quality angle -- and then lie about it? Really pisses me off.
Yes, you're a private company. Do whatever you want. It's the lying that's the problem here -- and the implication that the electorate needs people better than they are to control and guide what they're allowed to talk about.
I bet we continue to hear about this, and in places most people would never suspect, over the coming decade or two. This is unacceptable, and something is going to need to give somewhere.
Among the deep-sixed or suppressed topics on the list: former IRS official Lois Lerner, who was accused by Republicans of inappropriately scrutinizing conservative groups; Wisconsin Gov. Scott Walker; popular conservative news aggregator the Drudge Report; Chris Kyle, the former Navy SEAL who was murdered in 2013; and former Fox News contributor Steven Crowder.
What scandals were being discussed yet suppressed from the "trending news" list out of these examples? How many of these examples are actual news stories? The IRS thing turned out to be overblown bullshit, what about the rest of them?
When was the last time you heard your friends talking about Scott Walker, the guy who flopped in the polls and dropped out of the race before a single primary?
It shouldn't be surprising if these curators decided to wait to see if a story being shared from breitbart.com was reported by bigger news outlets first. Many of these so-called conservative media outlets have a terrible record on reporting actual news.
It is possible that Facebook suppresses actual news. It is also possible that this source (falsely) believed that not-really-news-or-trending stories were "suppressed" when in fact they were just not popular or smelt like bullshit.
1) I do sometimes suspect biased curation 2) They can be astroturfed 3) Even if spontaneous there's a virtual mob mentality that comes with trending topics.
Trending topic lists are ok if they're on their own separate page but when you have it upfront the subtext is "this is what you must care or know about".
Anyhow, I find this abhorrent, but I think Facebook has every right to do it as a private entity. I don't think they have a social responsibility to be 100% even. What does bother me is that they claim to be evenhanded, I do want transparency, especially when you are basically the monopoly in social media (excluding Snapchat and Twitter, they own everything.)
This also presents a problem, I think with Twitter's new algorithmic timeline and why the real-time feed is vastly superior for their model (I'll beat this dead horse until Jack realizes how dumb it is.)
Maybe a goal here is to try to ensure that the FB community does not _appear to outsiders_ to be a right-wing, conservative, un-cool community.
If the FB user base were seen as a collection of mainstream, or even right-of-center, people, it would be bad for business. A lot of observers and decision-makers in industry might spend their ad dollars somewhere else.
Heh, not really a big surprise to me. Rule probably doesn't apply to whenever MZ makes a big announcement though. Betting those got stuck high in the rankings from day 1. Anyway, sounds about right for any image-protective service, or, you know, typical state-run-media censorship.
The day Bill Clinton got elected, Rush Limbaugh started counting the days of "America Held Hostage".
Today Fox News leads every day with how there is a Nggr in the White House and we all hate Obama and everything he stands for, and it is a tragedy we will get four years of Hillary because the Republicans are so screwed up, and...
Right wing "thinkers" get unlimited funding from the likes of the Koch Brothers and free copies of their books get mailed to all the public libraries in America. Even on "liberal" CNN they regularly have panels of "conservative thinkers", and the Economist features a "conservative thinker" who is a Senator from Nebraska.
When they bring a "liberal" on it is always somebody who works for a campaign or the Democratic party.
Conservatives get all the breaks but they are always bitching they aren't treated fairly. It worked for Nixon but hasn't worked for any Republican candidate ever since.
Clearly something the community would like to discuss; clearly something HN doesn't want discussed.
It's not clear who (in the hierarchy) is behind the decision to shape the news nor is it clear why they would mainly suppress conservative stories over liberal stories. Are liberal sources less prone to exaggeration? Or would they simply upset their audience less?
Interesting never the less. And certainly this could have serious repercussions on how news is consumed and perceived.
Also way cheaper than funding a super pac am I right
But let's stay focused on the topic, Facebook.
We agreed it would be catastrophic if either decided to lean one way or the other...
Facebook is essentially suppressing free speech. Although, it has somewhat a right to do what it wants, it is skewing what other people share with one another (which is a big deal)
More concerning than trending news actually being curated news is learning that negative stories about Facebook were allegedly actively suppressed. Doublenotcool at all.
However, that there is "conservative news" and "liberal news" is even more bothersome. Especially that it's offered as something anyone should find to be acceptable as an idea at all.
> But we would have to go and find the same story from a more neutral outlet that wasnt as biased.
This is delivered as if it is inherently a bad thing, when it most assuredly is not. When I come across a story about anything, I actively prefer to find it covered by a neutral outlet that isn't as biased. This is, to me, a good thing, and what news should be. News should be information about events. If I want opinionated and editorialized news, I'd go after an opinionated and editorialized source. They abound. That anyone who calls themselves a journalist would call out the suppression of "conservative news" or "liberal news", instead of calling out the elevation and coupling of inherent bias in reporting as the problem itself, strikes me as more than worrisome.
To my thinking, there is a difference between news that is of interest to [insert ideological group identification] and news that is delivered through the bias of [insert ideological group identification]. I would love it if there was a way to identify and filter news from a neutral outlet with less (ideally no) bias. I recognize that is largely impossible, as we cannot rid ourselves of our biases very easily. However, we can recognize our biases and seek to counterbalance them. We can also make attempts to actively omit them from news coverage. An outlet can report on facts.
That said, it appears this story highlights both: a biased suppression of news that is of interest to conservatives and news that is delivered through the lens of conservatively biased opinion and sources. The former is entirely bad, as it actively omits information that a group would like to know. The second is far less onerous to me, as I personally would love it if there were algorithmic delivery of actual news from outlets that eschewed biased delivery and editorializing.
Edit: It is made clear in the article that part of the problem stems from Facebook's desire to compete with Twitter for real-time trending news. This is unsurprising, as should the outcome be to readers and users. Facebook created a tool to allow humans to modify news in the trending section that wasn't organically trending. Someone thought this would be a competitive net positive because it could allow Facebook curators to keep up with breaking news that was "all over Twitter". That Facebook hired curators, and that one or more of those curators then divulged information about this tool being used to subjectively inject or suppress stories seems entirely unsurprising. The tool obviously should not exist. Creating it was a very dumb move. Not militantly monitoring and correcting its misuse was even dumber.
Facebook deleted my friend John Dickson's post, so this happens. I don't agree with John's post, but I don't expect civil (if I feel misguided) discourse to be deleted. I want to be able to speak to the person and state my position, and have them clarify there's, and so on - you know, free discourse and dissemination of ideas!
/me swirls whiskey and tips fedora
Seriously, do you even recognize how condescending you sound?
What kind of modules did you have in mind when designing this? Are any of the below possible?
* ldap backend login system
* multi-tenant redis
* alternate db format/file system.
* implement a new redis data type. say built-in date support
* can i implement new commands and operators on said data types
An of course, thanks for this fantastic software. We use it everyday. Will read in more detail about this over the weekend :-)
This is great to see. Instead of cluttering up the core engine with junk people can mix in their own functionality.
Are there plans for that? It's probably possible to do most of that with this module system but you'd have to serialize the data structure into a string and "type X" wouldn't return your custom data structure type.
Shows some sample modules from Redis Labs called RedisEx, pretty useful stuff (although most of these should really be in Redis by now but at least it's an option to include as modules).
This custom implementation was pretty good: http://blog.togo.io/how-to/adding-interval-sets-to-redis/
I think the only reason we don't is that deployment and testing isn't straightforward. Fingers crossed antirez will get this right.
Net result is it's very hard to read.
I tried Safari's reader mode, but that was even worse. Because all formatting comes from happenstance in the <pre> tag reader mode loses all formatting. The entire article (and code!) becomes one long block of text.
I'm continually amazed at people's attempts to reinvent text layout in the browser.
If you find any issues with Doppio or have any requests, feel free to open up an issue on our GitHub issue tracker.
I always imagined something like this should use the <object src="app.jar" /> tag. If you consider that someone could build a browser again with java in it, (like I have) then it would be good to design a polyfill such that, it allows for a native version to exist (and then doesn't run) Also using the same mimetype for jars, classes and source files seems non optimal.
It would be really good if gwt,doppio,teavm all agreed on a single api facade for targeting the browser API. I think that would really put some steam behind the underlying idea here.
Also if someone says this is useless an interesting use case could be e.g. a hybrid navigation applicationhttps://karussell.wordpress.com/2014/05/04/graphhopper-in-th... or portable native apps using a webview
BTW: I got lots of errors in the Firefox console saying 'Error: Assertion failed: A non-running thread has an expired quantum' although the example works (should have a progress bar :))
FIXED - forget this video, watch John deliver it at Microsoft Research! http://research.microsoft.com/apps/video/default.aspx?id=238...
I'm on a pretty anemic computer, but there's got to be a way to keep my browser responsive while it loads in everything it needs.
Note: jvilk explains the perfectly valid reason for this library in another comment below.
having text/java as MIME type - instead of at least looking up the correct one in Wikipedia makes this implementation look quite uggly on the first sight.https://en.wikipedia.org/wiki/JAR_(file_format)
Also I cannot imagine a single valid usecase for this.
They don't mention it anywhere, but you can find it in the package.json file in their git repo.
Then I realised the answer was probably "because they could".
Someone will write a C compiler in Java and stuff it in the browser next...
Then about 30 seconds in my reading got disrupted by a fucking light-box asking me to sign up or log in or god knows what.. my instinct to close tab won out over my curiosity. Please stop this pattern. If you really think your content is worth having to (whatever)wall from the public, do so, but don't make me get into it and then shove something mid word into my face. This is the digital equivalent of giving me a magazine to read, waiting until you're sure I've got my eyes on it, then shoving a business card in my field of vision and telling me what you do for a living. It's a low rent tactic, annoys rather than grips your users, and it reeks of desperation to monetize.
* Breakfast is the most important meal  * Saturated fat is bad  * Carbs are evil  * You regain more weight after a fast diet 
Most days I eat a bowl of brown rice with a raw egg stirred in and a dash of high-quality soy sauce and topped with natto. Some days I'll also grill salmon or smelt. On the side, I usually have tsukemono (pickled vegetables) and miso soup.
Protein, probiotics, pickles...once you get used to it, the idea of eating sweet desserts for breakfast (which is what most people eat) seems counterproductive.
(By the way, it's probably true that many people in Japan eat the same crap as Americans do for breakfastthere's no shortage of bread, donuts, etc.)
You can combat it by having a proper breakfast focusing on protein and low glycemic index carbs, eggs, steel-cut oats, omelettes, etc. A favorite of mine is proatmeal, make some oats and then mix in BSN Syntha-6 vanilla ice cream protein powder, absolutely delicious. The other way to combat it as suggested by people in this thread is to drop breakfast all together besides maybe having coffee and a granola bar.
The study suggests this is true even if you cheat on the weekend.
I'm super-dubious of evidence showing that breakfast improves school outcomes (except where it helps meet kids' calorie needs). You know what else boosts school outcomes? Sedatives, because school is hella boring. That doesn't mean sedating kids or adults is a good idea.
A few friends of mine fast intermittently and train in the morning before eating but it's beyond me how that is not just pure torture.
Very different energy demands from office work.
Title should be: How cereal became a thing in America.
Where I grew up, breakfast was just eggs, bread, and tea (or milk-tea).
Lunch is usually a big pile of rice with some vegetables and meat. Wow, this makes it reeeally hard to stay awake at the afternoon, but there aren't many options for lunch near the workplace.
For dinner, my wife cooks something also usually rice with some meat and veggies. But about 1 hour before I plan to go to sleep I eat 1 or 2 bananas. I always had hard time sleeping, and I read that bananas are good for sleeping because it contains potassium. For me it works. Although this might be completely placebo, because bananas don't work for my wife.
and the last several paragraphs about "breakfast-denying" seem biased as there are more studies to support the importance of breakfast.
The lesson: break the rules and grow so fast that by the time regulators catch up, you can put on a show of reforming and still keep most of the value that you created.
Admirable disruption or horrible cheating? I don't know how to feel about it.
As an early ZenPayroll engineer, I'm biased but also informed. That company was a shitshow from day one. Their recklessness caused a few sleepless nights for our team including one time they overwrote every bank account number (by scripting our front end, after asking SMB users for their passwords and storing them in spreadsheets.) This caused tens of millions of dollars in failed transactions. For _payroll_.
Rule 1 of startups: build something people loved. The last line of the article:
Unless something else goes really wrong with Zenefits, well stick with them for a while, says BlogMutts Yates. Its too much of a hassle to switch.
This was not a grey area.
The Valley has yet to prove that it can build sustainable companies. We can get to about 6 years of hyper-growth, but outside of that it is really questionable. Look at Square, Twitter, and Box post-IPO or the myriad large startups that refuse to IPO. You've got Google, Apple, and Facebook, but that's hardly proof of repeatable success.
> Zenefits uses its own product to manage its employees, and Conrad controlled the account, which meant he personally approved every benefits change or vacation request for hundreds of (later, more than 1,000) employees. We have people in HR now, but they actually dont have access to the HR system, Conrad said in an interview at TechCrunch Disrupt last year. I do all of it myself. Im a little crazy.
Forget the Chrome extension, this is simply psychotic behavior.
What I'm taking away from this article is that this is also true at the CEO level. Conrad sounds like a hacker's philosophy, writ managerial. If there's a regulation that your browser spend 52 hours on a web page, here's a script to make your browser browse that web page for 52 hours, clicking aimlessly among the pages. You're welcome; you've got other crap to do. Or, if you don't have a license to sell this thing -- well, you still seem to be able to sell, so let's just do it the way that works for now, as a proof-of-concept, and we can always do-it-right later.
And that's not a bad thing! It works great for software! But it looks from the article that therefore the hiccup that the company faced was somewhat predictable given the personality of the CEO. It's hopefully an instructive lesson for any venture capitalists who don't already realize that you need that both-hacker-and-engineer versatility up-top. Because it's the exact sort of hiccup you get when your software team is hacker-only and always put under pressure to get more done, but never under pressure to do it right. Eventually the code spaghettifies to deal with all of the real-world problems, and the sooner you can catch it before it becomes a hairball, the better.
My job right now is, I maintain a big data processor. I can freely testify that there are still a ton of quick hacks that are stuck in various places. But every week or so, I get a little downtime -- and when I don't spend that peeking into Hacker News, I spend it trying to modularize the hackery and then swap in carefully-reasoned modules for quick-hack modules.
I implore other software engineers to do the same; and I will definitely start thinking of more management-level decisions this way, in terms of "quick clever hacks" versus "careful design."
And this level of gullibility mixed with greed is why the world economy is so jacked up.
Did you stop to think its because you know nothing about insurance? Conrad went to Harvard? So that he was kicked out of his previous company didn't signal anything? All I see is investors acting like Hugh Hefner going for the startup equivalent of the blond-haired, big-boobed 22 year old. Hollywood/Playboy is actually a good analogy because in those cases nobody cares about the young hot thing's backstory either. Fake boobs/law flouting masks everything.
Nice bus you have there, Zenefits! But is it really big enough that all your problems will fit under it?
It's a pity that there is no way to track such things in software.
Because that was the problem.
One can make the argument that AirBnB has tried to finesse things more than Uber, but in any case I do think Zenefits/Uber/AirBnB would make a good B-School regulatory case study.
This just shows how many unethical, delusional, or ignorant people there are. The guy sounds like a nightmare to work for and completely threw the law and business ethics out the window. Who in their right mind would work for or with him?
Fascinating quote. I'll remember it.
its really quite sad that vcs apply pressure to do this... but then i guess thats what you get if you make your business beholden to something so manifestly interested in the bottom line at the expense of everything else.
I don't see anything in this article that hasn't been mentioned in the previous coverage by Buzzfeed.
Not only is it 6.7Mb, but it's sent using streaming (Status: 206 Partial Content), and for me at least, every time the video reaches the end, it's loaded again, and not from cache.
I didn't actually read the article, but according to Read-o-meter it would take around 18 min, during which time the 15 second video would play 72 times, consuming 482MB of data!
0 - http://idlewords.com/talks/website_obesity.htm#crisis
1 - http://niram.org/read/
Edit: Ha, caught out by my own dev setup, ie: disable cache when dev tools is open. My bad, feel free to ignore everything I said :)
It feels like a cheap way to generate press portraying Twitter as a staunch defender of liberty. I'm not sold.
The subheadline here is actually: "Social media firm cuts access to Dataminr, a service used to identify unfolding terror attacks, political unrest"
So, Dataminr is a startup that had the firehose to do that kind of analysis.
All this could be is them putting a company that is built on top of Twitter out of business. They have done this plenty of times. Seems pretty heavily spun to make it sound like they are taking some sort of moral high ground.
So why was the exception made to this policy?
> In-Q-Tel, a venture-capital arm of the U.S. intelligence community, has been investing in data-mining companies to beef up the governments ability to sort through massive amounts of information. In-Q-Tel, for example, has invested in data-mining firms Palantir Technologies Inc. and Recorded Future Inc.
> U.S. intelligence agencies gained access to Dataminrs service after an In-Q-Tel investment in the firm, according to a person familiar with the matter.
> When a pilot program arranged by In-Q-Tel ended recently, Twitter told Dataminr it didnt want to continue the relationship with intelligence agencies, this person said.
VC funds led by US agencies that operate on a quasi-legal and opaque basis is the worst form of crony capitalism
Open version of the article http://www.wsj.com/article_email/twitter-bars-intelligence-a...
At the very least they'll use a company like Palantir. Is a third party's use similarly regulated, so that Palantir couldn't simply relay that data themselves?
If not, then this was clearly not thought out (unlikely) or it's been thought out but a choice was made to still allow for that use case (more likely).
What about any of a thousand front companies these Intelligence Agencies run for plausible deniability purposes?
This move does pretty much nothing.
"Look, that's like the fifteenth request for the 'Whole Banana' this week. We're gonna have to --"
"Fine, so you have a nosebleed level pay grade. Sir. But there's more Twitter bandwidth going to you folks in DC than there is to all of the /real/ users of Twitter. It's embarrassing. Why can't you just go down the street and ask the CIA?"
"Or the FBI. I hear they have a special on faking evidence with parallel reconstruction this week. Want the promo code?"
Twitter is a truly two-faced Orwellian enterprise that is completely in the back pocket of Big Brother.
I think the consensus in the grown-up business world is "fire immediately for cause." I would bet substantial money that when you lawyer lawyer lawyer they will advise you to do that and document the heck out of it. The calculus is really, really simple: if you don't, then you will with probability approaching one get this incident or a similar incident cited during a threatened employment practices lawsuit, and your lawyers will sigh and say "OK, settle for $250,000. You can choose to fight it but the odds are not in your favor."
I get that you feel this may cause problems for your innocent employee. If it helps you contextualize this, maybe think of it less in terms of "Our departing employee has transgressed against our innocent employee, who let me into her confidence about that" and more in terms of "Our departing employee demonstrated judgement flagrantly incompatible with professional employment."
Would you be worried about this if he had been embezzling? "I'm just telling you on an FYI basis boss but I don't want to cause social issues." That's not really how we deal with embezzlement, right. You embezzle, you get fired. Immediately. The embezzlement is not a crime against the person who discovers the embezzlement. They're welcome to an opinion on what the best course of action is, but regardless of what that opinion is, the course of action will be a swift firing.
As to messaging to the rest of the company, again lawyer lawyer lawyer, but "X made comments of a sexual nature to another employee. As a consequence, we fired him. If you have questions or concerns, speak to me later. Moving on."
Normal people tend to be cautious and respectful at first. By immidiately jumping in and pushing boundaries, this person is demonstrating that he doesn't care about your company, he doesn't care what you or anybody there thinks about him, and he doesn't care if he breaks things and gets fired.
I would fire him as soon as I could without the lawyers getting up in arms. People like this tend to be very destructive. The smart ones will wreak havoc in your organization for years before you figure it out.
I disagree with Patrick on the mechanics, subject to one condition:
If, like a sane person, you consulted a lawyer before you began hiring people, and so you're offering a standard employee agreement --- the kind every competent firm in the industry offers --- then the answer here is:
Just fire, and move on.
I don't know that "with cause" adds much.
The principle here is pretty straightforward. You got lucky this time. A new hire crossed a serious line, and the person they irritated came to you directly with a complaint, rather than through their lawyer. You will not get lucky next time. And next time, there will be a history that you'll be accountable for.
It went to HR. I got interviewed. I assume he got interviewed. He was not fired. He never spoke that way to me again. I eventually reestablished trust with this man and we got on well. I suspect he got sensitivity training. I was not told what went down. It was all handled very discreetly.
Please do get HR involved. Please do not listen to the people here who are advising you to nuke the man from orbit, it's the only way. Doing that will only deepen the problem. Men and women need to learn to interact at work. Promoting fear and loathing will not further that larger goal.
You get his side. You do some training. If it continues to be a problem, sure, fire him. But please do not use final solution/terrorist tactics. This only hurts women in the long run. Men need to learn better manners. Cutting their nuts off for a faux pas doesn't teach them that. It promotes a hostile environment between the genders. It doesn't create a more civil environment.
2. You need to assess your culture. Is this one bad apple or is this something larger. The work hard, party hard, live in the office startup culture can be a breeding ground for this. Not that you cant have this environment and succeed, but you need to understand it and put checks and safeguards in place. One option is to designate a sexual harassment rep and make sure everybody knows this persons roll and that they can talk to them, possibly anonymously.
3. Talk to your female employee and let her know you have to do something. You cant ignore it as that effects the company and thus everyone. Get her opinion about how much of a problem his continued presence in the office will be. She may not want him to be fired as she may feel partially responsible (not saying she is in any way, but we dont know how shell feel).
4. Talk to the bizdev employee. Document the meeting and any outcomes or remediation. Is this a problem of just being junior and not yet having the ability to separate barroom behavior from the work place. Why did you hire this person? Are those qualities still there and does this person have potential? Only you know.
Talk to a lawyer, but remember, you are the leader, they are not. Walk through the steps and make the tough decision about what is best for everyone. Reactionary firings can be almost as negative on your culture (not your liability though) as doing nothing. Be the type of leader who talks to their people and tries to come to a decision that is best for everyone. Dont be the leader who makes reactionary decisions behind closed doors.
Also, dont talk about kicking someones ass. As a leader, this is almost as bad as calling someone a MILF. Step back from your emotions. After a decade in the military, part of it working in legal, Ive seen a lot worse: rape, child porn, attempted murder, grand theft, fraud. While obnoxious, calling someone MILF is pretty far down on the scale. This makes it tougher in some ways since firing isnt automatically the only response.
If it's not acceptable in the company then you should tell him to leave.
If you don't you poison your culture.
The employee now knows that she will still need to "deal with" harassment at this organization. Her outlook on the company culture will be forever changed. And she will share this experience with her friends and potential recruits forever.
Likewise the harasser will know that there are not serious consequences for unacceptable behavior and will continue to "get away with" things. He will repeat the behavior among his friends and towards future staff. They may not have the confidence to report it.
This is one of the root causes of the gender imbalance in the work place.
Harassment is never ok.
This needs to be explicit and you should work hard to build a team where there is complete trust that violations will not occur.
You run a startup. A lot of people read HN in general, but I have to assume startup employees are _even more_ likely to read HN. As such, it doesn't feel crazy that one or both of these employees might see this considering it's sitting on the front page and doesn't seem to be going anywhere.
So...there is a lot of commentary here about how you should handle this situation, but in my opinion, posting pretty specific details about it publicly was among the very worst first moves you could make.
/ EDIT: I missed the part where he said that he saw the evidence - sorry.
Why I'm saying this is because I was in a similar situation once. Employee X didn't like me without me knowing. At a party (alcohol involved) we talked a little (normal things, nothing sexually, personal, private or anything like it) and that was it. On the next day I got asked into the office and have been told that multiple people filed a sexual harassment claim against me. No names who that could have been, no proof, but I was guilty.
They told me that I either have to leave the company or send a public (anonymous) apology for the bad things I did. (They didn't even tell me the things I did)
Until today I can still only guess who it was and it perplexes me that "multiple people" filed that claim against me. After talking to my better friend coworkers it seems like all people that could have filed that were friends with that one employee X that didn't like me.
Long story short, I still don't believe I did anything that could have been even remotely near sexual harassment but I'm feeling horrible. Maybe the worst memory in my entire career. Every time there is a harassment training I get reminded of what happened and that there are indeed people out there that call me a "sexual harasser".
Tell the employee that your company isn't one that believes this kind of behavior is acceptable, tell her you're going to talk to a lawyer, tell her you need to investigate this, and that she isn't causing trouble and you're glad she brought this to your attention.
Get an HR professional, lawyer or not, and deal with this immediately.
Let me assure you, when she said she doesn't want to cause trouble, she didn't mean she wanted you to do nothing. It means she wants you to do something, and she doesn't want to be blamed, she doesn't want the office to talk about it, and she wants you to own it.
If you do nothing, one day, if she (or someone else) ever decides to file a lawsuit for sexual harassment and fostering a hostile work environment against your company, you saying "but she told me she didn't want to cause any trouble" is not an excuse to sit idly by.
The information we are presented with is minimal. This is perfectly understandable but it means that no one in this thread has anything like enough detail or context to make any judgement on firing someone.
What if the man was simply making a pass at someone he liked but unfortunately was clumsy and inept at doing so? Should it never be possible for a man to ask a woman from work out on a date? What if the woman has a reputation of being a social justice warrior that hates men and loves any excuse to complain about any perceived slight. We have no idea on the ages or marital statuses of the two people. What if he is a married middle aged man with three kids and she is a young intern? That makes it sound a lot more creepy. What if they are both single and the same age and seem to have the same hobbies? Does that change things a little? You cannot judge this scenario based on a couple of sentences from the OP.
My point is not to defend him, I have no idea if he is a predatory creep or a good guy that made a simple mistake. But then neither does anyone else here. Get a lawyer so you can follow a sensible policy of sitting down with the accused and ask about his side of the story. Depending on the response determines your next action.
The employee did something wrong, no sensible person doubts that, but not necessarily something that allows you to fire them without consequences for you. You need to speak to HR and then if necessary your legal representation.
You need to sit down with her--before you do anything--and inform her you need to do something and why. Tell her you understand she came to you in confidence, but this behavior can not be tolerated. She might be able to brush it off, but the next employee the biz dev person harasses might not be so understanding and file a sexual harassment lawsuit against the company.
And if it's discovered YOU knew of his behavior and did nothing.....
I've attended a few sexual harassment training's over the years. There are no clear cut rules. In fact, in my first training, harassment couldn't occur until the other sex said "stop, no, etc." In the last one I attended, things aren't so clear cut, and it seems like the lawyers have made sexual harassment so unclear that the only ones who can determine it are the lawyers themselves.
It doesn't matter that it was after work, using a non-work communication medium. It still could be or maybe its not harassment.
You are going to have to talk with her and let her know that you have to act upon this. You don't know what is going to happen. At a bare minimum, something is going to his HR file. At worse, a lawsuit is going to happen.
One thing that is really overlooked about harassment is that it's not about a single event. Realize a few things:
* She's saying that it's ok because in the real world most companies will protect the man over the woman. Women who want to get ahead learn to never put her neck out too far. All too often, clearly bad behavior will result in "training" for the guy. (After all, she was a hottie asking for it, am I right?) Do you really want accept an apology for her that it's not a big deal that she was harassed at work?
* Workplace harassment happens because most guys know they _can_ get away with it. More importantly: if this was the line cause a stir, the he'll just be more subtle next time. It's boundary testing that is no different from a four-year-old. It _will_ get around, because this guy will associate with others who don't mind his behavior. Do you really want to be known for that type of environment?
* Once the workplace accepts an event, it becomes that much harder to rationalize dealing with equal or less events. You'll have people actually arguing that Henry wasn't punished when asked Sally out, why are you punishing me? And, he could have valid precedent. Do you really want to be dealing with the fine lines between behaviors?
Fundamentally, sexual harassment erodes trust. If you have a workplace that has clear line between humor and personal relations, that creates teams who understand and care about each other: you can joke about sexual innuendo, personal problems, etc. When someone is unhappy with something, he or she feels safe to speak up. Encourage people being humble and considerate. If harassment is allowed, at best it just causes drama. At worst, it causes power problems that kill trust, brings in more people who causes problems, and the real possibility that someone could own your start up by lawsuit.
Beyond creating a potential legal liability-- the biz dev guy demonstrated poor decision quality, bad peer relationships, and questionable business acumen. All cause for performance dismissal. He caused the true breach of trust. You can leave your female employee entirely out of any discussions.
I disagree with the chorus of "Fire him now!" in the other comments; startups hire a lot of folks straight out of college, so there's a significant chance that the employee in question has never been informed of what is, and is not, appropriate when they want to pursue a romance with someone from the office. What may be acceptable in a college classroom is very different from what is acceptable in an office.
Mistakes happen, words and body language which were not included in the chat log may have been misconstrued... you have one side of the story right now. Get both sides, and give the opportunity for the man to learn.
Involving a lawyer to ensure that you're on the right side of the law is, of course, a damned good idea. Especially if you end up deciding that you want to go down the road of firing.
I think whatever solution you decide, you should keep her in the loop. You can't violate her trust if you are transparent about her with what you are doing.
As for the solution, it is easy to want to fire this employee. However, I think it would be the wrong thing to do. Many people are immature and the tech industry has given many people the wrong impression about how much of a party certain roles (sales) are. I'm absolutely not condoning his behavior, but based on the female employee coming to you in confidence and "not wanting to cause problems" it sounds like she doesn't believe he should be terminated for this.
What I think you should do is immediately document this incident. Document it well, and file it in his HR file. Tell your female employee that his behavior is unacceptable, and you are going to speak to him with HR about acceptable and unacceptable communication between employees.
Then you watch and see if he improves, and maintains an acceptable level of respect and decency while hitting his quota and contributing to the company's success. If he does not to this, then you have plenty of cause to eliminate him.
So, not during working hours, not using work-related tools, he send some inappropriate messages. It's not a big deal.
> these things aren't acceptable in the company we're building.
Sure. But this conversation did not happen in the company, not during work hours, and not using work tools. You were made privy of a very personal conversation happening between adults outside of work.
> The employee came to me in confidence
And you posted about it in great detail on Hacker News, making it a topic of water cooler conversation of about 80% of startups world-wide.
> she'll know and it will be a violation of the trust she placed in me
> So what do I do HN?
Preferably nothing at all. Don't make a big deal about what your employees do in their spare time.
> she shouldn't have to deal with it
She shouldn't have confided in you, because you can't seem to handle it. This dude is poison now. He may as well be fired. And your employee made it a business issue, which is a big thorny issue. You shouldn't have to deal with it, but now you do.
Yes it might not be appropriate and yes it might necessitate action, but fire him immediately when the "milf" handled it, ended it, and the situation was finished? He didn't push it further than his perception of her comfort level.
Furthermore, the term "MILF" has transcended its literal meaning. It doesn't, at this stage in time, literally mean "I want to fuck you". It's a normal Pop Culture term now which is synonymous with "attractive", is in every tabloid, on every reality show, blah blah. I'm not saying that it was appropriate to say it to her, but it isn't the aggressive, invasive term that is being suggested in this thread.
I can only guess that this occurred in the US; you all make it sound like a seriously stressful environment to be in.
2. Probably: fire this guy. This isnt someone you want at your company. When you fire him, you wont announce to the rest of the company why. And you can have a conversation with the victim employee to let them know why you did it: you don't want abusive people on the team, and that you value every employee and also have to look out for everyone and the entire business. The employee will respect you more for taking action, trust me.
If he denies that he sent the messages, or says he sent messages but the content has been altered where could the employer go then? "She's trying to get me sacked because ...". Where could you go from there to prove he committed an offense against propriety/policy?
Also, a perhaps more realistic issue is the move to WhatsApp could be seen as a move to personal interaction away from business interaction - if the employee alleged to have committed sexual harassment called her a milf once in a private conversation that was not a work context do they deserve to be fired?
Did he stop when asked, doesn't that mean it's not harassment? Still could be inappropriate and ultimate lead to firing but to me harassment is an ongoing series of incidents.
Seriously, you need to protect your company and yourself from these things. A seemingly minor event can go nuclear on you quicker than you could ever believe.
Apart from the "Milf" comment I don't see much in your description of events that would qualify as sexual harassment (at least not from my European view of things). Certainly unprofessional but not quite sexually harassing. As far as I understand, the transgressions were "only" verbal and there was no other inappropriate behaviour.
Here's what I would do: Collect all the facts and evidence about the BD person's inappropriate behaviour. This may involve talking to your employee about this again. Then take some quiet hours in the evening to review all of the facts. If, and only if, you come to the conclusion that the BD person's behaviour clearly qualifies as sexual harassment, get lawyers involved (and probably eventually fire).
If on the other hand you come to the conclusion that the comments were inappropriate but not sexually harassing, have a private and very serious and straight talk with your BD person about the events and that there is 0 tolerance for that behaviour, then move on. And of course fire the guy immediately if it ever happens again.
Don't let cancerous employees into your organization. Don't allow him to harass another one of your employees.
Do not talk to them, do not go into work, take sick days if you have to, don't respond to emails, phone calls, ABSOLUTELY NOTHING until you have talked it all out with your lawyer, and then do exactly what he instructs you to do.
Don't let this destroy your dream, friend! Especially over someone else's bad choices. Be safe, lawyer up, get this taken care of and move on with the work.
If you fire him for this instance, you could be sued for wrongful termination, and in which case you would have to produce those whatsapp messages, and convince your employee that they were harmful.
> He asked to take the conversation off Slack (moved to Whatsapp) and asked if they could hang out (she said, "sure as friends in work context"), referred to her as a milf (ugh...), and asked if he could tell her a secret (she refused)
My interpretation was this person used Slack (work resource) to ask a coworker to switch to Whatsapp (non-work resource), during the weekend (non-company time). He proceeded to make inappropriate comments on whatsapp.
I'm not a lawyer, but from limited research, it seems that a few sets of inappropriate text messages (of which you dont approve of, but the recipient doesn't mind) sent over the weekend does not constitute workplace sexual harassment.
The employee has said "it's not a big deal." which even though you don't like it, means it's somewhat out of your hands.
The quandry is, the bizdev person is probably a bad fit for your company. You should get rid of him, but would need something more substantial in order to standup to a wrongful termination suit.
Fire that person immediately, it's a clear breach. You need to show your employees that you will support them when something like this happens.
This may not be the first time this has happened, might only be the first time that you have heard about it. You need to be proactive in creating a safe work environment and as the founder that is your responsibility.
He's new. If he's still in a probationary period - either by statute or contractually - get rid of him. If he's not, and he's a brand new employee, consider adding wording to future contracts regarding a probationary period.
Obviously, still talk to a lawyer.
For many high performing men, their shadow side is that they view themselves and thus, their world as objects.
That your culture manifested this sort of dynamic to me is a weak signal about deeper issues in your organization, leadership and overall company. From my vantage point, the least of your problems is how to protect yourself from the fallout of this situation legally and you may want to take a deeper look at the root cause of this, lest you begin a game of cultural wack-a-mole, firing away manifestations of a deeper cultural issue.
I don't mean this to come off as blaming you, but rather, there is an element of you in all of this that you do have control over -- some of that will be in how you handle the situation and the other will be in your understanding of the dynamics inside of you that led to you co-creating it.
Happy to gift you a culture session if you want to discuss it more deeply.
You absolutely have to get rid of that type of person, it's already moved outside of work context to a personal context (WhatsApp), which implies that the author of the messages is not comfortable talking about what he's talking about in the context of a work environment because he knows it is wrong, and because he is willing to take that risk, it signals a danger.
You should speak to a lawyer about removing the person from the company in a quiet way (which I think is what the accuser would prefer to protect her complaint) since he is new, it's generally easier than ridding the company of a long-standing employee. Probation clauses are common in the United Kingdom, I'm not sure about the U.S. so this advice might be awfully inaccurate.
If you have seen proof, the accused needs to be removed. He is toxic if you know for sure of the correct circumstance.
Other posters mention the phenomenon of avoiding interacting with women at work. The threat of "she secretly went to top brass, and I was fired without defence or cause" is exactly what might justify this.
The trust she placed in you is the trust that you'll keep her name out of this, but if she's getting someone fired, that's not ok without a more objectivity around the details. One side of the story is not objective - even is that one side turns out to be accurate, you can't know this in advance.
We hired our first network administrator to replace developers like me who had been doing the same sort of job.
The day that he started the job, we received an email that someone using our gateway IP address had posted to Usenet [this was a while back] the IP and root password of some other company's public webserver, with a message to the effect that people should "f--- it up". The email also stated that the root password seemed to work, and we verified that.
We quickly worked out that the server was our new employee's previous workplace, and we sacked him and walked him out on the spot. He didn't receive any pay or benefits. We also documented everything on paper in case there was some legal problem (which didn't happen, of course, but you never know with some people).
So my advice is:
* Document everything. On real, physical paper. Sign and date each page.
* Fire them, now.
Even if you weren't to fire the person (and as a brand new hire firing seems a better option) then you would need to provide specifics when having the conversations that would follow. Mainly because all you have so far is an allegation, making your mind up (not the same as considering options) beforehand is not good.
Regardless of whether you fire the employee or not the key thing is to prepare for the conversation. If you're a founder speak to your co-founder(s), if you're a manager don't just speak with HR and have them in the room for the meeting but prepare with them. Have your opening statement well rehearsed, consider different conversational flows and how you might react to them. This isn't a thing to do on the fly.
An HR rep is, frankly, usually pointless, unless you have high quality HR with specialized training. They do serve as a verifying party though.
Me? I'd interview this guy (not alone) to see if I thought he could learn (as atrocious as his behavior reportedly is, I've been very surprised by what lessons have simply never been communicated). If you don't have full confidence he can improve, he's a liability to you and should go.
I'd also lead this off by talking with the female employee about what you want to do - It's not just about her (although she certainly deserves respect), but about what kind of a company you want to have - which employees are protected and which ones are not. Hopefully she'll understand.
Adults, move on.
All of you 'fire' 'lawyer' 'criminal' people are ridiculous.
It's a single word, out of work.
Imagine if two employees are dating. They are staying in each others flats. They get in a fight at work. Words are spoken. Is that harassment?
We are human before we are corporate warriors. We say and do odd things.
If you are a human leader you'll be able to handle the situation without a single thought moving forward.
Though I'd recommend putting it all in writing and documenting everything for legal purposes.
If you are a good leader, this thing will never bubble up again.
You have a product to build, focus on that.
If you're at the scale where a wrongful termination suit isn't an existential risk to the company, you'll get bonus points if you actually lose in court.
As an employee, I'd work on weekends & nights for a boss who has a well-adjusted moral compass and will sometimes disregard business interests to act on it.
Ultimately it's up to you and how you want to define your company's culture.
When I first read what you wrote, I though "fire. immediately." I think I was just angry that someone would be so off the mark when they are a new hire. And the milf thing made me genuinely angry.
But as that anger passed I realized how much of a gross overreaction that is. People pursue workplace romance all the time. The thing that sucks about approaching someone is when it is welcome, you are golden, and when it is unwelcome, you are a creep. It is incredibly hard to get through an unwelcome approach without any awkwardness.
So really, this guy needs to learn manners, and to chill out.
Unless he continually repeats the behavior, I don't see why there's any real long term problem.
> made it clear that it's not a big deal and she knows how to deal with it
Last year I watched an emotionally strong friend reduced to a terrified sobbing mess before he gathered the courage to go to his leadership about a sexual harassment issue with his direct superior. I know you won't take her grace for granted but please consider that how she really feels may be different than what she says in order to maintain professionalism.
You will need to insure your company, employees and yourself are legally protected by visiting an attorney as soon as possible. As it appears you do not have the standard company guidelines and procedures in place for investigating and terminating employees found violating law. Your attorney should be able to help you draft the proper paperwork and procedures to accomplish this in your company policy and employee training.
When you talk with your attorney there may be more things that are required to do legally (filing a police report, filing charges, having the employee harassed file charges if she wants too, etc.). The attorney will be able to walk you through everything you need to do. As it may not be a big deal to your employee now, but that could change down the road, especially if it unfortunately picks up again or escalates. Now would be the best time to resolve the issue while it is only at the texting phase, as things would go downhill for your entire business quick if it were to escalate in the near future.
I hope you are able to get this sorted quickly as it is very important to have something like this in a well known zero tolerance policy that everyone knows about on their first day on the job during their on boarding process.
> I'm really upset by this guy's behaviour and I want to fire him immediately.
If you are in the US, which that u in behavior suggest that you might not be...
If you have an established HR process you have to follow it. Otherwise fire him discreetly and then let people that hes moved on in a few days. Don't tell either him or the employee that came to you that it has anything to do with their interaction and if he asks specifically during the firing process turn the tables on him and feign unawareness and ask what the hell he is talking about. I wouldn't out her or acknowledge that you are aware of the incident to him at all.If the employee who confided in you asks if that why he was fired, just tell her that its a confidential matter and you really can't go into it.I live and work in at will state and wouldn't bother to lawyer up if I went this route (though it wouldn't be a bad idea), but I would wait til I was calm enough to leak that he had done something really upsetting.
If you want to make an example out of him (or keep him around) you definitely need to lawyer up.
A dumbass like that can easily cause major problems down the line
My breakdown of the reasons to terminate:
1. New employee did not follow broadly understood/legal courtship protocol with female colleague. [e.g.: On tinder/okcupid/etc., you can try your luck with "DTF?" or "You're a lovely MILF." Doing the same with a work colleague (regardless of whether on the clock or not) is broadly accepted to be harassment. Why? Because the parties are both colleagues who have to work together. On okcupid, a recipient of "DTF?" can immediately block the sender. Not so easy to do a colleague. Our legal system protects workers from harassment. "MILF" isn't just a query about going out for coffee. It is a GOTO jump over many protocol stages without ACKs from recipient.
2. New employee is either ignorant of work-based courtship protocol, new employee actively chose to disregard it, or perhaps new employee was drunk during the exchange. It doesn't really matter. Either way, the guy does not meet the standards to work in a professionally run company.
3. By so flagrantly violating a commonly understood protocol [workplace courtship] very early in his employment, the guy is demonstrating to his boss that he is not worthy of trust and responsibility. Terminate him.
As for those few of you who think the guy should be given a break, this is corporate worker bee 101 stuff. Sure he is sexually interested in a colleague. There is no problem with that. The thing that is for very good reasons, your fellow workers are protected from harassment. Dating a fellow worker requires running a very different courtship protocol than picking up someone in a bar or over tinder.
Unless you feel qualified to run corporate-dating-protocol from start to finish (what will you do post hook-up/break-up?), please consider the advice of our forebears: don't dip your pen in the company ink.
From your critical incident report here there was no inappropriate physical contact or attempted coercion between these two people. Make sure that's correct. If your senior HR person or some other executive of your company is experienced with this (meaning: has done it before) have her/him conduct an investigation. If you don't have experience in house get your lawyer to do the investigation. Get it done; don't let it sit.
Base your decision about disciplining or terminating the guy with bad boundaries on the results of the investigation. Ask your investigator how to confront him, and follow that advice. As hard as it is to imagine right how, anti-harrassment discipline is a dish best served cold, not hot. It's also best served promptly.
You need to do the anti-harassment seminar. You need to let your whole team know this kind of stuff is not condoned or ignored in your company, because it's not who you are. Your lawyer's office can probably provide the seminar. (Our lawyers did a great job with our seminar.)
You need to establish a policy about harassment if you don't already have one. There are plenty of good template policies around. If you work with a payroll service they probably have one you can use. And you need to require all your people to take the seminar. It should be part of your onboarding process.
If you sack this guy don't worry about a wrongful termination suit. Do what's right for your business. You'll have the investigation paperwork, and the state commission on such matters will very likely look at it and say "case closed," if the guy bothers to go after you.
Also don't worry about people in your company worrying about who's going to get whacked next. Just make it clear that respect, civilized behavior, and good interpersonal boundaries are a vital part of your company culture. You could even go so far as to say "no aholes."
Good luck. But you won't need luck. You'll just need the strength to get through it, which you have.
Second of all, you need to listen to his side of the story as well. People are probably going to down-vote me for this one but taken out of context text messages don't mean very much. His friends could've played a very bad joke on him, the messages could be forged or he could've made an honest mistake.
Hell, if I were in your place I even would give the guy a second chance if he honestly apologized. But do make sure you watch him closely if you decide to take this route. These people do not tend to improve.
If so take it to them immediately.
If not welcome to lawyer hell.
This is one great things about using a co-employer, HR in a bottle.
Framed correctly, anyone in the company who hears even a rough "person was let go for a serious HR violation" (a lawyer will clarify who can hear what) will come away from the experience with increased rather than diminished confidence in their colleagies and your leadership.
EDIT to add: Also, she's not causing trouble, he is. Very simple.
My former boss dated an employee who worked in a different department. People at work knew and it was not considered a problem. No one got fired or sued. I guess I'm trying to understand the difference here. It seems to me the major difference is that in this case the woman wasn't interested. So is the takeaway here that if you ask out a woman you work with she will either say yes if she is interested or you will potentially be fired if she is not?
But sadly I took that advice too closely to my heart. Many of my crushes ended up dating someone else at work or outside. Some even found their life partners at work. It seemed only I followed this advice. As introvert, it was hard for me to meet people outside of work context.
The guy probably had no clue that he was making her uncomfortable. He needs training, not a life time of loneliness.
If nothing else, that guy is a liabillity (and a dick).
This can also apply to customers, not just co-workers.
Lawyers, good lawyers that know harassment law.
Worked for a company that had to settle a lawsuit before I started there. Management meetings every six months on this the entire 5 years I worked there, part of the settlement.
I have fired a coworker and banned a customer for this.
Is this smartphone? If so, ensure its not a rooted device, where users can insert/delete things as they want.
--Let me add another view. Involve HR and talk to him first. If he admits truth then ask him to resign. If he didn't accept, listen to his version of story and ask him for proof. Then decide.
Large companies like Intel give each employee rigorous sexual harassment training, but this is not something startups can always afford to do.
Your employee came to you in confidence. If there is a legal way out of this that doesn't break that (maybe requires a bit of extra work), I'd chose it.
You have to realize how this could blow back on her in a big way.
Then immediately let him go and offer him 3-4 months of severance. Generous enough that he will sign it and immediately get out of your life. Then buy a sexual harassment video course that all new hires are required to view on their first day. Good luck!
As @patio11 said though. You need legal counsel.
Door. ASS. Way Out. Consult a Lawyer if you feel like it.
This kind of thing doesn't get better.
The thing is if goes out of hand and for whatever reason the victim changes her mind and decides to sue you on the ground that you did nothing to prevent it you're f--cked. I've seen this before. So it's really about covering your ass and the reputation of your business. I think there are enough examples ( Github, Google ...) to prove my point.
Ouch. Office romance happens...a lot...but this guy just sounds tactless & doesn't know when to back off.
At the very least you need to bring it directly to him.
Why do you guys jump to the extremes?
I'm not in the US lawyer up of A though, but common sense should apply.
That said, ask a lawyer first, because clearly that is the land where we get our funny 'news' of 'someone when to court because of ludicrous action X, and won'.
What people say and what people do are two different things, that and it could open you up to further legal issues.Talk to a lawyer, then talk to him (preferably with the lawyer).
People who join your company later will be scared of existing employees, and probably won't report it. You can't be party to this.
So few information, but so many people ready to fire his ass.
At this point, I wonder if we should have men/women segregation in the workplace. This is the logical conclusion if you want to avoid this kind of problems.
Get that in writing, keep an eye on the situation and move on. Get rid of that person for another reason.
"it will be a violation of the trust"
Tell her that you really need to make sure there are no future problems with the team and that is why you must fire the new biz dev. He broke faith, not you or her.
In previous lives as a senior manager and litigation paralegal, I have had to deal with dozens of sexual harassment claims, including the kind that end up at the EEOC and a few that resulted in lawsuits. A good friend and former coworker is a regional HR manager for a Fortune 100 company, and he has seen everything under the sun.
OP, the only reason to do anything is because you're the founder and she brought it to you. You don't have to do anything other than document her conversation with you, but if you decide to stick your nose into it, here's what my thought process would be:
First, even if it's a small startup, OP cannot discuss with the accuser what action he takes with the accused beyond "I'll handle it." While this may baffle many here, it's really none of her business since it involves the accused's relationship with his employer. If he ends up firing the guy, she can put 2 and 2 together, but he cannot provide details of disciplinary action.
Second, he cannot announce to the rest of the employees that he fired the guy for sexual harassment, only something along the lines of "he no longer works here" with maybe some generic fluff about pursuing other opportunities. It's none of their business either.
Third, he needs to talk to the guy. "But she showed him the texts!" someone exclaims. "He called her a MILF!" That's one side of the story. Let's hear the other side before jumping to conclusions. This all happened outside the work context. We don't really know what the hell happened, only third-hand reporting of one of the participants.
Fourth, let the HR person talk to the lawyer, if OP's startup is big enough to have a dedicated HR person. If not, then yes, talk to a lawyer, but make sure they've got some litigation experience. Too many HR lawyers are just overpaid risk managers who don't have any clue of when to fight and when to fold and pay.
Which brings me to my last point: I know it may be unpopular to say, but sometimes women lie and manipulate just as well as men do.
At my senior manager job, I was accused several times of sexual harassment, even though I scrupulously avoided any kind of personal conversation that could lead to any hint of anything sexual with all coworkers, whether direct or indirect reports, peers, or superiors. I never met behind closed doors with women, except my boss, and she always left the blinds open and people felt free to interrupt at any time. And yet, I was accused. None of those accusations withstood scrutiny, but they were a gigantic PITA.
One crazy person even reported me to the FBI, after the EEOC found nothing actionable! (Seriously. The issue was that I was her last resort for altering an unfavorable survey given to her by a customer, and I refused to do so, for sound business reasons.)
Texts can be faked. We don't know enough to know whether the accuser's story is absolutely true and complete, and we certainly don't know her motives.
OP, find yourself someone with serious experience in employment law in your jurisdiction to give you counsel. Pay their fees. Stop trying to do it on the cheap by asking here, since it will do you no good and quite possibly do great harm to follow 90% or more of the advice in this thread.
Edit: added paragraph about doing nothing, and fixed "autocorrect."
Terminate. The end.
Second, if the harassed employee does not wish you to do anything, the best thing to do is to indirectly address the situation with a company-wide seminar/meeting about the topic. List off all the things this employee did that are intolerable - he'll get it really fast.
And check with your lawyer. Get a lawyer if you don't have one.
This is a no brainer.
The sad reality is that if a man makes advances towards a woman at work and she isn't interested, it is very possible he will end up being terminated for 'sexual harassment' regardless of what words he uses. Because sexual harassment effectively really boils down to any unwanted advance or even flirtation. It shouldn't be that way, it should be about actual harassment, but very few people are able to make such a distinction in a fair way.
So I don't think that in the current environment any sort of flirtation at work is really a safe maneuver unless the woman makes obvious advances first.
I have a feeling people will slam me and this comment but I haven't been downvoted very much this week so I guess it is time.
Actually it is up to her to file a complaint with you or HR. If she does not want to file a complaint, just add it to the employee's annual review that he used inappropriate words with another employee. If he is still on probation as a new employee it could violate that probation and you could fire him for that.
You have to ask yourself how valuable is this new employee to your team and company? Can he get some sensitivity training to learn not to speak that way to a female employee? If he is very skilled and valuable you might want to suggest the sensitivity training for him, if not he broke probation and can be fired for it.
You don't have to use the employee's name that he sexually harassed. In fact if you are in a state that has a no fault clause in the hiring and firing, you could fire him without giving a reason. Just say something like his position was removed due to budget problems, then create a new position to replace it with a different name.
"Team, some numbers are in. It seems our hot-milfs.xxx domain is bringing in more ad revenue than the rest combined."
I'm sorry you have had personal issues in your life stemming from your wife dealing with sexual harassment issues from the HR side, but your emotional reaction based on that experience isn't likely to be the basis for sound advice.
This means that for most of them, it must be pleasant. They must be able to joke around and even, occasionally, flirt. If you try to turn every social interaction into a perfectly professional unfriendly and unsexualised environment, you will very quickly find that you are the only one left.
This is even more relevant in a small startup.In my experience, the worst kind of work environment is a startup trying to act like a big multinational. None of the perks, but all of the soulless experience.
I have nothing against firing someone for bad behavior. However, with the little info you provided us, there is nothing serious.
Make sure the new employee knows that her colleague didn't like his approaches and that it won't happen again.
You should also try to get both sides of the story.
Finally, you did say this:
> The employee in question has made it clear that it's not a big deal and she knows how to deal with it (...)
How is she going to react if you fire his ass? Wouldn't it be acting like she can't take care of herself?
If you take that out of the picture, then talking on Whatsapp, and asking to hang out, and telling a secret, do not constitute any sexual harassment. This is particularly true if we are talking about just one conversation after which the person did not persist. Should investigate that milf comment, however.
I am rather surprised by the number of people just saying that he should be fired. Really? Showing the littlest bit of attraction and then getting shut down is not harassment. You want to take away a person's livelihood for that?
What your female employee has done is to cover her own ass in case the new male employee engages in any work-inappropriate behavior. If she comes to you again, and claims harassment, you are primed to believe her immediately and take immediate, appropriate action at that time.
Don't fire him. Don't kick his ass. Don't have a meeting with HR. Write down, "Ms. Y stated on [datetime] that Mr. X propositioned Y to upgrade beyond a work-only relationship, and Y declined. Y presented sufficient evidence to substantiate this claim." Attach a copy to both of their personnel files.
In two weeks, six weeks, and twelve weeks, proactively hold 1-on-1 meetings with all your employees, including Mr. X, and ask them if they feel as though Mr. X is assimilating well into the workplace. If no one has any complaints, even after you go fishing for them, there is no evidence of hostile workplace, and you have no further business with your employees' personal relationships.
It isn't your business to manage your employees' personal lives. It is your business to provide them with a safe, cordial, and productive work environment. It isn't your business to remediate unsavory bro-havior. I don't like how sales and biz dev tend to work in the real world, but I know that sometimes that kind of behavior is beneficial to a business. I just don't hang out with that sort of people in a social context. I prefer that their oily schmoozing be directed at potential customers, and I'm sure they prefer that I not ruin their good time with my dry-toast nerdity.
Personally, though, I would question the judgment of a biz dev employee whose first act in a new camp is to dig his latrine next to the watering hole. Aren't they supposed to cultivate new business relationships outside the company?
Anyone who calls a woman a milf to her face has NO respect for women, and will cause problems with women at the company in 1000 other small ways (and possibly big ways).
Be that guy that says he's not going to let this shit slide, and then actually follows through.
Of course the woman said she doesn't want to cause trouble... she's trying to cover her own ass to make sure that you're not going to get mad at her (yes, I'm sure it crossed her mind). She reported it to you for a reason. Because it was completely unacceptable.
Fire him. Fire him. Fire him.
And then explain to the rest of the company exactly why he was fired. And that you're not going to tolerate that behavior. You can leave out details of who and why, even white lie if there's only one woman on the team, that it was a friend or something...
If you work in a state without at-will employment, you might need to talk to a lawyer... hopefully your HR team can help you figure out the safe way to do it. But do it. Even if it's not safe. Do it because it's the RIGHT thing to do.
There was also an excellent article about the dive (with lots of pictures and videos that they recorded during the dive and interactive map) at the biggest newspaper in Finland, unfortunately only in finnish.
It's a sport that requires a lot of preparation, planning, risk estimation and counter-measures. My hobby cave dives are nothing like such explorations, but the principles are the same.
In the end, when you go diving, the level of risk is close to 0: one regulator may fail (risk around 1/100 if well checked), two won't fail during the same dive (risk of two failures 1/100 x 1/100 = 1/10000 which is negligible--if I got the figure right, I didn't double check! EDIT: it's rather 1/1000 x 1/1000 = 1/1.000.000). And we use two independent air tanks, and with air reserves managed with one regulator fault in mind, as well as the 'little' panic induce by the regulator fault. That's called the 1/4 rule, we use it in France in FFESSM diving organisation.
> more than 11 hours after setting off on a dive that was supposed to take five hours.
I mean this is just insane. I can't even imagine trying to do something in which any mistake could instantly cause my death for 11 hours straight.
> "There are lots of questions - the original questions - about where the cave goes, and where the water comes from, and they are still there," he says. "And I am not afraid of the cave."
I appreciate this attitude, but I'm wondering if it would diminish the sport at all to have autonomous vehicles explore the cave before a dive.
It doesn't remove the physical challenge of the sport itself, but it could help divers prepare for tough portions of the dive.
e.g. at 110m depth, narrow passage. Single file proceeding with X minutes budgeted for issues.
They could use some kind of haptic feedback system working to communicate between each other through RF waves. If one person presses a button, the other members feel a vibration or some similar haptic feedback. This would allow people to signal danger more easily. It would also make sense to have a notification signaling when any member is outside of the RF range.
Having such a tech would have allowed Gronqvist to have directly been alerted when Huotarinen became stuck either by Huotarinen alerting him or by the notification that Huotarinen was outside of the RF range (which would probably not carry very far in that situation). If other members had been alerted faster, Huotarinen would have had less time to start panicking and would maybe not have needed that cylinder of gaz.
So, maybe I'm incredibly naive and there's a good reason but it seems stupid and dangerous to rely on a torch to signal distress (which is often not going to be visible to members in front of the group).
> The Plurdalen Valley
Which is funny because the -en in Norwegian means 'the' and 'dal' means valley. So in a way it says 'The the Plura valley valley'
What should the divers have done to avoid this? Were they just not experienced enough for a dive of this magnitude? One mentions they should have done a practice run, but what does that mean? How do you practice for a dive?
It contains numerous case studies of diving screwups that either ended in death or near-death and what can be learned from them to avoid those situations.
'Tomorrow's' languages and frameworks would do well to take heed. Winning this war has as much to do with culture and marketing as algorithms and data structures.
Clojure, for example, is a much stronger programming language than Ruby on paper, but for a straightforward web app, you'll likely spend at least twice as long to get something working--and while it will be based on better engineering principles, it will also take new engineers much longer to grok since it doesn't follow any universal set of conventions.
With Rails, you end up in the weeds in the long run, but the alternatives put you in the weeds right off the bat (with the promise of eventual salvation). The reality of most product development (ymmv) is that the former is highly preferable to the latter.
Or do we need an entire new class of tools which have traditionally been used to build large scale systems in the past?
It's a multi-faceted question of type systems, tooling, packaging, dependency resolution and others. And as web apps continue to evolve, my guess is that the current tools will be considered lacking.
It used to be that picking "the right tool" meant choosing between Ruby, Python, PHP, JS. In the future it might mean using (gulp) Java + WebAssembly or a combination of other unusual tools. This would be quite game-changing for most web developers. ;)
It was, and still is, a nightmare.
Technically speaking Rails itself upgraded in a reasonably straight-forward way, just follow the documentation (well and a few blog posts here and there for the things missed in the official docs). But all the additional Gems, and dependencies of those Gems (and so on) made the process excruciating. Many things broke in subtle ways at runtime (no compilation, so no compiler errors) and there was no clear path to upgrade; because whilst Rails' upgrade path is documented, there's a plethora of Gems that also needed to be upgraded separately (some in contradictory manners).
You might wonder why I was so out of date in the first place. Two reasons:
1. I inherited this code-base.
2. I've attempted this (or a similar) upgrade about 5 other times in the past; spending hours upon hours debugging crashes (or just weird behaviour) with enormous stack-traces where my application's own code often doesn't even appear in the stack trace. It's only now after making several failed (or rather overly time consuming) attempts I was able to come up with a "workable" upgrade path.
Gems dynamically generating methods left, right and centre, Gems replacing methods of seemingly unrelated classes (when they definitely do not need to), and crazy "conventions" that hide all the actual logic make debugging any sizeable Rails project a complete disaster. Don't even get me started on the poor performance, much of which is to do with poorly designed Gems and not even the Ruby interpreter's fault.
That said... I still turn to Rails when I want to get a new project (with users, database, login, admin etc.) up and running quickly. It's a shame, but in terms of development speed, it's hard to beat Ruby (and Rails). For small projects Sinatra is very solid, and Padrino is interesting - but honestly I can't wait for the day I can move to a compiled language and still achieve this sort of development speed.
This "let someone else do the work, get it from a gem" mindset is what kills long lived projects. It has nothing to do with the tools and everything to do with experience.
You don't need 1000 gems. Managing anything more than core dependancies in a project can easily create exponential bugs and consume all your resources to fix. Remember left-pad?
This is true in any language and ecosystem and has nothing to do with rails/gems/ruby. The same is with Python, JS, PHP.
Senior/Lead devs need to carefully curate what a projects foundation is. A strong, well designed foundation means you have something solid to build on. If you don't understand what's in your deps, haven't read their code, see how often it's updated and how many people actively use it, and can say you are using 80% or more of the code in it then don't use it.
Writing your own code is often the best route since it fixes your exact use case, no matter the language, libraries or frameworks being used.
 I write in Java because I work for a Java shop, but even if I had my choice of languages, I'd probably be using either Swift or a compile-to-JVM language.
Any tool that allows the rapid (almost effortless) accretion of complexity will suffer these problems. It goes with the territory.
Use whatever tools/framework you want. Whatever it is you use, you will eventually become [the original] OP.The reality is that every language/framework has warts. As you use it and get deeper into it, you will uncover these warts. Eventually, all you can see is the warts.
It's important to take a minute every once in a while and look at the thing you built from a user's perspective. See what problem you've solved for people, or just what cool new thing you've built. Staring at a bug backlog and a mountain of tech debt will always get you down about your project, but that's the reality of programming...bugs and tech debt.
Further down the road, maintenance drowns you.
I've rallied against this mindset before, e.g. regards security http://williamedwardscoder.tumblr.com/post/43394068341/rubys...
I find large Python apps fairly unmaintainable too, but to a much lesser degree.
As people flee the platform a huge amount of opportunities are going to open up for that still enjoy the platform. I can't wait.
With any programming language and/or framework you have to pick your poison. Rails backloads a lot of big development obstacles that ultimately you may never actually encounter in the life of your app. The issue regarding gems can be aggravating. But the speed in which you can get your app built cannot be understated. Rails is not a one size fits all, and you might eventually outgrow rails (i.e. Twitter). Be grateful the framework got you to the point you could outgrow it, rails helped you get there.
I can't imagine that an "eliminate boilerplate via convention at the cost of explicitness" mentality would have evolved independently in a world where assurances are earned by proving extra properties to the compiler.
However mordern compiled languages now formalise the shortcuts afforded by dynamic languages, e.g. type inference, generics, implicit conversions, typesafe macros, type classes, etc.
Similarily conventions popularised by rails-esqe frameworks are being formalised using the tools listed above.
I fall into the scala camp, but have used rails at a previous job. My guess is I need 1.5x scala lines vs Ruby which I believe is a justified cost. Opinions of course vary.
Unless he's talking about Elixir and Phoenix, which IMHO is the future of web development.
Rails is well positioned for that.
What is "the future" isn't really so interesting as what is productive.
Yes, performance matters a bit, but development time is usually much more expensive than adding a few nodes to an autoscaling group, and not worth the cost of using less fleshed out libraries.
By the time a project gets large enough it starts optimizing for its major stakeholders. New use cases or new ways of rethinking common use cases come along, and the small libraries that approach it from scratch have a narrowly-defined advantage. If the advantage is significant enough (e. g. virtual dom for browser UI), then new frameworks start being written around them, bringing back some but not all of the features of the older frameworks.
At some point (different for each user/use case) the newer frameworks have enough functionality that people start considering them over the older ones for new projects. When enough of that happens, the older frameworks start looking like yesterday's software.
Fast forwarding, many apps are (or will be) big JS blobs using APIs/microservices back to the server. In that version of the future, frameworks like Rails can get in the way more than they help.
At least, everything in nature tends to get reduced to a local optimum by a straightforward optimization process of trial and error. There is no way to make a reliable and efficient complex system by piling up more and more crap.
you don't have to use bleeding egde libs instead of rails...
hapi instead of koa
react instead of cycle
ember instead of react