Am I Doing it Wrong? - <AUTHOR> https://gist.github.com/2838490

<comment><USER2> As someone who grew up on imperative and functional programming, I am loathe to add a class where a method will do. I hate having to open a dozen files to read logic that would be 30 lines if it were consolidated into one method.

I suspect the 'senior developer' has similar feelings about OOP to my own; he just sounds a lot more forceful about them. I don't think either position is necessarily 'right', but he's probably not a good person for you to work with.

<comment><USER3> Rails is not my bread and butter however in iOS I find it'a almost always better to split things out into helper classes. Otherwise when you find that you end up needing that method in other parts of the app and then you either have to break it out into a class anyway or have two of the same method in two separate controllers I.E. NOT what you want.

I think the OPs code looks clean and follows OOP.

</comment></comment><comment><USER4> Surprised that nobody has mentioned yet: this code is _stateful for no reason_. There is no need for instance variables, a constructor, an object, or a class at all. It's just a _function_. Put it in a mixin, as a module function, in a helper, as a class method; there are lots of ways to do this that don't involve extra code, nounifying verbs, and state.

<comment><USER5> I'm about 5-6 years into my Ruby programming career (and 5-6 years into my OO programming career) and this is something that I've been wondering about lately. When I read Design Patterns for Ruby Russ Olsen seemed to generally write classes that require instantiation, but when I look at the work of other Rubyists that I admire they're often writing classes that are nothing but class methods.

I'm starting to get a pretty good feel for it, but what are the criteria that you use to determine if a class should be stateless or not?

<comment><USER4> Classes exist to bundle state; if there's no need for state, there often shouldn't be a class in the first place. I tend to use module_fun for that, or just:

        module Foo
          def self.some_stateless_method
            ...
          end
        end

        Foo.some_stateless_method

        class MyController
          include Foo

          def index
            some_stateless_method
          end
        end

and so forth.

People think of modules as being mixins, but they're actually just function namespaces--which you can happen to bind into class contexts via include/extend.

I tend to use class methods where:

a.) The class exists, because you _want_ state, and

b.) The function operates principally on, or is only useful in, the context of that class, but

c.) The function isn't bound to the object's state.

That last requirement is fuzzy, since the call semantics are different: self.class.foo is awkward, so I'll often write instance methods which don't actually depend on the state, just taking advantage of the local namespace.

</comment></comment></comment><comment><USER6> 15 years experience (mostly java) here... I agree with senior developer. You're needlessly breaking the logic across multiple files to handle potential use cases that may never come up. It's not horrible, but if you have 100 of these controllers, now you need 100 service objects (or maybe 50 if you can group things). All to keep the extra three lines of code out of the controller.

Keep things in one place to start and then if the need for sharing or abstracting comes up I the future, refactor the code.

This approach should be reversed if you're shipping a library for use by third parties (abstract and isolate everything you can).

<comment><USER7> "This approach should be reversed if you're shipping a library for use by third parties"

I'm coming to believe more and more strongly that there should be a difference in the way writing library code, and writing code that uses libraries, is approached. (This applies to the use of design patterns, abstractions, and various other "best practices.")

In many cases, there's a big difference in both programmer quality and the amount of time spent on each line of code between library code and application code. And worse, most of the time, when programmers come across good code, it's library code, not application code. This leads programmers to think that library code--with its multiple abstractions and design pattern complexity--is the right way to do things, and so then then apply this approach, quite inappropriately, to their application code.

</comment></comment><comment><USER8> Sorry, it's just horribly wrong: "The "senior developer", whom is the stake holder's right hand man, said this:"

"Who", not "whom". There's no reason to use "whom" at all any more unless you really know when you should. "Who" is acceptable at all times.

The code seems fine though... ;)

<comment><USER9> _"Who" is acceptable at all times._

I was unaware. Is this just laziness slipping into common usage or has it always been the case?

<comment><USER10> It may have been laziness once but if anything slipped, it slipped a _long_ time ago. I'd argue that a sentence like "Whom are you talking to?" would sound pompous and old-fashioned to most Anglophones (and not solely because it ends with a preposition).

</comment></comment></comment><comment><USER11> Here's a heuristic: Verbs don't belong in class names. Maybe in module names. But even then.

Any good counterexamples?

<comment><USER12> Yes, I agree. Naming a class with a verb is a good signal that you're trying abstract the wrong thing. If you want to move certain responsibilities outside the object, you make a "Handler" class that is in charge of that behavior and listen to appropriate events.

How I would approached it: refactor the logic in FacebookHandler/TwitterHandler, make the Comment object send an event when one is added, make the handlers listen and do their magic. Implement a common interface for grabbing the Tweet/FB post text. Done. Now all your models can post to Twitter/FB with a common interface.

EDIT: For clarity

</comment></comment><comment><USER9> I don't know about wrong, but I sure wouldn't do it that way. Adding a new class makes everything more complex for the next guy to figure out, and doesn't actually solve any current problems. It just moves the code somewhere else.

While this example is not an abomination, the desire to "clean up" code like this can be indicator of a compulsive over-builder - and that can extract a heavy price down the road. So the sr dev is right to be cautious.

</comment><comment><USER13> Recent commenting activity was prompted by DHH's tweets today. <https://twitter.com/dhh/status/216242159496609793>

<comment><USER14> And here's his response to the gist: <https://gist.github.com/2838490#gistcomment-356060>

<comment><USER15> Meh, the "YAGNI" citation by @dhh is pretty weak IMO. YAGNI is a guideline, a heuristic, not an absolute inviolable law of nature. And that's what experience buys you as a developer: the wisdom and insight to anticipate things that are likely to be needed, and places where code should be structured a certain way now, to accommodate future changes.

What we need is a new acronym (well, maybe somebody has probably already coined it, but whatever) YPNGTNI: You're Probably Not Going To Need It.

<comment><USER16> Personally, I think DHH is following YAGNI as a guideline correctly in this case.

As long as the code is easy to refactor - and in this case, it's a piece of cake - I think you should err on the side of YAGNI.

<comment><USER5> Wouldn't this potentially muddy up his tests though? Now he's creating a lot of mocks for a simple create action. Not only that, but should the create action not be called "create_and_maybe_send_to_social_networks"?

<comment><USER17> The CRUD metaphor doesn't map well to an application's network API -- which is what controllers/actions are, after all. Like if there's some code that gets executed when you click the "create comment" button, that's how you name it. Doesn't matter that the code creates a comment and maybe posts to social networks and some other things.

</comment></comment></comment></comment></comment></comment><comment><USER18> "class PostComment" that already sounds wrong if you think about it.

<comment><USER12> He was correct in that posting to Twitter/Facebook should be refactored, but wrong in the way he actually handled it.

I would have approached it by sending a "new comment" signal when a new comment is inserted in the database, and have the specific logic for posting to Twitter and Facebook elsewhere. I don't know if Rails has support for that, and maybe that's the disease because most Rails codebase I've come across seem to just stick to whatever is built-in instead of thinking outside of the box a little for the sake of better design.

<comment><USER18> yeah I'd write my own class/service to handle facebook/twitter/linkedin/etc.

</comment></comment></comment><comment><USER19> I'm feeling a little guilt for being amused that someone got fired from a Ruby job for writing 20th century Java.

</comment><comment><USER20> Maybe I'm stupid, but why do I need to create a new object so that I can do four things in a sequence?

And these four things have different failure and performance characteristics - so maybe we should not try hard to unify them.

</comment><comment><USER21> I would call this class by what it _is_ ("CommentPoster") instead of what it _does_ ("PostComment").

      CommentPoster.new(@comment).post

In this case, it might be a premature optimization, but I find that classes like this are a lot more testable than controller logic. One thing, though. I would pull lines like this out of CommentPoster and put them back into the controller:

      LanguageDetector.new(@comment).set_language
      SpamChecker.new(@comment).check_spam
      CommentMailer.new(@comment).send_mail

This keeps the important steps a bit more mutable.

</comment><comment><USER22> If you cannot follow the code standards of a project (adding a totally new way of structuring the code) and cannot restrain from throwing in new depencencies/frameworks like Ember instead of using jQuery as specified, then don't be a contractor. You'll waste your clients money and be frustrated.</comment>


Report: Developers Choose HTML5 and Open Standards over Native Apps - <AUTHOR> http://www.appmarket.tv/tv-apps/2137-report-developers-choose-html5-and-open-standards-over-native-apps.html

<comment><USER2> Web standards are the only 'open standards' now? What is this then: <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf></comment>


Why Flat Design Doesn't Work - <AUTHOR> http://ncrafts.net/blog/2013/06/why-flat-design-doesnt-work-while-skeuomorphism-does/

<comment><USER2> The pendulum of design always has swung between fits of over-design to stark minimalism throughout modern history (the last 300 years or so).

There's a happy place to be found between skuemorphic and flat. Flat is hitting the reset button. If everything were flat, the internet would not be better for it.

Skuemorphic is best used to communicate complex ideas that are aided by visual illustration. Skuemorphic's main problem using analogies that don't need defining. Apple's iOS Podcast app used a reel-to-reel animation. For anyone under 40, this is silly. It neither communicates interaction more effectively nor does it enhance comprehension. However, the application Propellerhead's Reason, had a great deal of success using skeumorphic design to communicate FX chains, allowing users to set up device racks and drag and drop the wiring to set up complex FX chains. Flattening this probably would have diluted the analogy. Where Skuemorphism went bad was when we started using it as decoration like leather address books.

The best parts of "Flat" aren't the graphical elements but the close attention to functionality and interaction.

</comment><comment><USER3> It sounds like the author is saying that only people who take the time to fight through the noise of skeuomorphism will understand it (AKA skeuomorphism is jazz?).

</comment><comment><USER4> There is a rich middle ground between these two very extreme visual styles.

<comment><AUTHOR> Agreed completely.

</comment></comment><comment><USER5> I'm sure we'll come full circle on this.

</comment><comment><USER6> I see no compelling argument here.

<comment><USER7> I see no argument at all. Just cloud-headed hands-wavey anecdote.</comment></comment>


PyBlosxom: blogging with a hacker-friendly workflow - <AUTHOR> http://happy.cat/blog/Blogging-with-pyBlosxom-2010-01-20.html

<comment><USER2> A similar project: <http://www.blogofile.com/>

<comment><AUTHOR> Awesome, thanks :)

</comment></comment><comment><USER3> Also check out ikiwiki (perl) and yaki (python). Yaki is particularly cool because it automatically populates the bottom of each page with related links on your site. This makes your site feel much less sparse.

</comment><comment><USER4> I commented on his blog, too, but I used to do this with jekyll. It was pretty sweet, but I've moved on to Posterous now.</comment>


Amazon Upgrade: a really useful idea that nobody has heard of - <AUTHOR> http://www.guardian.co.uk/technology/2009/jan/15/amazon-upgrade-google

<comment><AUTHOR> I've been wanting a feature like this for absolutely ages - I keep wanting to do a full-text search of books I only own in physical format. Strange to find that someone has already implemented it, but that it never really took off. It would be great if someone launched something like this now that e-readers are much more mainstream.</comment>


John Mashey on RISC/CISC - <AUTHOR> http://userpages.umbc.edu/~vijay/mashey.on.risc.html <comment><USER2> For context, here's the thread from 1991: [https://groups.google.com/d/msg/comp.arch/rYgGszm_dGk/z7p0or...](https://groups.google.com/d/msg/comp.arch/rYgGszm_dGk/z7p0orP7r0IJ)

One interesting comment:

        Hey, you left out the Acorn Risc Machine.  Not a big name in the
        workstation market, but I understand that they sell a good number of
        them, and the instruction set is "interesting" (a bit-twiddler/
        superoptimizer's wet dream, if you ask me, but probably "risc" by many
        definitions of the term).  VTI sells this chip in the US, they should
        be able to give you a spec if you want it.

I wonder what a modern table would look like. There's been a fair amount of turnover in RISC, now largely dominated by ARM, with MIPS and PowerPC also contenders, and CISC is _still_ dominated by x86.

<comment><USER3>
      > and the instruction set is "interesting" (a bit-twiddler/
      > superoptimizer's wet dream, if you ask me

All fallen by the wayside in Thumb and ARM64, now.

      > but probably "risc" by many definitions of the term

What ARM lacked in academic purity it made up in pragmatic simplicity of implementation. You could look at the instruction set and practically see the gates.

<comment><USER4> > What ARM lacked in academic purity it made up in pragmatic simplicity of > implementation

'pragmatic simplicity of implementation'? Mmm, what about LDM/STM (load/store multiple registers)?

Of course they dropped this with the ARMv8 (64bit) ISA..

I wonder if they are still interesting differences between the ARMv8 and the MIPS ISA? From my (uninformed) POV they look very similar..

</comment></comment></comment><comment><USER5> Interesting how history seems to have ratified the more RISCy of the CISC designs, IBM 360 and Intel x86 are survivors, the Motorola 68000 and DEC VAX died hard deaths, especially the VAX, which didn't lack support from DEC.</comment>


Takeovers Roar to Life as Companies Hear Footsteps from Tech Giants - <AUTHOR> https://www.wsj.com/articles/takeovers-roar-to-life-as-companies-hear-footsteps-from-tech-giants-1511200327 <comment><USER2> The idea that companies are trying to outpace technology firms by acquiring vertical or horizontally related non-technology firms seems silly to me.

If the problem is that you can't compete with a technology company, no aggregation of non-technological companies will fix that problem.

A bit like building stronger castle walls to fight damage from strategic bombing, to construct a bad metaphor.

</comment><comment><USER3> These titles are driving me crazy. It's just something about some titles that you have to read ten times to understand. And usually, after reading the subtitle of the piece, you get the point.

</comment><comment><USER4> Paywalls suck.

<comment><USER5> I subscribe to some news sites (WaPo, The Guardian, NYT, The Economist) — they each have a much better hook than WSJ which just dumps you into this weird limbo. I wonder how successful this approach is versus the "5 free articles a month" approach others use or the "polite request" approach of The Gaurdian. Does anyone know?

</comment></comment><comment><USER6> I can only see the first two paragraphs?? how to fix??

<comment><AUTHOR> Try: [http://archive.is/1JvXz](http://archive.is/1JvXz)</comment></comment>


Paul Ceglia, who claims to own half of Facebook, out of jail in Ecuador - <AUTHOR> https://buffalonews.com/2019/06/12/ecuador-releases-facebook-scammer/ <comment><USER2> If you read other sources on the story of this guy, most seem to make him seem like a scam. But since I can't judge what is "fake news" and not, all I can say if fuck this article for making it seem like Ecuador is making a stand against the US for some kind of freedom. Being from Ecuador, I can realize that this is just a political move from Moreno. He fucked over Assange because Wikileaks started revealing the dubious dealings of his family. But now he wants to seem anti-US like his predecessor Correa did by denying the extradition of some small insignificant player line Ceglia. This article makes Moreno seem like a brave leader taking a stand against the US. He is a tool trying to make himself look big after escaping any Wikileaks accusations. Fuck him and Ceglia

<comment><USER3> The reaction from the US seems a little outsized too - why is the FBI swarming this guy and US bothering to attempt to expedite for something that's basically a petty fraud attempt?

<comment><USER4> He fabricated evidence in a lawsuit over the ownership of a multi-billion dollar company. I am not surprised the feds took interest.</comment></comment></comment>


It's Time to Make Our Privacy Tools Easier to Find - <AUTHOR> https://newsroom.fb.com/news/2018/03/privacy-shortcuts/ <comment><USER2> I wish they would give more clarity on what 'delete' means. Is it a) It's deleted from your timeline etc or b) It is really deleted from Facebook's servers

If it's a) then that's either a 'hidden' toggle which does not meet GDPR needs. If it's a 'hidden' and do not process further, it is questionable (unless a right to be forgotten is invoked).

Also if it's a) then everything is discoverable by someone with legal authority, even years after you believe you have deleted it.

<comment><USER3> As U.S. citizen, I'd be interested in hearing how the GDPR enforces an _actual_ delete. I do think it's intentional that Facebook is so vague about what "delete" means; in the given article, there is mention of _" delete your Facebook data"_ and _" delete anything from your timeline or profile that you no longer want on Facebook"_, but nothing about where the data is _deleted from_.

You can try to argue that the author wants to keep things simple for a general audience. Though a cynic would point out that one of the authors is FB's deputy general counsel, the type of person who we would expect to be incredibly precise and purposeful about wording.

I looked around on the FB support pages for more clarification and this is the best I could find:

[https://www.facebook.com/help/224562897555674/](https://www.facebook.com/help/224562897555674/)

> _When you delete your account, people won 't be able to see it on Facebook. > It may take up to 90 days from the beginning of the deletion process to > delete all of the things you've posted, like your photos, status updates or > other data stored in backup systems. While we are deleting this information, > it is inaccessible to other people using Facebook._

Since it is talking about deleting backup/caches, I think it's reasonable to interpret that they mean a complete wipeout. Though I assume there's no _guarantee_ either -- i.e. if FB's deletion process "happens" to not wipe out the cache or do a real wipe, how can we really confirm?

For a non-Facebook example, here's how Google talks about deletion of search activity:

[https://support.google.com/accounts/answer/465](https://support.google.com/accounts/answer/465)

It explains that Google will retain the "meta" of your activity, and also says that the meta will be removed if you delete your account:

 _" When you use Google products and services, we keep some data with your Google Account, like when and how you use certain features. We keep this data even if you delete activity or other items. For example, if you go to My Activity and delete a search you did on Google, we'll still know that you did a search, but not what you searched for. What you searched for will no longer be stored with your account...We keep this data as long as it's relevant to meet uses like those above. If you delete your account, we remove this data from it._"

<comment><USER4> In addition to that, that data derived from the data you supply (i.e. a trained ML model on your preferences or face) aren't deleted even if they do permanently delete data you've posted.

<comment><USER5> Whoa, I hadn't considered this at all. This opens a huge can of worms.

How could this even be enforced? If something like the GDPR gave you the ability to request that your data be deleted, would that extend to learned data?

In my opinion, there's no way they could make FB delete that kind of data. How would you even know they had it? It's not like FB would throw out entire trained models or attempt to retrain with everyone else's data, that would never make economic sense.

Could someone with more knowledge of the current data protection laws comment about how|if this is addressed? To me it seems like companies could just process all your data into some derivative and then delete the original data to stay compliant.

<comment><USER6> I am not a lawyer, but I think that learned or aggregated data should be fine, however hashed identifiable data is not OK. Identifiable data includes IP addresses and mobile device ids.

</comment></comment></comment></comment></comment><comment><USER3> It's not clear from the text of the post, but I believe most of these features/redesigns have yet to be released -- that is, they aren't in the most recent iOS update, which was yesterday:

> _...we're taking additional steps in the coming weeks to put people more in > control of their privacy. Most of these updates have been in the works for > some time, but the events of the past several days underscore their > importance._

I guess it's confusing because these updates/steps are talked about in the present tense, e.g. " _Some people want to delete things they've shared in the past, while others are just curious about the information Facebook has. So we're introducing Access Your Information..._ "

Something like, _" Expect to see these updates in the coming weeks"_ would have made things clearer.

<comment><USER7> I just spent 5 minutes hunting for these new capabilities and figured it was only a change made in the mobile app, which I never install. Figures. It will be interesting to see how/if they surface this via browsers vs. apps

"It's Time to Make Our Privacy Tools Easier to Find" (just not quite yet!)

</comment></comment><comment><USER8> Anyone who has requested a copy of "your Facebook data" did the data you got include a listing of which websites with embedded "Like" buttons you visited?

Presumably Facebook _has_ this data, for people who are logged in with the same browser at the same time as they visit any page having a Like button. No need to click the button.

The question is whether Facebook is keeping the existence of this data hidden from people who request a copy of the data Facebook has on them.

<comment><USER9> In 2016, there was a ruckus about Facebook collecting nonmembers viewing habit across the internet, so the answer is yes for my case. As far as I know, as a nonmember, I cannot access my shadow profile unless I join and give them yet more data to invade my privacy.

Rather than live in George Orwell's nightmare, I have resorted to spending my time blocking their tracking at the dns request level on my router for all my devices. The great thing is you can block a bunch of other trackers and spyware as well.

<comment><USER10> There is a page for non-member data requests. (I can't access fb at work, but there is a page for it)

<comment><USER9> This is even more highly disturbing and problematic. How do I prove it's me? How do they keep other people from impersonating my "shadow" and downloading my data w/o my knowledge?

Face book needs to delete all nonmember data now. My solution is to block everything they do via dns. I blocked 43 requests from my devices this morning alone, and I stay as far away as I can, and yet they tried to access 43 times.

My next tactic is to spook them into thinking I moved to Europe and they risk serious revenue loss if they continue data collection w/o opting in. I will probably get a euro VPN once the law takes effect and see via dns if they still collect.

</comment></comment></comment></comment><comment><USER11> I find it somewhere between amusing and disingenuous that their call to action doesn't link to the tools they are trying to promote.

The only links in the article body are to a post from Zuckerberg and to "Ad preferences" \- nothing about how to get to the new-and-improved privacy tools.

</comment><comment><USER12> FB seems to be using these tools as an engagement hook, ie. find the users they know are not engaged or lurking then lure them in with targeted emails about face recognition and privacy features. They probably love all the publicity as it gets people back in app to configure their privacy settings. I also suspect that the privacy settings' backends are 'being figured out' and users are just turning knobs that aren't connected to anything.

</comment><comment><USER13> "It's time to <blah blah blah dishonest projection of fake sincerity bullsh*t>"

Whenever I read marketing sentences like this, I can remember sitting in meetings deciding how we were going to lie, but discussing the topic using words to make it seem even to ourselves that deceit wasn't our goal. I often wonder what my life would be like if I'd happened to end up on some sort of a blue collar path where I just did an honest day's work for an honest day's pay, my guess is that I'd be much happier, and most likely better off financially as well.

</comment><comment> at-fates-hands So glad I only used FB for a few years before deleting my account. I could see this stuff coming from miles away.

It just never ends with FB though. I can't tell what's worse though. Them continually telling their users they care about privacy and then going right back to taking and using people's data for nefarious reasons; or the users who continue to put up with it year after year, scandal after scandal and willing give up their privacy.

<comment><USER14> Unless that's a blackphone in your pocket[0], you're already giving up enormous amounts of data to a giant megalithic company. If you're doing it for one, is there really any harm in doing it for two?

[0]...I suppose I'm assuming here that somebody who has an account on HN has a smartphone.

<comment><USER15> _" any harm in doing it for two?"_

Think of it like the prospect of having unprotected sex with a partner. One potential partner has always been faithful, another has had a few slip ups, a few betrayals. Do you see potential relationships with each a little differently?

Of course, a valid followup question is, "Yeah, but has any data-hoovering company in SV been faithful?"

</comment></comment></comment><comment><USER16> Aral Balkan has excellent things to say about charades such as "privacy on facebook": [https://www.youtube.com/watch?v=jh8supIUj6c#t=34m10s](https://www.youtube.com/watch?v=jh8supIUj6c#t=34m10s)

All in all, this is a great talk, I highly recommend you watch from start.

</comment><comment><USER17> It's Time to Remind Users It's Your Own Fault

</comment><comment><USER18> Facebook, if you're reading this, please give me a control that allows me to automatically delete everything I do on Facebook except for the last N days (where N can be freely chosen by the user).

<comment><USER19> > please give me a control ...

So you're prepared to believe FB will delete your personal data as promised, right? This time, if they promise to play nice, it will be great? What I would believe is a system where data is sent encrypted to the social network and content filtering is happening locally at the end user - in other words, something like the internet.

<comment><USER18> You're right, we can't trust them. But at least let me automatically delete posts for my friends and the rest of the world.

</comment></comment></comment><comment><USER20> I want a true data deletion feature, ideally via a configurable policy in my profile (purge all data after x days,...)

</comment><comment><USER21> Oh, so it was us users who were too dumb to find them? Fuck you, fuck you for this blame-shifting marketing speak.

</comment><comment><USER22> This is exactly the kind of mis-handling of situations that invites regulation.

<comment><USER23> One can dream

</comment></comment><comment><USER24> (2004)

</comment><comment><USER25> The irony is that this was built so Facebook can be more compliant with GDPR.

They hinted this January that they would release this soon:

> "We're rolling out a new privacy center globally that will put the core > privacy settings for Facebook in one place and make it much easier for > people to manage their data," Sandberg said at a Facebook event in Brussels > on Tuesday.

[https://www.reuters.com/article/us-facebook-sandberg- privacy...](https://www.reuters.com/article/us-facebook-sandberg- privacy/facebook-to-hand-privacy-controls-to-users-ahead-of-eu-law- idUSKBN1FC1Q6)

So I guess the takeaway here is that privacy regulation works?

I also just love how they put it in their post:

> _People have also told us that information about privacy, security, and ads > should be much easier to find._

Really, Facebook? People have just told you that? Are you freaking kidding me? People have been telling you that for a god damn _decade_. But you _chose_ to ignore it, because you didn't care - until this major scandal was created that _forced_ you to do this. It wasn't because "people told you" and as a company that "always listens to its users" (ha! good one), you decided to actually do that. Come on.

Facebook's tone throughout this entire scandal has been nothing but condescending. And yes, they really do think we're all idiots (as proven by how they responded on every other past screw-up and how they typically come out and lie about it):

[https://mondaynote.com/mark-zuckerberg-thinks-were- idiots-63...](https://mondaynote.com/mark-zuckerberg-thinks-were- idiots-638c64dfab12)

Remember how they outright _lied_ about the datr cookie being a "bug" for _years_ , until they finally admitted in a Brussels court that the cookie has always been there _on purpose_ , but as a "security feature" (another lie) ? I do:

[https://www.propublica.org/article/its-complicated- facebooks...](https://www.propublica.org/article/its-complicated-facebooks- history-of-tracking-you)

Facebook's leadership is full of pathological liars, and they're always looking for another "angle" to get out of the latest scandal and come out ahead. Like how Zuckerberg put out full page ads with his "message" in multiple UK papers, so he doesn't have to go and testify before the committee. Despicable people. I used to think Uber was alone in its own class of evil companies, but Facebook is starting to fit the very same class of companies.

</comment><comment><USER23> Oh, we not only have free speech corners, we can have privacy corners now. Thanks, FB!

Make the dissidents tag themselves as such.

</comment><comment><USER26> Unless this post was written in 2010, it's too little, too late.

</comment><comment><USER27> "Today Facebook finally started to roll out a new set of privacy controls. These tools, many months in the making, are designed to help simplify the site's notoriously confusing privacy options. But alongside them Facebook is also rolling out a "Transition Tool" that promotes Everyone updates as the _new default_. In other words, Facebook is giving up its reputation as a `private' social network - _where the default is to restrict access to everything that is shared_ \- in favor of something that can challenge Twitter head on."

...

"If you delete "everyone" content that you posted on Facebook, we will remove it from your Facebook profile, but have _no control over its use outside of Facebook_."

Source: [https://beta.techcrunch.com/2009/12/09/facebook- privacy/](https://beta.techcrunch.com/2009/12/09/facebook-privacy/)

</comment><comment><USER28> Too little too late FB. You knew exactly what you were doing when you made them difficult to find in the first place. Now you're sorry because everyone realized it? Get bent. Delete your FB/Whatsapp/Instagram/whatever owned by FB. It's the only fair response.</comment>


4 Myths About Emulators and Real Devices for App Testing - <AUTHOR> http://instantdevices.com/testdroid/4-myths-about-emulators-and-real-devices-for-app-testing

<comment><USER2> One example that got me recently - opening the software keyboard on an Android mobile device changes the viewport height of a web page. Ordinarily that shouldn't really be a problem, but on some devices with smaller screens the keyboard takes up more than 50% of the screen, so the device orientation will switch from portrait to landscape (the browser doesn't use the accelerometer for that check). Consequently any media query of 'orientation: portrait' will stop being applied.

I had fun debugging that one.</comment>


Early look a Wolfram Alpha - <AUTHOR> http://www.wolframalpha.com/input/?i=top+100+websites&asynchronous=false&equal=Submit

<comment><AUTHOR> Well, it looks like they noticed they were letting people in and shut it down, as now it redirects to index.html

<comment><USER2> Works again (well, on and off :/ ). I've found a "too many connections" error once so far, the rest of the time it worked smoothly :)</comment></comment>


Net Neutrality II: Majority of economists are against Net neutrality - <AUTHOR> http://www.igmchicago.org/surveys/net-neutrality-ii <comment><USER2> Majority of those surveyed who are connected to the Chicago School. Literally the classically liberal school of thought of Friedman. So, we'd probably have to check if they're OK if they said anything else.

Also, I have issues with the whole premise of the question, as net neutrality isn't really about "for the right to send that traffic using faster or higher quality service". There's no magic go faster lane that they want to turn on, but can't because of regulations. It's about not allowing the ISPs to slow down other traffic.

<comment><USER3> > Majority of those surveyed who are connected to the Chicago School.

How so? The majority of those surveyed are not from Chicago. According to the About section:

> ...our panel was chosen to include distinguished experts with a keen > interest in public policy from the main areas of economics, to be > geographically diverse, and to include older and younger scholars. As with > the IGM's US panel, the experts are all outstanding researchers in their > fields. The panel includes recipients of top national and international > prizes in economics, fellows of the Econometric society and the European > Economic Association, members of distinguished national and international > policymaking bodies in Europe, recipients of significant grants for economic > research, highly accomplished affiliates and program directors of the Centre > for Economic Policy Research and the National Bureau of Economic Research, > and past and current editors of leading academic journals in the profession.

> It's about not allowing the ISPs to slow down other traffic.

What you think a policy "is about" and its actual consequences are very different things.

<comment><USER2> > How so? From the About section:

Chicago school is a broad term for an economics ideology, like "Austrian". Those surveyed are part of that ideology.

> What you think a policy "is about" and its actual consequences are two very > different things.

So tell me then, how does this magical go faster lane work from a technical perspective, and how is net neutrality not letting them turn it on? Please be specific.

<comment><USER3> > Chicago school is a broad term for an economics ideology, like "Austrian".

I know.

> Those surveyed are part of that ideology.

I'll repeat my question: How so?

> So tell me then, how does this magical go faster lane work from a technical > perspective, and how is net neutrality not letting them turn it on? Please > be specific.

I don't know what "magical" lane you're referring to, since I don't believe in magic. Are you trying to score rhetorical points by using such language? Does it make you feel better to attack strawmen?

<comment><USER2> > How so?

It's literally the point of the organization that did the survey; these economists are members of this organization.

> I don't know what "magical" lane you're referring to, since I don't believe > in magic. Are you trying to score rhetorical points by using such language? > Does it make you feel better to attack strawmen?

You're the one being intentionally vague with "what you think a policy 'is about' and its actual consequences are very different things." I'm trying to get you to be specific concerning the technical details of your argument, but you seem to be fighting that pretty hard.

<comment><USER3> > It's literally the point of the organization that did the survey

What is "the point" of the organization that did the survey?

> these economists are members of this organization.

In the sense that they are surveyed by this organization? Do you mean that anyone who is surveyed by organization X belongs to X?

> You're the one being intentionally vague with "what you think a policy 'is > about' and its actual consequences are very different things."

I wasn't being vague, much less intentionally. I was merely pointing out that what you (or I) think a policy "is about" is very different from its real- world consequences. [https://en.wikipedia.org/wiki/Unintended_consequences](https://en.wikipedia.org/wiki/Unintended_consequences)

> I'm trying to get you to be specific concerning the technical details of > your argument

What "argument" of mine are you referring to? And why do you hold me to such high standards of "technical details", which you don't seem to apply to yourself? That's just plain hypocrisy.

> but you seem to be fighting that pretty hard.

I honestly have no idea where you're trying to go with this.

</comment></comment></comment></comment></comment></comment><comment><USER4> The linked page does not anywhere say what the editorializing HN headline does, that a majority of economists are "against Net neutrality."

The question asked was:

"Considering both distributional effects and changes in efficiency, it is a good idea to let companies that send video or other content to consumers pay more to Internet service providers for the right to send that traffic using faster or higher quality service."

</comment><comment><USER5> I don't understand. Don't we already pay according to the bandwidth we use on the server side, and don't clients already pay according to the bandwidth they use, everyone paying more if we use more? And don't backbones already get paid according to usage? What am I missing here? It seems like paying twice for the same product?

<comment><USER6> That's correct.

ISPs are simply rent-extracting. The majority of the US (even in urban areas) has little or no broadband competition so there is no penalty on ISPs for double-dipping. They're hugely profitable and transit costs continue their slide toward zero. The big players are mostly refusing to expand fiber deployments.

It has nothing to do with investments in their network, the cost of providing service, or anything else. They can increase profits by squeezing the likes of Google, Apple, Netflix, etc. So they will.

</comment></comment><comment><USER7> This question is framed in a way that if economist answers the exact question, it's likely agree or uncertain.

Net neutrality as a whole is still a good idea.

Consider this question:

Q: Should the end users be able to buy better bandwidth or quality of service, so that they can get faster streaming or other services?

Absolutely. If you order Netflix and are not satisfied with speed, you should be able to pay for faster network connection that works with every service. If you allow big corporations to pay bulk prices for delivery that is already paid by the customer, it's double pricing and restricts the ability of smaller companies to compete.

</comment><comment><USER8> This is a grossly oversimplified view of this issue. Next up: survey of economists show that our civil rights are hurting the economy!

<comment><USER3> What do you think is "grossly oversimplified"?

</comment></comment><comment><USER9> It's interesting to see the comments of the disagreeing economists, which can be summarized as "paying for a fast lane would be okay if the broadband market was competitive."

So the problem isn't neutrality so much, it's the distribution layer itself.

</comment><comment><USER10> The comments from the economists are much more insightful then the headline:

Thoughts in favor:

* Possible better efficiency (better allocation of resource by bringing externalities to market)

* Net Neutrality already a myth due to CDNs, etc

Thoughts against:

* Price discrimination / vertical price squeeze

* No competition / Market power of the cable and phone companies real issue

</comment><comment><USER11> It seems many of the responses with comments base their arguments off of serving high-bandwidth users.

The question, IMO regarding NN is: "Is all bandwidth equal, and therefore pricing based purely upon metering usage, or is some bandwidth more/less valuable than others?"

In principle, I think all bandwidth is equal. But if you've got 2 or 3 companies using 80% of bandwidth (made up a number for sake of argument) then it damages the other 20% to charge equal pricing bit-for-bit because ISPs have to increase capacity solely to serve the larger groups. So I think the answer is cloudy.

<comment><USER3> > In principle, I think all bandwidth is equal.

Why?

<comment><USER11> Because I think of an ISP as a carrier, and don't believe it's their business to inspect traffic between me and their client for the purpose of facilitating transmission.

</comment></comment></comment><comment><USER12> Which is why they didn't invent the internet.

</comment><comment><USER13> Ok, let's see how insightful some of the 'agree' comments are:

David Autor, MIT:

> Net neutrality is a fiction. Hire Akamai (et al.) to mirror your servers > worldwide to speed content to your users.

What the fuck are you talking about? And Akamai will pump that content onto some magic rainbows to get to your users. I wouldn't put my name/univeristy next to that comment.

_ Joseph Altonji, Yale

> High bandwidth traffic imposes externalities on other users.

Fair, but I'd say this is an incentive for ISPs to step up their game. This is a very old argument.

_ Darrell Duffie, Stanford (Strongly agree)

> If all qualities sell at the same price, markets cannot allocate quality > efficiently. Works for soap, wine, and haircuts; why not Internet?

First of all, soap, wine and haircuts are not a medium of sharing information. And all qualities are not sold at the same price. I pay differently for different speeds and bandwidth. Clearly this guy has no idea what he's talking about.

_ Richard Schmalensee, MIT

> It is not generally good policy to restrict firms' product offerings, but > there seem to be other considerations.

I like pizza and it's not necessarily a good idea to eat it every day, but there seem to be other considerations.

_ Richard Thaler, Chicago

> Seems like those who cause congestion should pay more. I know some worry > that ISPs will play favorites, but that should be preventable.

Yeah, it should be preventable. Through net neutrality rules.

Honestly, what the fuck is this? Also, who cares about their opinion? Not a fan of Taleb but I tend to side with him on his opinion about economists.

Next up, let's ask accountants what they think about Net neutrality.

<comment><USER3> > What the fuck are you talking about?

The point is that net neutrality doesn't even exist presently.

> Fair, but I'd say this is an incentive for ISPs to step up their game.

What do you mean?

> This is a very old argument.

Yours or his?

> First of all, soap, wine and haircuts are not a medium of sharing > information.

How is this relevant?

> And all qualities are not sold at the same price.

I think that's the point.

<comment><USER2> > The point is that net neutrality doesn't even exist presently.

Despite the right wing talking points, we've had net neutrality for the whole existence of the public, consumer level internet. First due to the fact the physical infrastructure of the 90s were owned by the telephone companies who were common carriers. Then by the FCC's attempt at light touch on broadband until Verizon sued them to get a court order that the FCC could only enforce it by declaring them to be full common carriers.

</comment></comment></comment><comment><USER14> At least the one I respect more (Samuelson) has a decent quote:

Disagree. Reason: 'This would be a great idea if the market for service provision was competitive, but is less obvious with our current market.'

On the other hand, it's sad that smart people that should know better (Chetty, Altonji) answered like that.

One interesting observation is the IO/Finance divide.

IO experts (Liran Einav) are in favor of NN, while Finance folks (Darrell Duffie) are against. Probably because the latter almost always think about efficiency, while if you work in IO you have to be aware of the market structure (and natural monopolies, etc)

</comment><comment><USER15> The phrasing of this question is absurd. The most reasonable interpretation is "should ISPs be allowed to charge more for higher speeds", which is already the case, and has nothing to do with net neutrality.

Honestly, it's actually phrased in a way that applies to CDNs as well, which again aren't controversial or really related to net neutrality.

Net neutrality doesn't mean ISPs can't change more for better service; it just means they can't differentiate their service based on the _type_ or _source_ of the data that they transmit.

<comment><USER16> > The phrasing of this question is absurd.

Agreed. The flip side question should also be asked - "Should ISPs be allowed to favor internet properties that subsidize user's traffic?"

I'm not convinced the question they did ask gets at large internet properties using money to disadvantage smaller internet properties.

The anti-competitive aspect w/rt web businesses is, to me, the prime concern. Innovation at ISPs is garbage and will continue to be garbage.

</comment></comment><comment><USER17> Economists aren't engineers, I don't give two fucks what they think or want. I care about the dominate opinion among those who are involved in keeping the internet running and afloat.

</comment><comment><USER18> The way the question is phrased seems likely to lead to misinterpretation to me.

</comment><comment><USER19> I ascribe this to a lack of understanding of how Internet protocols work and how the Internet works in general. Non-technical people tend to see the Internet as its services -- Facebook, Netflix, etc. -- and don't understand that protocol and traffic selectivity will have a massively chilling effect on the ability to innovate beyond those services.

<comment><USER9> You could turn that argument around and say "we had neutrality and got corporate giants like FB, Google and Netflix" so let's try something else now. If the internet providers could make more money by making Netflix pay that money could be invested to do other stuff.

Not sure I believe that line of argumentation either, though.

<comment><USER19> Part of the problem in my mind is that most high speed Internet in the USA is provided by companies that have a vested interest in sabotaging the Internet and thus have a conflict of interest. They'd love to see something like the old TV cable model where customers have a small set of choices that must pay to play.

<comment><USER20> And the answer to that, and a true solution to net neutrality, is competition. We need to get rid of the regulations and agreements that hurt small ISPs at the local level.

<comment><USER19> ISPs are a natural monopoly unless you want this in your neighborhood:

[https://news.lovepattayathailand.com/wp- content/uploads/2017...](https://news.lovepattayathailand.com/wp- content/uploads/2017/03/maxresdefault-8-1.jpg)

I also must point out that fighting a patchwork of local regulations is more expensive than building out the actual infrastructure. It's a slog through political and bureaucratic molasses.

</comment></comment></comment></comment></comment><comment><USER21> a) the headline is bullshit. This is a small panel of economists selected from a right-wing economics association.

b) It's clear from the responses that none of the individuals surveyed (in 2014) had any understanding of the issues involved. Most of them clearly think that net neutrality is about dealing with congestion/excessive use, and obviously think that ISPs should have some way of dealing with that. The question is worded in the most deceptive way possible to encourage that misunderstanding.

For example, look at the response of Thaler. He says he agrees (meaning he is "against" net neutrality for this question) and then explains his answer: "Seems like those who cause congestion should pay more. I know some worry that ISPs will play favorites, but that should be preventable." He's clearly for net neutrality but is an "against" vote for this question because he doesn't understand what the issues are (or didn't in 2014).

Another way of looking at it is that the question as stated, despite being titled "Net Neutrality", has nothing to do with net neutrality.

<comment><USER3> > This is a small panel of economists selected from a right-wing economics > association.

Why do you claim the interviewed economists are "right-wing"?

> The question is worded in the most deceptive way possible to encourage that > misunderstanding.

What is deceptive about the question?

> He's clearly for net neutrality

Where did you get this from?

> the question as stated... has nothing to do with net neutrality.

Letting companies pay more to send content faster to their users has _nothing_ to do with net neutrality, in your view?</comment></comment>


Deep Learning Research and the Future of AI [video] - <AUTHOR> https://www.microsoft.com/en-us/research/video/research-focus-deep-learning-research-future-ai/ <comment><USER2> Here's the book that's mentioned:

[http://www.deeplearningbook.org/](http://www.deeplearningbook.org/)

Seems to have good reviews on Amazon:

[https://www.amazon.com/Deep-Learning-Adaptive-Computation- Ma...](https://www.amazon.com/Deep-Learning-Adaptive-Computation- Machine/dp/0262035618/)

<comment><USER3> It's a pretty great general book that I go back to every now and then when I'm reviewing something I'm learning (i.e. GANs) but isn't something I would recommend for newbies to just pick up and try to understanding without at least spending some time learning math/stats since it's a bit more technical than what non-technical might be prepared for.

There's better introductory material out there to Deep Learning, i.e. fast.ai, Ng's Coursera course, Thrun's Udacity's introductory course, tutorials on Medium, where they explain the math/stats behind something but you can get away with learning the process first and play around with code.

Furthermore for some newbies, I think it's a little easier to understand the material when they try to play with it in notebooks (as is the case of books like Hands-On Machine Learning with Sci-Kit Learn and Tensorflow) than trying to just memorize statements on a page.

But certainly for those here who are more technically orientated, it's an excellent book to pore over. I just like to caution friends interested in Deep Learning that it's not the be all, end all way of getting into it and that if someone out there is interested there are more gradual learning curves elsewhere to get their feet wet before committing to trying to go deeper.

</comment></comment><comment><USER4> He says general AI is 'certainly an end goal' but I certainly hope the 'end' part of that is not true. We should certainly expect that the first general AI will share the tremendously significant shortcomings and flaws that human brains give rise to (conflating correlation with causation, rejecting truth on pragmatic bases without determining actual truth or falsehood, etc... every list of 'common logical fallacies' is a flaw that the associative nature of our brain makes feel true despite being (at best) non-determinitive). If we intend to stop there we really might as well not work towards it. I'd expect the end goal to be producing something better.

</comment><comment><USER5> Same video on YouTube: [https://www.youtube.com/watch?v=5BrNt38OraE](https://www.youtube.com/watch?v=5BrNt38OraE)

(YouTube seems to stream the video better)

</comment><comment><USER6> Can anyone bottomline it for us, is this any good? Is there a other state of the union at this moment of late 2017 that you would prefer?

<comment><USER7> The future IMO is recursive meta learning. This far the max recursion depth afaik has been 1, and that's just a first step.

Also, SeLUs were supposed to be game changing. Are they, or why are they not? Why haven't they been used more? Or what's still missing?

<comment><USER8> Scaled-ELU is meant to create self-normalizing nets, but that's nothing you can't achieve a bit less efficiently with explicit normalization (batch norm, etc), so hardly a game changer.</comment></comment></comment>


Activity Streams 2.0 - <AUTHOR> http://www.w3.org/TR/2014/WD-activitystreams-core-20141023/ <comment><USER2> My guess is that people are going to be turned-off by json-ld.</comment>


Yes, bacon is really killing us - <AUTHOR> https://www.theguardian.com/news/2018/mar/01/bacon-cancer-processed-meats-nitrates-nitrites-sausages <comment><USER2> >The real scandal of bacon, however, is that it didn't have to be anything like so damaging to our health. The part of the story we haven't been told – including by the WHO – is that there were always other ways to manufacture these products that would make them significantly less carcinogenic.

>The fact that this is so little known is tribute to the power of the meat industry, which has for the past 40 years been engaged in a campaign of cover- ups and misdirection to rival the dirty tricks of Big Tobacco.

This is why their should be better health regulations on food.

It is unfortunate, when the U.S only spends $5.1 billion a year, which is spent across food safety, medical products safety and availability, tobacco regulation, and infrastructure. ([https://www.fda.gov/downloads/AboutFDA/ReportsManualsForms/R...](https://www.fda.gov/downloads/AboutFDA/ReportsManualsForms/Reports/BudgetReports/UCM566298.pdf))

Also,stinks that the budget cut it. (The American Greed Report: Food safety measures face cuts in Trump budget) [[https://www.cnbc.com/2017/06/30/american-greed-report- food-s...](https://www.cnbc.com/2017/06/30/american-greed-report-food-safety- measures-face-cuts-in-trump-budget.html)]

</comment><comment><USER3> I will stop eating processed meat, the taste is not worth it at all.</comment>


The easiest way to add WebSockets to Django - <AUTHOR> http://jpadilla.com/post/74391616727/the-easiest-way-to-add-websockets-to-django

<comment><USER2> No, it's really not that easy, sorry.

Looking at the code, you're not actually doing anything with websockets here. There's no handshake parsing, there's no open socket object to pass data back and forth on, there's nothing actually websockety about this.

Instead, you seem to have a simple ajax endpoint.

Or am I missing something?

[EDIT] Clarifying why I said it's not that easy, since that seems snarky as I read it again. To properly do websockets in Django, you have to write your own runserver, which allows processes up the stack to capture the raw socket, perform the websocket handshake methods, and do proper parsing of the incoming data to break the messages on the sentinel values.

I recently tried to do this, and the one package that did this wouldn't work with Django 1.6, and we would have to give up our flup runfcgi, which I wasn't ready to do.

<comment><USER3> I only looked at it for a second or so, but it looks like it's a simple json proxy. You put a webserver with persistent connections on one end (Tornado in the example code) and a regular django environment side by side. The web socket requests are translated in to GET/PUT/POST requests, are pushed to django, django responds and the response is pushed to the client.

So from django's point of view there are stateless JSON requests and responses, so django's happy. The python proxy code is a lightweight wrapper that doesn't have to understand any business logic, so that's pretty straightforward as well.

<comment><USER2> I see where I was confused; I looked at the actual code itself, not the example where tornado was living and being used.

What are the advantages of this over normal AJAX requests, given that it's all using the single request, single response mode of operation (and you can compress/cache AJAX requests/responses, which websockets doesn't support yet).

<comment><USER4> Seems like advantage is skipping network roundtrip to/from client browser. But still seems expensive in terms of cycles.

</comment></comment></comment></comment><comment><USER5> This could be useful. A few questions:

1) can you describe the tornado part of the system? The blog post isn't really clear on that.

2) how do you associate websocket sessions with browser sessions?

3) how do you handle server-to-client notifications? ie. a celery task completes and you want to notify the client.

4) Is XSS a concern?

</comment><comment><USER6> This question is more related to websockets. I have seen that they use different protocol and doesn't work behind proxies or firewalls most of the time. How do you handle this?

<comment><USER2> Using websockets relies on a proxy that doesn't pass just the headers/body, but instead sends all packets in both directions. Nginx proxies do this, Apache requires a special proxy module.

Firewalls don't typically care, since it's effectively a long lived HTTP request, unless it digs into all of the packets and filters there.

<comment><USER7> IIRC SSL is recommended for Websockets.

</comment></comment></comment><comment><USER8> Author here. Let me know if you have any questions or feedback.

<comment><USER9> Just this last week I started working on a new project with django-socketio, and I'm pretty happy with it so far. Why is django-websocket-request better?

<comment><USER8> I did look into django-socketio when doing research, but never actually used it. django-websocket-request is way more simple, because it does way less and doesn't cover as much as django-socketio. For example, django-socketio is bound to only using socket.io, but it also includes a whole channel subscription and broadcast system so you can send messages from the server to specific channels. django-websocket-request only enables you to add a WebSocket layer over your already existing REST API / Views. I'll eventually have to look into doing things that django-socketio does.

<comment><USER4> Does django-websocket-request, like django-socketio , support fallback to other transport methods if websocket isn't available in a browser?

<comment><USER8> django-websocket-request doesn't really know anything about websockets specifically. The example I provided uses sockjs which provides websocket emulation and does upgrades to other methods if supported.

<comment><USER4> Ah, nice.</comment></comment></comment></comment></comment></comment>


Discord Rejection Email - <AUTHOR> https://twitter.com/Bill_Bicknell/status/1109109958661103621 <comment><USER2> I was rejected by them on an Elixir position about 1 year ago. I don't recall anything specific from the email (so probably it wasn't the same one shown on the Twitter thread), but honestly I wouldn't feel any different if it was. Of course this is a 100% personal reaction, each person reacts differently, and being such a sensitive moment, it's just good sense to be extremely careful with the wording.

ETA: I also have nothing against their wording in general. It feels more personal and less enterprise-y. Given their target audience, it seems a good choice.

</comment><comment><USER3> Just read their patch notes, Discord is like that

[https://itunes.apple.com/us/app/discord/id985746746?mt=8](https://itunes.apple.com/us/app/discord/id985746746?mt=8)

>\- GIFV autoplay now supported. Is it pronounced GIF-Vh or GIF-Vee? Don't get me started on how to pronounce the G.

>\- Added a fancy, in-line upload progress indicator for attachments. No more wondering if your images got lost in the void. We brought the void to you.

>\- Fixed a bug where fresh app installs messed with invite codes. Step into a new server from your freshly-installed app like leaving that first footprint the morning after a snowstorm. _cronch_

>\- Add, delete, and edit emojis directly from mobile. Organize your memes like a well-kept spice rack.

etc.

<comment><USER4> And their entire UI too. The company is run by furries and 12 year olds. (Which sorta makes sense now that I think about it).

<comment><USER5> Hi! I work at Discord. I am > 12\. In fact, no one here is 12! The narrative that Discord is run by 12 year old and furries is a hateful and toxic narrative that is fueled by an angry Twitter mob. Surely you don't count yourself in that group, do you? :P

<comment><USER6> Honest question, granted you're not 12, and I don't care if you or your colleagues are furries or whatever. What I'm curious about is how you or anyone you work with could think that rejection email was anything other than cloying, obnoxious, unprofessional and just vaguely demented? It wasn't funny, it wasn't interesting, and yes everyone gets it you work on a tech for people who play video games, but they're presumably not playing them in a locked-down unit.

So wtf? Errr... I mean, wtf "kooloo limpah".

<comment><USER5> I wrote a longer message but I deleted it out of fear of speaking inaccurately. So instead: Discord has a brand voice. Some of us will find it "cloying" and "vaguely demented." However, others will find it funny. Our user base has continuously reinforced to us that they are in the latter. I pray that they are all not demented or in a locked-down unit, but I can't guarantee that.

<comment><USER6> Yeah, and when addressing your userbase I can see how that's very much a choice Discord is free and fairly making. Failing to draw a distinction between "stuff said to fans" and "rejection letter contents" seems like a real problem to me.

</comment></comment></comment></comment></comment></comment><comment><USER7> For those who didn't know (like me), Partner is basically their influencer program, see [https://discordapp.com/partners](https://discordapp.com/partners)

</comment><comment><USER8> In general it would much better if companies put the words Rejected or something similar in their email subjects.

<comment><USER9> I disagree. By not putting it in the subject line, the recipient can wait to open the email, and make a conscious choice about where they are both physically and mentally when they learn the outcome. If it's in the subject, then you learn it immediately when you happen to check your email. If it's bad news, it could throw you off your ball right when you need to be focused on something else.

</comment></comment><comment><USER10> The worst part is the guy whose rejection to his job application was in the same style. How disrespectful.</comment>


Show HN: 70015 – A small developer toolset with nice UX - <AUTHOR> https://x1n13y84issmd42.github.io/70015/ <comment><AUTHOR> How do you deal with weird machine-readable values which you'd like to make some sense of yourself, like a Unix timestamp or a base64-encoded value? Some Bash nerds do "echo ABASE64ENCODEDVALUE== | base64 --decode" to read the encoded stuff, others hit F12 on whatever web page they happen to be at the moment and type something like "new Date(1582889280 * 1000)" (don't forget to x1000 if it's seconds!) in console to see dates (Bash nerds have their "date -d @1582889280" for that), the rest google "base64 decode online" and use some random web tool.

So, this is another random web tool for those tasks and few others. At the moment it helps with URLs (parses & transcodes query values), JSONs (formats & converts them to YAML), Base64 transcoding (including files!), has few crypto functions and, of course, a timestamp converter. There are plans to add a CSV<->JSON converter, a JSON transformer/mapper, a JWT parser/validator, probably a HMAC tool and more.

And the main feature, so rarely found in developer tools, is it's UI. Unlike all the similar tools out in the web, which look like they have been designed by professional programmers, this one is made by a professional programmer who used to date a professional UX designer, so it has both smooth operations & neat looks. There are hotkeys (not many at the moment, but I'm aiming at having full keyboard control over the thing eventually), a sharing feature and data reuse across tools.

We, backend developers, deserve to have nice things too. Give it a shot, I hope one day it finds it's place among your favourite tools.

 _/!\ Please mind it works only in desktop browsers now. I see not much use for this thing on mobile, but maybe one day a mobile version will follow._</comment>


Amazon Offers 'Amazon Pages' For Brands To Customize With Their Own URLs - <AUTHOR> http://techcrunch.com/2012/11/20/amazon-offers-amazon-pages-for-brands-to-customize-with-their-own-urls-and-amazon-posts-for-social-media-marketing/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Techcrunch+%28TechCrunch%29&utm_content=Google+Reader <comment><AUTHOR> This is what I felt Rakuten did so well (besides the whole emphasis on marketplace and supply chain management optimization), giving brands control of their own identities and customers. If I was Rakuten, I would quickly counter this with emphasis on customer support for the merchants.</comment>


Ask HN: Are startups biased towards devs from finance? - <AUTHOR>

I'm a software developer working on software for banks in London. I graduated in december last year. I've got 2 internships (one of top 5 inv. banks and engineering company). I've got a few opensource projects (GitHub, Codeplex) and substantial web presence (Stackoverflow, blog, coderwall). Almost everyday I hack something for fun(phone app, webapp on AWs). I do my CodeKata, recently in Scala and yet I don't know how to land a job in a startup.
I always wanted work in a startup. The tipping point was when I was working on a Imagine Cup project with friends. I really enjoyed that experience. Even after all-night coding I felt happy and productive. I struggled if this is right for me. Maybe it was the influence of environment that having a job is the right way? I don't know, but finally I know what I want to do in my life.
I tried to pitch a few startup, but no interview invite. Is my lack of startup experience a problem (chicken or egg dilemma)? Maybe working in finance is not hot? <comment><USER2> It depends what roles you're applying for, at early stage startups they're going to want candidates who've direct experience with the tech stack they're using.

More established startups are more likely to take fresh grads.

Feel free to ping me your CV if you want and I'll tell you if there's anything obviously wrong with it.

</comment><comment><USER3> Publish your work, ie instead of hacking on a multitude of projects, focus on one, launch and iterate.

You never know, you might just end up with a profitable startup of your own.

<comment><AUTHOR> Sometimes I do e.g. <http://www.heroesgenerator.com/> :)

</comment></comment><comment><USER4> Shoot me an email. I'll run you through our Interview process and give you feedback. Who knows, you might get a fun job out of this too :-)

<comment><AUTHOR> I'd love to, buy cannot find your e-mail :(

</comment></comment><comment><USER5> I doubt it your 6 months experience in a bank. Keep trying.</comment>


Is your life happy or interesting? - <AUTHOR> http://blog.penelopetrunk.com/2010/02/16/test-is-your-life-happy-or-interesting/ <comment><USER2> _Did you relocate away from family for a better job or another more interesting experience? Minus one_

Not buying it. I like my non-immediate family (as in other than my wife and daughter) but if I didn't see them for several months it wouldn't bother any of us. Communications technologies and modern society mean that physical contact with our families isn't as important as it used to be for quite a lot of us.

 _Do you have fat friends? Plus one_

This article is hokum.

</comment><comment><USER3> I believe this goes against most recent studies which have discovered that people have a 'baseline' of happiness. Any changes in lifestyle only have an effect for a short period of time, until the person returns to their baseline.

[http://www.philiplilly.com/blog/2009/01/11/even-if-you- fail-...](http://www.philiplilly.com/blog/2009/01/11/even-if-you-fail-it-wont- effect-your-happiness-level/)

</comment><comment><USER4> Whats most striking to me is that she hasnt researched Happiness in the eastern world. The whole buddhist religion is based on trying to find happiness. The best book that I read on the subject was "The Art of Happiness" by the Dalai Lama.</comment>


AlgoVPN: Set up a personal VPN in the cloud - <AUTHOR> https://github.com/trailofbits/algo/blob/master/README.md <comment><AUTHOR> Algo VPN is a set of Ansible scripts that simplify the setup of a personal Wireguard and IPSEC VPN.

Features:

\- Installs to DigitalOcean, Amazon Lightsail, Amazon EC2, Vultr, Microsoft Azure, Google Compute Engine, Scaleway, OpenStack, CloudStack, Hetzner Cloud, or your own Ubuntu server

\- Supports only IKEv2 with strong crypto (AES-GCM, SHA2, and P-256) and WireGuard

\- Generates Apple profiles to auto-configure iOS and macOS devices

\- Includes a helper script to add and remove users

\- Blocks ads with a local DNS resolver (optional)

\- Sets up limited SSH users for tunneling traffic (optional)

\- Based on current versions of Ubuntu and strongSwan</comment>


DIY Firefox OS TV (first Steps) - fiji-flo https://github.com/fiji-flo/mozilla-berlin/blob/master/fxos/nuc.md <comment><AUTHOR> "Sadly the 1919x1080 is not a typo. 1921x1080 works also if you want to see what happens if you use 1920x1080 go ahead and give it a shot :)"

Could you show what does happen with 1920x1080, for those of us who don't have the hardware to test on?

<comment> fiji-flo [https://github.com/fiji-flo/mozilla- berlin/blob/master/fxos/...](https://github.com/fiji-flo/mozilla- berlin/blob/master/fxos/1920.md)

<comment><USER2> Odd. Did you try to reverse the dimensions then?

</comment></comment></comment><comment><USER2> Nice story, looking forward to the follow-up.

I'm really satisfied with my FirefoxOS powered Panasonic TV after experiencing SmartOSes of Samsung, Sony, Toshiba and NoNames...

</comment><comment><USER3> I'll buy anything that enables me to run Firefox OS for TV on my "dumb" Panasonic.

<comment><USER4> I'd be waiting for the "Cherry Trail" Intel Compute Sticks in that case.

I've got a Baytrail-T version and it runs hot and slow, and is probably not really suppported by anyone any more - it's [http://www.amazon.com/MeeGoPad-T01-Microsoft-Windows- Stick/d...](http://www.amazon.com/MeeGoPad-T01-Microsoft-Windows- Stick/dp/B00RVCGNEC) if you're wondering.

</comment></comment><comment><USER5> Is it smart using an OS whose end-of-life was just announced?

<comment><USER6> Is it smart to use community supported OS?

<comment><USER7> is it community supported? or just majorly mozilla supported + open source?</comment></comment></comment>


The Market for Voting Machines Is Broken. This Company Has Thrived in It - <AUTHOR> https://www.propublica.org/article/the-market-for-voting-machines-is-broken-this-company-has-thrived-in-it <comment><USER2> The market for voting machines is broken because it should not exist.

Voting machines are a bad idea.

[https://www.youtube.com/watch?v=w3_0x6oaDmI](https://www.youtube.com/watch?v=w3_0x6oaDmI)</comment>


Google responsds to Microsoft's Hostile Takeover Bid for Yahoo - <AUTHOR> http://blogs.zdnet.com/BTL/?p=7875

<comment><AUTHOR> Funny how you reach a point where posturing, lobbying, and legal maneuvering play a bigger role than your technology. Oh wait, that's how Microsoft got so big in the first place. Never mind.</comment>


Ubuntu 19.04: Disco Dingo Review - <AUTHOR> https://arstechnica.com/gadgets/2019/05/ubuntu-19-04-review-the-disco-dingo-aims-its-nose-at-the-cloud-and-developers/ <comment><USER2> > The big points of emphasis in this latest release are on Ubuntu as a tool > for infrastructure development, server deployment, and the good old Internet > of Things. For the server version of Ubuntu, the OS ships with all the > latest cloud computing tools.

yes, I've noticed. Since 18.04 LTS we've discovered all kinds of automatic updates, automatic security upgrades, automatic monitoring and a new container service all of which have been stopped+disabled+purged. Ubuntu on servers may not be viable if Canonical insists on watching everything we do.

</comment><comment><USER3> As a person with visual issues, I hope they beefed up the screen zoom control. I have a mouse that has a thumb scroll wheel and I usually map it to "<window>+, <window>-" (if in windows-not the one for browsers)

That way the whole screen is the lens of the magnifier. I adjust it as needed. I can use it with 'windowed game mode' to even zoom games as needed when playing.

One other point I would like if they addressed is the screen rez on bootup with zoom features. again I travel with my ubuntu 'laptop' and hook it to hotels tv panel for the monitor via hdmi. saves bringing a huge panel with me everywhere.

But since sometimes it has trouble detecting the real resolution of the said monitor, the 'zoom' controls are often lost or are tiny, or off the screen. makes it real hard to setup that way.</comment>