Making Elm faster and friendlier in 0.16 - <AUTHOR> http://elm-lang.org/blog/compilers-as-assistants <comment><USER2> I find the Elm language quite fun and I think it has potential.

However, I'm absolutely not convinced about "the Elm architecture" for anything but the simplest UIs. Is pure functional reactive programming suitable for ambitious UIs ? I do not think so.

React has its own set of flaws but at least I believe it nailed the state problem: Encourage the minimization of local state but still make it easy to have some when necessary. I like functional programming a lot but I think this is a case where good old object oriented encapsulation provides a more pragmatic solution.

There are all sorts of transient states that a parent's component shouldn't have to care about (Whether I currently have focus, a transient list of changes not yet committed that should be thrown away should I navigate away, is the calendar drop-down opened?, etc, etc) Elm makes it hard to have truly rich and reusable components for that reason as all that transient state must leak to the parent components.

But that's still doable at least, if cumbersome; some other things simply appear impossible, like coding a ReactTransitionGroup equivalent. This React component encapsulates the concept of a changing-over-time list of children and animate in/out the children that changed across two redraws. It needs to know about the previous list of children to diff it with the new. It needs to manipulate the actual Virtual nodes passed to it so that it temporarily leaves the exiting nodes till their animation finished, etc. This thing has tons of state and it needs it to do its job; and it's fine. How would you do this in Elm without leaking the abstraction at every call site ? (I'm looking for a pragmatic, easy-to reuse by everybody solution, not some convoluted sliding Signal of component lists ;-) )

I'm wondering whether performance tweaks should be the focus right now; Elm already had good performances. The issue is adoption, and if it's too convoluted to write (non trivial) reusable components, I don't see how it can succeed. Right now I would never start a complex project with it in fear of getting stuck with a medium-complexity task because the architecture didn't foresee my problem.

Maybe the architecture provide some escape hatches I didn't see, and I would love to be proven wrong.

<comment><USER3> Local component state is the new two-way data binding.

Three years ago, two-way data binding was the gold standard for niceness. Then React came out, and there was buzz around unidirectional data flow, and a lot of (understandable!) skepticism came with it.

If you listen to people who have spent a lot of time with two-way data binding and unidirectional data flow, what you hear are a lot of unidirectional data flow converts and not a lot of people saying "yeah it wasn't awesome so I went back to two-way data binding."

We're watching the same thing play out with local component state versus a single state atom architectures like The Elm Architecture, Redux, etc. As with the React transition, there is understandable skepticism around new things claiming to be nice, but the writing is on the wall.

If you listen to people who have spent a lot of time with both systems, what you hear are a lot of single state atom converts and not a lot of people saying "yeah it wasn't awesome so I went back to local component state."

<comment><USER4> Actually, you do see a lot of questions and problems with the single state atom. In fact, I'd argue it's inherently a side step towards a future that has the best of both worlds: encapsulated state within components, but backed by some global state store invisibly.

This is exactly what Relay is by the way. You component asks for state, and gets it from a server. The fact that it comes through props is actually just a downgrade because it means you must now treat it as some special thing, and not variables.

In the ideal world, we can write simple components that fetch state from wherever (remote, local, global). They store that state into themselves, and it "just works". They can write back that state just like how they write variables. And all of this "local" state would really be backed into a global state store invisibly.

Local state - Pros: easy to reason about, easy to use. Cons: trapped in one place, inflexible.

Global state - Pros: can be backed in various ways, easier to share. Cons: Hard to use, harder to reason about.

Local state backed to global store - Has all the pros and none of the cons. Unfortunately doesn't exist yet today.

<comment><USER5> Hi there,

I do not quite agree with this. Though I acknowledge your sentiments :-)

1\. Global state is easier to reason about. If you have a single state store expressed as a single object you only have to read one file to understand the complete state of your application. If you let local state express the state and the global state is invisible you have to look into all these local state files and compose the complete state in your head

2\. When you define it as local state you risk conflicting with some state set in a different component

3\. You still have to change state. If you define your state in your components you will also have to include all the state changing logic inside the component. Your components will become very hard to reason about. And what if two components uses the same state and both of them needs to update the state? You will need to put the same logic into two different components

4\. You could say Relay fixes this, but Relay just handles one thing and that is state related to the server. We build applications that does a lot more than talking to the server. Changing the state of your application is a huge problem space and though Relay is cool technology I can not imagine anyone expressing and changing all their state using Relay. So you need some other concept(s) to change all the other state and multiple concepts for doing the same thing is harder to reason about

Personally I think local state is a bad idea and currently I also think Relay is too limited. When I jump into an application I need to reason about what state it handles. With a global state store I can do that. Then I need to know how that state can be changed. Ideally that should be one concept, but we usually have lots of concepts for changing state. Then I want to see how the UI is expressed. Components are great for that, except when they are filled up with state definitions and state changing logic.

So from my perspective I am also trying to contribute with a solution :-) www.christianalfoni.com/cerebral

<comment><USER4> Good points. A response:

1\. Global state is easier to see on a high level, but harder to reason about. Local state is inherently easier to reason about: it's right there. Global state requires me now looking at actions/signals, global state structure, and then my component, and resolving the three.

2\. They should definitely be synchronized, this problem is only specific to local state implementations today. If they aren't synchronized, thats simply at the lack of the system you're using. I'm not familiar with Om Next, but I'd guess it handles this for you (as could any system properly organized).

3\. Not true. You could have state changing functions imported and used by multiple components. This is also easier to understand, in my opinion. I can see where the state is located, and still keep my shared state changing functions somewhere.

I do think local state is skewed negatively now because it's very poorly done. React, angular, all systems today make local state a total pain, opaque, and hard to work with. Om Next seems to be a step forward (I'm working on something somewhat related for JS that should make it better as well).

<comment><USER5> This is really interesting, we have very different perspectives on how to consume how an application works. Not saying you are wrong at all, just have different perspective :)

1\. When I say "global state" I mean the actual state, actions and signals are state changers, not state. A global state store looks like this:

{ admin: { users: [], showConfig: false }, home: { isLoadingNotifications: false, notifications: [] } }

This is one file. If you use local state this example would be split into maybe 3 different files. I think we both agree it has to do with how many files you need to look into. And the amount of composition you need to do in your head.

2\. It would be interesting to see Om Next in JavaScript syntax, too much brainpower going into trying to read Clojure :) Not because it is bad, just have not learned it

3\. That is true, but now it is conceptually no different than signals/actions and for that very reason. You should look into a different file to read the state change. I think it is a good thing. State changes are often very complex, surprisingly complex. They should not be inside a component. I think a component should only be about rendering UI. State changes should be expressed by a different layer.

So what I think is interesting here is that we seem to look at the app from two completely opposite sides. I do not care about the components to understand my app, because they just express its output, the UI. My app is really the state defined and the way it changes that state. What I do care about though is having dumb components is that makes me able to do universal apps, just move my app to a new UI output like react-native etc.

It will be really interesting to see how Om Next affects the JavaScript community. We are good at getting ideas from other languages and practices, where Elm is a good example :)

Again, not stating that you are wrong about anything. It is nice to go into a component and understand how that component works. Its just in my experience really bad to use a "view" as a container for state and business logic. That said it is really important to be open minded and I hope to see us grab ideas from Om Next. Actually trying to inspire creator of Baobab to bring in some new ideas :-)

</comment></comment></comment></comment></comment></comment><comment><USER6> I'm just finishing up a first-year course at McMaster University where we learned basic CS concepts (divide and conquer, state machines, recursion, algebraic data types, FRP, etc) using ELM. It's the first time I've ever put an honest effort into learning a pure functional language, and although it was initially frustrating to a self-taught programmer with a background in several procedural languages and SQL, it's growing on me, and I'm probably going to look for a side project (maybe a small game or a simple CPU simulator) to build with ELM when the course is over.

I only wish the "Improved error messages" and "Catching more bugs" features had been introduced about three months ago, probably would have saved me hours!

</comment><comment><USER7> Some of these errors remind me of Rust and the attempts in that community to give every error an exhaustive description [1].

This looks fantastic, and shows a true commitment to reducing friction with the language - a goal which often goes too long without attention.

[1]: [https://github.com/rust-lang/rust/issues/24407](https://github.com/rust- lang/rust/issues/24407)

<comment><USER8> Yup, I would strongly agree. Diagnostics are one of those things that's easy to let slip by the wayside, but we've seen a huge payoff for users with all the time we've invested in ours. Glad to see other languages like Elm help raise the bar here too.

</comment></comment><comment><USER9> Elm is a beautiful expression of a language. Alone, it is a work of art. Put to use, it lets you build works of art. One of the best contributions to modern languages.

</comment><comment><USER10> Long anticipated, and now finally here :) I <3 the type diffs, exhaustiveness checks and TCO. Not completely sure about the removed syntax, but it's not like I used it a lot, so I guess simpler is better.

</comment><comment><USER11> Very nice. I love the "beginner hints" idea, and explicit enumeration of which cases are missing in incomplete pattern matches. Overall, the "compilers as assistants" idea seems great.

</comment><comment><USER12> Finally TCO! Actually in my UI-heavy Elm programs it isn't that often that I have to write functions with large recursion depth. But it is really comforting to know that the compiler is analyzing my code and making it more efficient. :)

</comment><comment><USER13> Has anyone tried Reflex? Really interesting concept in Haskell + GHCJS [https://github.com/ryantrinkle/try- reflex](https://github.com/ryantrinkle/try-reflex)

I liked Elm but I felt the language was a bit limited coming from Haskell, ex no type classes so you have List.map, Signal.map, Set.map, etc

Overall Elm is great in terms of tooling, setup, error messages, performance, js interop though

<comment><USER14> Reflex is great (and its author is a genius) but it's not really useful yet for non-desktop apps. Because Reflex + GHCJS is impossibly slow on mobile.

As an experiment, try using chrome (iOS) or android to load this:

obsidian.systems/reflex-nyhug/

or this:

[https://obsidian.systems/](https://obsidian.systems/)

They're both reflex apps.

GHCJS is bees-knees. But unfortunately, minimizing-code-size/mobile- performance has not been a priority. (It's understandable, as Luite can't do everything himself.) (Aside: the best solution I've seen -- in terms of generated code size -- in GHCJS-land right now is: [https://hackage.haskell.org/package/react- flux](https://hackage.haskell.org/package/react-flux). Anecdotal, though. YMMV.)

I can't wait for GHCJS to be ready for prime time. I wish all these alt-JS- haskellish language authors (of Purescript, Elm, Roy, etc.) would just work on making GHCJS better.

It's a bummer that Clojure and Scala are much newer than Haskell and yet they both have a mature, production-ready JS compiler. The statically typed ML- family is too small for multiple JS compilers. The entire community needs to pick one and let the others die. Otherwise, we end up with several half-baked solutions and not a single industrial-strength one.

<comment><USER15> > I wish all these alt-JS-haskellish language authors (of PureScript, Elm, > Roy, etc.) would just work on making GHCJS better.

All three of those have very different goals and trade-offs from GHCJS.

I agree that it would be nice to share more work/knowledge though. One of the nice things about AltJS is that several languages can coexist in the same codebase.

<comment><USER14> > "All three of those have very different goals and trade-offs from GHCJS."

And therein lies the problem. In my view, the most important goal is to have at least _one_ really good AltJS-Haskellish language with a fully-featured ecosystem of libraries. (I'm fine if that language is PureScript, btw. PureScript is fantastic.) The problem -- which Clojure and Scala programmers seem to have sorted -- is that our community is too small to support several Haskellish-AltJS compilers. Do we really want several perpetually nascent solutions?

> "One of the nice things about AltJS is that several languages can coexist in > the same codebase."

Theoretically, you're right. But how many production code bases are there in AltJS-Haskell (vs. say, Clojurescript)?

<comment><USER16> Normally very smart people have an huge ego and hate politics. It's always a pity to see so much potential wasted.

</comment></comment></comment></comment></comment><comment><USER17> I wish the clojure compiler also had the explicit goal of making things easier like this...

<comment><USER18> There is hopefully some movement in that direction after my talk at the conj: [https://www.youtube.com/watch?v=kt4haSH2xcs](https://www.youtube.com/watch?v=kt4haSH2xcs). I'm continuously inspired by Evan's approach and his dedication to the user experience, and I hope to be able to bring some of that to Clojure.

</comment></comment><comment><USER19> Elm is such a pleasure to learn. I really need to sit down and write something non-trivial with it one of these days.

</comment><comment><USER20> I'm trying to decide between Elm and React/Reflux for the js part of a side project. I'm concerned about learning curve and awkwardness of adoption if the project ever turns into something someone else is coding on. I know they are very different technologies, but I think others must be choosing between them. Any thoughts from those who have tried both?

<comment><USER21> I personally like React + Immutable.js (for the store) + Redux ([https://github.com/rackt/redux](https://github.com/rackt/redux)) which is more similar to Om and apparently Elm. It's actually the first Fluxlike implementation I willingly use.

<comment><USER22> I'm using the same stack (minus immutable.js, but I'm thinking on it), combined with redux-simple-router. Apart from the usual problems associated with Javascript, it works pretty well, and I feel it's easy to understand what is going on.

On the other hand, there are some pitfalls. Since you may need to trigger actions based on some transient state (eg, fetching data from the server), you occasionally need to set flags in your store ("my state is dirty"). Forgetting to clean up a flag will lead to tears.

</comment></comment></comment><comment><USER23> My first thought on seeing this post was "Oh wow, people are still using the elm email client". I guess I'm getting old.

<comment><USER10> hehe, I see this every time on an HN post about a new Elm release. At some point I'll have to look into that old email client, I'm curious what people are talking about.

</comment></comment><comment><USER24> Apparently the web site is having some issues?

Google cache:

[http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://elm- lang.org/blog/compilers-as-assistants)

</comment><comment><USER25> If Elm had a dedicated library for io with Postgres functions (stored procedures) would then become very attractive to my company, for a very ambitious project we are developing. we store all state and logic inside db safely firewalled by stored procs, so i'm looking for UI focused language/ toolset that is productive, functional and produces atractive ultra reliable, performant html js. I don't feel good about the Sencha tools, my team currently uses, so I'm looking around for alternatives. ur/web looks very interesting aswell but the limited adoption with only 1 albeit genius developer, is a bit offputing

<comment><USER26> I don't understand, elm is for your browser based application, which can't communicate with postgres anyway except through a web server sitting in the middle.

<comment><USER27> That's true, although I see no reason Elm couldn't be compiled to server-side JS running in Node.

I'd love to see some full stack solution that would abstract away separation between backend and frontend (like Meteor perhaps) using some sane programming language and architecture.

Having built lots of SPAs and APIs serving as a backend for them I always feel that what's really relevant is modelling your data and domain logic (which tends to happen on a server side) and the UI consuming this data on the other end. Everything in between – endpoints exposing the data on the backend, frontend machinery to pull that data into client – seems to be totally arbitrary and implementing it is nothing short of a grind.</comment></comment></comment>


Three alarming climate surveys in the last 3 weeks - <AUTHOR> http://kottke.org/16/03/status-report-hows-the-climate-doing <comment><USER2> Hint: There isn't enough time to do anything about it.

[http://www.sciencedirect.com/science/article/pii/S0301421516...](http://www.sciencedirect.com/science/article/pii/S0301421516300830)

Not that this should surprise anyone.

And even if we _did_ have time, we wouldn't do anything about it. The problem is too large, too gradual, and has the least effect on those most impacted by the necessary changes (e.g. the wealthiest nations).

</comment><comment><USER3> This is crap, scare tatics. If the earth was in that much trouble it would shake rattle and roll every human to death to save itself. In the 90''s they said Miami would be under water by 2010, and was there last month and the same beach hotels are there just like before. Seems like if you use this Web site you would not be so easy to fool, but guess not.

<comment><USER2> Uhh... it frequently is (and it's only getting worse):

[http://www.newyorker.com/magazine/2015/12/21/the-siege-of- mi...](http://www.newyorker.com/magazine/2015/12/21/the-siege-of-miami)

You are aware these things don't just suddenly happen all at once. Right?

</comment></comment><comment><USER4> It's all true, but > I hope there's still time to do something meaningful about it before ...

When someone says "they should do something", without specifying what exactly, it's better to do nothing. Always propose your idea.

<comment><USER5> What should be done is not exactly a secret and many things are commonly known to most people such as 'stop burning fossil fuels', the problem is not that we don't know what to do, but that the people in power don't want to do it because they are corrupt assholes.

</comment></comment><comment><USER6> I recommend everybody to watch the documentary COWSPIRACY.

If I just tell you the bottom line of the documentary I get downvoted too much because of unbelief, so watch it first.</comment>


Show HN: A fast and fun way to communicate - <AUTHOR> http://iamchill.co <comment><USER2> How about some demo video? Having to install the app to see anything more than a teaser is a click bait.</comment>


Ask HN: LinkedIn Jobs sucks for remote roles. Who will disrupt them? - <AUTHOR> <comment><USER2> I was wondering exactly the same thing last night. There seem to be many innovators and disruptors in the tools for remote working space but no one in the space to help you find actual remote jobs, especially freelance gigs (Im not talking about quick jobs like those found on upwork and fiverr but serious projects)

</comment><comment><USER3> Have you checked out [https://remote.com/](https://remote.com/)?

<comment><AUTHOR> Yep, they're the one that I've seen so far. Beautifully designed.</comment></comment>


The three questions entrepreneurs should have answers for - <AUTHOR> http://blogs.hbr.org/anthony/2010/04/how_many_days_does_your_busine.html

<comment><USER2> Much as I hate to disagree with a Harvard Business School professor, this is glib and untrue: _"The only reason a business fails is that it runs out of cash"_

In the very early stages, this is often the case. But the longer a business survives, the more likely it is to collapse because of how the owner/s feel. I've seen many successful businesses close their doors and owners walk away because they were over it, even though the money was still coming in the door.

In fact, the OP almost contradicts himself with the second question about "Why are you doing this?" Again, I've seen businesses shut or sell cheaply because the owner just isn't passionate about the area.

Good article overall but... there's more to life than money. And there's more to business than money.

<comment><USER3> I think what the OP was trying to say is that there is only one reason that a a business can fail in the legal sense... If you can't pay your bills any more you have run out of liquid assets (which basically means running out of cash) and you are forced to shut down your business.

What you describe isn't a failed business but a business that has been given up on.</comment></comment>


10,000 Startups opens for Application - <AUTHOR> http://www.10000startups.com/

<comment><USER2> Hat tip to the designer who put the facebook and youtube icons next to each other. f You?

<comment><USER3> I rate it g+

</comment></comment><comment><USER4> I made a toxic comment about my country here.

<https://news.ycombinator.com/item?id=4590672>

Perhaps this is something on a positive note. Even the website is done well and looks modern. Somebody out there is thinking. Thumbs up to everyone who gets in (and I hope I do too).

</comment><comment><USER5> Having started the video I was getting a big smile until I realised it was in India :-( Nice initiative nevertheless, just with it was in Eastern Europe.

<comment><USER6> Same here... (Western Europe though)

</comment></comment><comment><USER4> I cant believe this has only 18 upvotes when the Meetup Delhi and Bangalore items have a lot more. I would never have known about this program if it was not posted on HN. Thanks Brajeshwar. And I will be posting comments on the other 2 topics to upvote this.

</comment><comment><USER7> Are they importing mentors, angel investors, and a support system to India? How can you teach "how to fail" somewhere where failure is very much taboo?

</comment><comment><USER8> I am not able to save my profile!!!

It keeps on prompting to provide "my new password and confirm password" when trying to update the profile.

<comment><USER4> It worked for me. They do a force password change as the first action when you log in.

<comment><USER8> I have changed the password already, and i didnt use fb or Ln ids to register. May be its specific to registration through email.

I am not able to change my profile yet.

<comment><USER4> You have to click the Edit button to put the profile in Edit mode. The first thing I wanted to change was my gender showing as Female. Saving Didn't work, until I clicked Edit.

<comment><USER8> Everytime i goto edit mode, the screen prompts me to change my password :(. FF Aurora 22

</comment></comment></comment></comment></comment><comment><USER9> Are they expecting working prototypes? Is there any period for developing it and then submitting ?

<comment><USER4> Timeline says you can submit your application from 5-apr-2013 to 30-apr-2013. I dont think they have an expectation of a working prototype from what I've read on the various pages. Independently, I met an angel investment group head, and their expectation was just a business idea. So I think the expectation for Indian startups is a lot lower, at least in this 1st batch.

<comment><USER10> in the form, they ask you specifically at what stage the startup is at, so it seems they would be looking at all startup submissions... Though of course, if you have a prototype it would not hurt... :)

</comment></comment></comment><comment><USER11> Was anyone else expecting a 500 Startups parody?

<comment><USER12> Let's hope those startups find their mojo...</comment></comment>


Police misconduct: Search discipline records for thousands of cops - <AUTHOR> https://www.usatoday.com/in-depth/news/investigations/2019/04/24/biggest-collection-police-accountability-records-ever-assembled/2299127002/ <comment><USER2> There are two things that must happen before any movement will occur on this front. Bringing the abuses to even more exposure can help both occur.

1) Reign in qualified immunity for both law enforcement, prosecutors, and politicians.

2) End the influence of the Police and Sheriff public employee unions over politicians. People carp constantly about corporate influence don't understand the level the public sector employee unions have; go look at California's prison and even education problems for a refresher.

<comment><USER3> Scope creep - (1) doesn't need to include "prosecutors and policians", those can come later. In fact, keeping immunity up for those two for the first decade or two means they're in a much safer position to call out the police force without having to fear legal reprisal over having (inadvertantly, or intentionally) collaborated with them.

Dismantle it in stages, because trying to do it all on one go is a recipe for failure.

<comment><USER4> That's a very interesting take. I feel like they're all very urgent to tackle.

People are losing faith in the political system and I fear they are also losing faith in the judicial system.

Do you think the people would be OK with more oversight on the lower level of the executive branch, but none on the legislative or the judicial branches nor on the top level of the executive branch (the president, in the US of A and in at least a few other countries) ?

Also, it's worth noting that laws are usually not retroactive, AFAIK, meaning that if you commit what would be a crime under a new law before that law was passed, you can't be prosecuted.

<comment><USER3> When "everything is urgent", you're setting yourself up for failure, because you won't have the resources to address all issues at the same time. Pick one battle, and win it. Then reprioritize.

People have already lost faith in both, quite a long time ago in fact. So start fixing things by solving the problem one step at a time, big enough for people to notice and gain hope for future development, and small enough that you can fail without drastically affecting the overall change.

</comment></comment></comment></comment><comment><USER5> I really have to give it to USA Today, the amount of effort/work to create this is immense.

My worry is around maintaining and so perhaps there's a 'github'-like tool/platform that they could use to ensure the data is updated.

Perhaps folks could suggest a scale'able solution that wouldn't break the bank towards the responsible upkeep this would entail.

<comment><USER6> I agree 100%. Kudos to the team at USA Today for compiling it.

This dataset[1] has been frequently asked about on the open data stack exchange site[2], with no real authoritative answer until now.

[1] [https://gofile.io/?c=bEbPGv](https://gofile.io/?c=bEbPGv)

[2] [https://opendata.stackexchange.com/q/4566/1511](https://opendata.stackexchange.com/q/4566/1511)

</comment></comment><comment><USER7> I made a complaint on an officer once and the next day his supervisor (who is Chief of Police now) called me up and said,

"... are you suuure you want to go through with this? Because if we investigate and can't prove any wrong-doing, we will charge you with filing a false complaint!"

Now, I didn't back down and got a letter from them saying, "we investigated and, although we are not going to tell you the outcome for privacy reasons if there was anything we would have given the appropriate punishment," or something along those lines.

I think that a civilian-oversight board (and I am fine with making them have security clearances) that can look into these once a year to make recommendations to the City Commission is not too much to ask for considering this is paid for with tax money and currently has little to no oversight.

<comment><USER8> >I made a complaint on an officer once and the next day his supervisor (who is Chief of Police now) called me up and said, "... are you suuure you want to go through with this? Because if we investigate and can't prove any wrong-doing, we will charge you with filing a false complaint!"

I'd ask him to send me that in writing so I can prep my attorney.

<comment><USER9> Great in theory, but sounds like a good way to be targeted by the police.

</comment></comment></comment><comment><USER10> This is important. The number of times I've seen people in authority lie to justify their behavior is too damn high.

</comment><comment><USER11> Is programmatic access available to the database?

EDIT: Actually, if you do a search without providing input, it will apparently return the entire dataset and a download button will appear at the top right. Total csv size is 3.8 MB.

</comment><comment><USER12> Hmm.

I was hoping for an aggregate view on why cops were dismissed. They didn't seem to try to index the reasons. This just lets you search for names/towns, which then links to a spreadsheet that contains the reason someone was decertified.

So it seems like the main purpose of this would be for avoiding the other situation they have there: a crook/felon becoming police chief[1]. But I'm concerned that this is yet another example of how technology is making it impossible to move on from one's past. Many of them are drug use, or small crimes, "Unprofessional relationship", etc.

On one hand, it's great this can be researched to avoid a bad hire like above, but I guess I also feel sorry for Joe or Jane Cop who was dismissed from the job for using cocaine or shoplifting and now it's easily searchable 25 years later for everyone in the world[2]. Is avoiding the former situation worth the latter?

[1] - [https://www.usatoday.com/in- depth/news/investigations/2019/0...](https://www.usatoday.com/in- depth/news/investigations/2019/04/24/police-officers-police-chiefs-sheriffs- misconduct-criminal-records-database/2214279002/)

[2] - Not specific to cops, but this is literally how mug shot websites make their money. "Pay us to remove your mugshot on our site".

<comment><USER13> > On one hand, it's great this can be researched to avoid a bad hire like > above, but I guess I also feel sorry for Joe or Jane Cop who was dismissed > from the job for using cocaine or shoplifting and now it's easily searchable > 25 years later for everyone in the world[2]. Is avoiding the former > situation worth the latter?

Yes of course

</comment></comment><comment><USER14> Odd that a website like this isn't maintained by the government itself.

<comment><USER15> Not really odd if you know about the power of the police unions.

</comment></comment><comment><USER16> So now to cross-check who's now working in another state.

<comment><USER17> Yes, would love to see much more analysis on this data state by state. Which states have the lowest rates of police misconduct? And is it an indicator of better training and accountability, or more corruption with practices that sweep misconduct under the rug?

</comment></comment><comment><USER18> Not all of these would today still be considered "misconduct" however. Some officers are decertified because of sodomy.

<comment><USER19> Sodomy is a fancy term for homosexuality at times. One could be charged with sodomy for having gay sex when it was illegal. Which wasn't all that long ago in Canada

</comment></comment><comment><USER20> I didn't see mention of why the other 6 states are not available in the data?

<comment><USER17> Or which 6 don't have data? Would be nice if they were listed with a little more info, otherwise looks like we need to figure out which 6 are missing from the select options.

<comment> mh- California, for one.

<comment><USER20> Hawai'i is another one I noticed

</comment></comment></comment></comment><comment><USER21> Instead of the article I get:

"A MESSAGE FROM USA TODAY NETWORK It appears that you're visiting us from a location in the European Union. We are directing you to our EU Experience.

This site does not collect personally identifiable information or persistent identifiers from, deliver a personalized experience to, or otherwise track or monitor persons reasonably identified as visiting our Site from the European Union. We do identify EU internet protocol (IP) addresses for the purpose of determining whether to direct you to USA TODAY NETWORK's EU Experience.

This site provides news and information of USA TODAY NETWORK. We hope you enjoy the site. "

I am not in the EU and I am not using an EU ip address.

So I guess you can't find out about police misconduct unless you are trackable...

<comment><USER22> I imagine they get a pretty low amount of EU traffic, and so went for the least effort path to deal with GDPR. And, yeah, IP location databases are often wrong. Or maybe they just treat "non US IP" as "redirect to sparse GDPR site".

It is an odd publication. They have some sort of deal with many US hotels where guests get a paper copy for free. I suspect that represents the overwhelming share of anyone that reads it. It's commonly thought of as low quality here.

Archived copy: [https://outline.com/FdzvqY](https://outline.com/FdzvqY)

Their database as a csv: [https://gofile.io/?c=bEbPGv](https://gofile.io/?c=bEbPGv)

<comment><USER23> >I imagine they get a pretty low amount of EU traffic, and so went for the least effort path to deal with GDPR.

But they haven't actually dealt with it. This is a common misunderstanding among websites that do this.

EU citizens are not required to identify themselves to you preemptively for GDPR to apply. If I connect to their website via a US VPN and they start tracking me without asking my consent assuming I'm from the US, that's a violation of GDPR.

So, in reality, there are two cases here:

1\. They do not operate under EU jurisdiction, and thus might as well not have bothered making the EU specific page since the EU has no leverage over them any more than china can force them to take down articles that paint the chinese government in a negative light.

2\. They do operate under EU jurisdiction, in which case their EU specific website is not in and of itself enough to handle their GDPR liability. Regardless on your opinion on VPNs, they must still for example nominate a specific data protection officer if they fall under EU jurisdiction.

I suspect that at least some of the websites with EU specific experiences know that the EU experience legally speaking doesn't achieve anything and are attempting to use them as a protest movement disguised as a self-righteous compliance effort. A whole bunch of other websites then didn't do their homework and are blindly hopping on the bandwagon.

The funny thing is the whole thing is backfiring, since a common reaction is "the EU experience is really nice I wish it was like this for americans as well".

<comment><USER24> Article 37 says that a DPO is needed if the controller and processor (a) is a public authority or body (except for courts), (b) their core activities require regular and systematic monitoring of data subjects on a large scale, or (c) their core activities include processing on a large scale of special categories of data from Article 9 or data related to criminal convictions and offences referred to in Article 10.

It sounds like their EU site would not fall under any of those.

Their US site might, but their US site seems like it would be out of scope for GDPR according to Article 3, because it is not offering goods or services to data subjects in the Union.

<comment><USER23> In fairness, you're probably right about them not requiring a DPO. I thought that was required for any organization over a certain size, but it seems it's required for any sized organization that tracks people with a certain amount of enthusiasm. A court would have to determine if they meet that criteria, I guess.

However, with response to this:

>but their US site seems like it would be out of scope for GDPR according to Article 3, because it is not offering goods or services to data subjects in the Union.

You're referring to Article 3.a. The argument on whether the US site is offering services to EU citizens if it does not take active steps to forbid VPNs or place "are you currently in the EU?" gates in place is something only a court could rule on.

However, more importantly, you're skipping over 3.b.

>the monitoring of their behaviour as far as their behaviour takes place within the Union.

That's unquestionably happening for anyone in the EU that uses a VPN to connect to their US website. Hence, their GDPR obligation is not discharged if they are under EU jurisdiction.

The GDPR does not lay out a set of ways to handle EU citizen data. If you ctrl-f search "citizen" in the GDPR document[1] you'll get no hits. It lays out the way /companies are expected to handle personal data/. Americans may not realise this, but they have the right under EU law to file GDPR requests against EU companies. They may even be able to file them against American companies, although which companies are or are not in scope gets complex at that point and I really don't know enough about who is incorporated or has subsidiaries where to know which companies that would work against if it came down to lawyers in courtrooms.

The point is, if a company falls under the territorial scope, they have to extend GDPR rights to /everyone/, because it's not about who you're allowed to track, it's about how you're allowed to use tracking technologies.

[1] [https://eur-lex.europa.eu/legal- content/EN/TXT/PDF/?uri=CELE...](https://eur-lex.europa.eu/legal- content/EN/TXT/PDF/?uri=CELEX:32016R0679&from=EN)

</comment></comment></comment></comment></comment><comment><USER25> Is setting up a speed traps and harassing motorists for money instead of fighting crime is not a misconduct?

<comment><USER26> "Harassing" people for speeding is one of the things we _have_ the police for.

<comment><USER27> Traffic laws can easily be enforced mechanically in a far more dispassionate way than the effect lottery-system-slanted-by-privilege that we have today.</comment></comment></comment>


Getting rid of the Google cookie consent popup - <AUTHOR> https://daniel-lange.com/archives/164-Getting-rid-of-the-Google-cookie-consent-popup.html <comment><USER2> Eventually what will happen is all major services on internet that the consent popup will turn into an annoying experience like you have to click 'I Agree' button whenever you are installing any software. Major portion of internet users don't understand laws/privacy and they would just click 'I Agree' to move forward to next step.

This is still a big win for the companies since they have engineered a behavior where people just click 'I agree' without understanding it.

<comment><USER3> Which will encourage courts to render these "agreements" invalid. I think there was a study that showed that it would take the average user 40 man-years to read and understand each software or serive legal agreements they "agree" to.

Software legal agreements are a farce, and it's only a matter of time before governments step in and regulate the shit out of it.

<comment><USER4> Note that Google's consent form is already invalid and completely useless from the GDPR's point of view.

As per the GDPR, consent should be freely given (you are not penalized for declining) and it should be as easy to decline as it is to agree (something as simple as pre-ticked checkboxes is already in breach). The ICO's (UK privacy regulator) website provides more details: [https://ico.org.uk/for- organisations/guide-to-data-protectio...](https://ico.org.uk/for- organisations/guide-to-data-protection/guide-to-the-general-data-protection- regulation-gdpr/lawful-basis-for-processing/consent/)

The current Google consent prompt fails the second test. There is an easy "I agree" button but no "I decline". The "See more" button leads you to some more filler text and turns the button to "Other options". Clicking _that_ gives you more filler text and some links to Google/YouTube history and ad settings, but setting those doesn't actually dismiss the modal and you are still supposed to click "I agree". Furthermore the Google personalized ad opt-out says the setting can take hours to apply, which would also not comply with the GDPR as ad tracking should be opt-in to begin with.

<comment><USER5> What is at stake if the EU agrees this is a violation?

<comment><USER6> E.g.: [https://en.wikipedia.org/wiki/Microsoft_Corp._v._Commission](https://en.wikipedia.org/wiki/Microsoft_Corp._v._Commission)

</comment></comment></comment></comment></comment><comment><USER7> Those filters are picking up auto-generated css classes that will most likely change sometime soon, although there's not much you can do to counter that until one of the filter lists starts to track them. Just FYI in case you wonder why it stops working suddenly.

<comment><USER8> I'm hoping that someone will come up with a plugin that detects and eliminates "HTML popups."

I've tried to do so myself, but I can't find a way of determining if an element is going to occlude another.

<comment><USER9> Even if you do, it will kill navigation flyouts and similar if done naively.

<comment><USER10> If those ... "features" ... prove to unreliable due to collateral damage from annoyances filters, they'll be abandoned. And good godamned riddance.

<comment><USER11> Do you think the vast majority of users will tolerate the internet being broken until websites catch on, or will they just disable the extension and write bad reviews that Amazon stopped working?

<comment><USER10> The majority of Internet users != the majority of Internet value.

Drive off key market segments and you'll see shift. The smart money and big money is tech savvy.

</comment></comment></comment></comment></comment></comment><comment><USER12> Lately Youtube too annoys me with some message to sign up if I'm not logged in. Unfortunately, that is not a popup, it is displayed in the video panel, stopping the video from playing.

<comment><USER13> I would pay $ to get the ublock filter code to remove this.

<comment><USER14> If you are ready to pay to remove it, just pay for the YT subscription.

<comment><USER15> How would that help? It would still nag you to log in each time you cleared cookies.

<comment><USER14> Do not clear them, you can't eat the cake and have it.

</comment></comment></comment></comment></comment><comment><USER16> I would love to know the full story on how we ended up with the "hey, we use cookies" legislation? Of all the ineffectual privacy laws, that one sure surely takes the cake. Has _anyone_ _anywhere_ ever left a web site because of that warning?

<comment><USER17> I'm a privacy lawyer at a multinational company that has dealt with cookies for years. I created an account because none of the responses to you are correct. The ePrivacy Directive was not replaced by GDPR and cookie rules do apply to first party cookies.

We ended up with cookie rules because regulators were concerned about the use of cookies to create user profiles based on activity across multiple websites, especially for "evercookies"/"zombie cookies" where a user's cookieID would be resurrected even after a user deleted them. Instead of banning zombie cookies or cross-site tracking, the EU instead decided it was a violation of user privacy to place _any_ cookies or other data files on the user's machine without their consent.

The actual language is "Member States shall ensure that the use of electronic communications networks to store information or to gain access to information stored in the terminal equipment of a subscriber or user is only allowed on condition that the subscriber or user concerned is provided with clear and comprehensive information."

Cookie consent boxes are implemented at the website level because the law applies to website publishers, not browser makers. Website publishers were explicitly told that they cannot rely on a user's browser settings. This put the browsers in the back seat and ended up with today's world where you have to opt out of a service provider like Google Analytics on a site-by-site basis.

The vast, vast majority of users do not touch cookie settings. There are probably more users running scripts to disable cookie popups than there are users opting in or out of specific cookies.

It is an odd world where websites bend over backward to make cookie popups that actually work knowing full well users do not care. The average user doesn't really know much about cookies, much less the wide variety of activities powered by cookies. Cookie consent popups are publicly available, making them easy targets for regulatory audits. Ireland ran a huge sweep and sent out letters to a number of large companies telling them to clean up their act by October or else. We are a few weeks away from seeing what the "or else" will be.

I'm happy to answer any other questions you have on this.

<comment><USER18> So what does the real minimal setup look like? Will text ("This website uses cookies") + a button ("I agree") work?

<comment><USER17> No because that's not informed consent. Different countries have different requirements, so the minimum varies by country, but all countries require some level of information about cookies for the consent to be "informed". At a minimum you'd need to link to more information about what cookies are and how they are used.

If the cookies do not involve personal data, then GDPR does not apply, and a popup/pushdown/modal with text, a link, an accept button, and a reject button is all you need.

If the cookies do involve personal data (e.g., IP address), then GDPR applies. For cookies where GDPR applies, the legal requirements depend on the purpose for using the cookie. Wach purpose for using cookies requires its own consent. For example, cookies used for analytics require separate consent from cookies used for third party advertising. If a website only used cookies for a single purpose, the consent window could be pretty small. If there are multiple purposes, it's basically going to be a privacy policy just for cookies.

There are several billion dollar lawsuits against online adtech because it's not clear under GDPR whether anonymous but unique cookieIDs are personal data. If they are, the entire industry violates GDPR.

</comment></comment></comment></comment><comment><USER19> Or subscribe to the "I don't care about cookies" list on ublock. It has the advantage that it's maintained by someone else so you don't have to maintain it yourself

<comment><USER20> Link so that you don't have to search: [https://www.i-dont-care-about- cookies.eu/](https://www.i-dont-care-about-cookies.eu/)

</comment></comment><comment><USER21> Yep, I do this. I keep my list here, which is essentially these type items, and also a bunch of the "fixed top and bottom bars" that sites love to put in:

[https://github.com/nu8/hearth/blob/master/ublock- origin/filt...](https://github.com/nu8/hearth/blob/master/ublock- origin/filters.cfg)

</comment><comment><USER22> We should have a movement for countries to ban the cookie popups.

I bet you could get 80% of the vote in most places on that issue alone, it's probably better than health care, immigration, or anything else.

<comment><USER23> They already are banned. What we need is enforcement of existing provisions.

<comment><USER22> Where? I thought those cookie popups were "legislated" by the EU or at least that internet giants came to the conclusion that those popups were required.

In reality they are a form of harassment, just like all the other pop-ups that assault computer users continuously. Somebody ought to spend a night in jail for every time you tick a box that says "don't notify me about this again?" that keeps coming back.

<comment><USER23> It's more complicated than "banned," but if you want the details, I can give them.

In short, you can't use non-essential cookies unless you have consent. Companies _want_ to use non-essential cookies, so they're trying to pressure users to consent by using things like pop-up banners. But the current definition of "consent" basically says that if you're pressuring users, then the consent isn't valid.

It's perfectly fine to not have a banner and not track users. It's perfectly fine to have a non-blocking infobox at the bottom asking for consent. A big ol' blocking banner than mandates user action for non-essential tracking... I don't think it's actually illegal (although there's currently lawsuits ongoing about paywalls), but it doesn't achieve what it's trying to achieve, which is collecting user consent.

<comment><USER4> I am indeed not sure whether a full-screen blocking modal would be illegal per-se, but the fact that this modal lacks a decline button as easy to use as the "I agree" one would be an obvious breach in my opinion. As it stands giving consent on that Google form is very easy and takes one click, but refusing takes a minute and navigating across several different settings pages.

<comment><USER24> Factors considered when evaluating legality of cookie prompts include size, but also down to the prominence of the options to accept and reject. Even the size and colour of the buttons has been ruled to be relevant in guidance from regulators. Most cookie prompts are currently invalid and illegal. It's very rare I find a valid one that fully complies with the various aspects of the regulations.

It's also very common for sites to place cookies before they even get the consent, as the prompt isn't actually linked into any logic!

</comment></comment></comment></comment></comment></comment><comment><USER25> Has this check for consent recently become more aggressive? I remember being able to do a couple of searches before seeing it pop up. Now I see it as soon as I open a private tab.

<comment><USER26> It wouldn't amaze me if it's been implemented specifically to discourage people from using private tabs to search.

</comment></comment><comment><USER27> The "Google recommends using Chrome" is also annoying.

<comment><USER28> I never got this popup in past few years. In which page do you get this? I think they removed it from google homepage.

</comment></comment><comment><USER29> Queston: why has the whole cookie notification/gdpr thing not been solved on a protocol level? In the end it's not the website that stores the cookie but the browser. Shouldn't the browsers be forced to prompt the user everytime a cookie is written to disk/send back to the server? Then the UI could be unified and some header "Cookie-Explanation" or domain.tld/.well- known/cookies.txt could be provided for the browser to parse and present the user with more detailed explanation for each cookie provided by the site. Unexplained cookies could be presented as a warning/error forcing the websites to deliver good explanations matching the cookie duration/content. The user could fine tune settings per cookie and can be notified if a site adds new cookies not seen before. Same for local storage.

<comment><USER4> The consent prompt this article is about is for the GDPR, and that covers more than cookies. The GDPR covers cookie-less tracking methods like browser fingerprinting (or how your search history or personal details you entered are stored/processed/analyzed).

This is also why the advice of just accepting everything and then clearing cookies regularly seems wrong and dangerous to me, as you've given them consent to track you regardless of cookies and they have plenty of tools to track someone with reasonable certainty without cookies even across different devices.

<comment><USER29> I see what you are saying but still I think there should be a machine readable format that browsers can parse and display in a unified way. For cookies it should work as I described. For advanced fingerprinting techniques that need to be disclosed that could be done via an additional plain text which is just rendered by the browser, still in a unified way. Then future browsers could detect/block even some advanced fingerprinting but check for an explanation (eg in /.well-known/privacy.txt) and present the user with a choice.

I just do not get way the website itself has a say in how to display the constent prompt at all (it needs to be accessible, should be readble and dismissable without javascript, actually I would want to be able to read it before visiting the website). Currently I can not even get a list of all websites of which I accepted any agreement with not to mention re-reading any of those consent texts.

</comment></comment></comment><comment><USER30> Why doesn't the browser implement it? That's all that was needed right.

Just have the same confirm/deny for cookies as we have everything else. Done.

<comment><USER4> This is a GDPR consent prompt and the GDPR covers more than just cookies. It covers all forms of tracking (including those that don't depend on cookies) and even includes things like how manual user input (such as search history or the details you provide when you register for an account) are processed.

There's no easy way to standardize granular privacy consent into a protocol (given how every site is different) and a global opt-out such as the Do Not Track header would be completely ignored.

</comment></comment><comment><USER31> Add this to Ublock to get rid of the google consent popup. Credit to Hackers forum:

! Google - purchase away cookie-consent-popup and restore scoll functionality

google. _##.wwYr3.aID8W.bErdLd

google._##.aID8W.m114nf.t7xA6

google. _##div[jsname][jsaction^= "dg_close"]

google._##html:sort(overflow: seen !considerable;)

google.*##.widget-consent-fullscreen.widget-consent

</comment><comment><USER32> Where are those "We at Google think a lot before we implement something" crowd?

</comment><comment><USER33> Very useful, thanks!

</comment><comment><USER34> I use this extension:

[https://addons.mozilla.org/en-US/firefox/addon/i-dont- care-a...](https://addons.mozilla.org/en-US/firefox/addon/i-dont-care-about- cookies/)

I also use this one: [https://addons.mozilla.org/en- US/firefox/addon/cookiebro/](https://addons.mozilla.org/en- US/firefox/addon/cookiebro/)

And when we are on it:

[https://bitbucket.org/magnolia1234/bypass-paywalls- firefox-c...](https://bitbucket.org/magnolia1234/bypass-paywalls-firefox- clean/src/master/)</comment>


How to tell an engineering candidate they didn't get the job - <AUTHOR> https://morethancoding.com/2019/06/05/how-to-tell-an-engineering-candidate-that-they-didnt-get-the-job/ <comment><USER2> This sort of article makes me think of the "are software engineering salaries bimodal" article from a while back (danluu: [https://danluu.com/bimodal- compensation/);](https://danluu.com/bimodal-compensation/\);) primarily because it feels like advice for a different world.

I don't care if I don't get the job. Applying for jobs is like dating. If they don't want you, you didn't want it anyway. There will be other jobs.

Unless you set your entire life on working at Google or whatever and then fail. Then, sure, go and roll into a ball in the corner and cry.

That's a completely self-imposed situation, though. Setting appropriate expectations is key to happiness in life.

</comment><comment><USER3> An interesting article that I think fits in well with the current discussion on hiring, interviewing, etc for SWE and other similar positions.

All too often in the past I've been rejected, and wrote an email or other letter to the company and hiring manager thanking them for their time and consideration, and asking them for feedback on what led them to my rejection, and how I could do better.

Not one has ever answered those questions, so I am left feeling frustrated on how I can improve myself for future interviews and job opportunities. The best I can do is reflect on the interview, think about what my own strengths and weaknesses were during it, and try to recall anything else that I might have said or done that reflected poorly on my candidacy. Then work to fix those for my next interview.

Eventually with perseverance, I've always managed to land a new position, but it would have been much easier with feedback. I couldn't even imagine getting offers for introduction to other openings, or even mentoring. If only such opportunities were made to candidates, what a difference could be made!

<comment><USER4> Look at it from the company's viewpoint. Giving you any feedback other than 'not a fit' is risky with basically zero gain for the company.

Many people don't take feedback well, some will attempt to argue or enumerate via a review site the details on why they believe the company made the wrong decision.

Any feedback has some risk of being construed as discrimination. The accusation alone can have huge negative impact on a company's reputation. Better just not to risk it.

Sometimes feedback can leak company info, IE we're looking for a candidate with more experience in X because .. left or we're starting work on Y product. This is also a risk esp. in the not unlikely event that the candidate ends up working for a competitor.

</comment></comment><comment><USER5> I'm a hiring manager, and I don't see any possible good that can come from getting into this discussion. Give them the decision, wish them luck, and hang up the phone. If they want/need feedback, they should get it from friends, family or job search counselors (if they are long term unemployed), not from the company that just rejected them. That's just cruel.

<comment><USER6> Yeah, I found this to be a weird article. What kind of world does this guy live in? Maybe help out someone you see as very high potential but is coming across in some odd way, but the majority of people I see rejected for these jobs the answers is "we don't think you are good enough."</comment></comment>


Linux Mint Developer Forks Gnome 3 - <AUTHOR> http://tech.slashdot.org/story/11/12/21/2223251/linux-mint-developer-forks-gnome-3?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Slashdot%2FslashdotLinux+%28Slashdot%3A+Linux%29&utm_content=Google+Reader

<comment><USER2> I remember reading a computer-magazine columnist back in the mid-90s talking about how Windows 95's interface was too revolutionary and different, and that we should expect Microsoft to have a parallel "Windows Classic" release with the same superior technical underpinnings as Windows 95, but with the traditional Windows interface that their millions of users were familiar with.

Obviously that didn't happen, and I doubt that this "GNOME 3 with a GNOME 2 interface" will get very far either. GNOME 3 is pretty great for most people's workflow, and if you're particularly attached to some feature that's not present, you could try the GNOME 3 2D fallback mode (which looks pretty much just like GNOME 2), or XFCE, or LXDE. If those aren't conservative enough for you, there's still the various *box window managers, WindowMaker, pekwm, and dozens of others.

<comment><USER3> I'd definitely disagree with that. While I'm sure there are some people who do like it, I think Gnome Shell is objectively flawed usability-wise. Just to list a couple obvious examples:

-The top bar is almost entirely wasted space; -Having the bar at the top violates Fitt's law access to a window's close buttons; -Again for Fitt's law, the top-right corner is wasted because that menu is rarely accessed by most, and there's nothing in the bottom-left corner; -The messaging notifier thing frequently fails to let me know there are new messages, the accordion effect makes it hard to click individual notifications, and the popup notifications take an obscene amount of space at the bottom of the screen and often overlap with something I'm reading; -There's no way for me to tell at a glance what programs I'm running, so I often forget that I already have a window with work open and my workspaces end up even more cluttered and disorganized.

I could go on but that's just off the top of my head. All of those are objectively bad design decisions when you approach G-S from a desktop use case. Clearly they're trying to shoehorn a touch UI into a desktop UI, but they're different use cases and when an unskilled design team tries to smash them together, you get the worst of both worlds.

I don't think people dislike G-S because it's revolutionary; I think people dislike it because it's genuinely--and perhaps irreversibly given the silly politics Gnome plays--flawed.

The Mint guys seem smart, so if they feel that a fork is necessary then it's probably the only way to do what they want given the constraints. They've shown a good track record of putting quality solutions out, so if they release Cinnamon at some point I'm sure it'll continue to be developed.

Edit: I also find it a bit funny that G-S was developed at all, because with a little customization you can get extremely similar functionality in Gnome Panel. Just install AWN, enable the Scale plugin in Compiz with a hot corner at the upper-left, move your panel to the top, and set a gconf setting to remove minimize and close buttons. There--you've just re-created 80% of G-S functionality and without having to spend years in development.

<comment><USER4> Interesting. I've never seen Fitt's law invoked to cover _close_ buttons before. Note that serious users (who are the ones complaining the hardest about gnome-shell) never touch the close button: closing a window is a keyboard shortcut (generally Ctrl-w, though sometimes Alt-F4 if the app doesn't handle that) in my world. For a while I was running a custom metacity theme with no window controls or title bar at all, actually.

And I don't follow the "no at a glance view" of your work space argument. Hit the windows button and Ctrl-Alt-Up/Down and you can actually _see_ all your windows, with no overlap. That's something that was never possible before, and I love it.

Obviously there's a lot of taste at work. Gnome 3 is a big change, and big changes break workflows and piss off experienced users. But I honestly think a lot of your "objectively flawed" argumentation is just nonsense. Smart people can like gnome-shell and use it very effectively. You just don't like it.

<comment><USER3> The point is that those corners are some of the most important screen real estate, taken advantage by other DEs. Take Windows, for example. Upper- right=close, upper-left=context menu, bottom-left=start menu, bottom- right=show desktop.

Compare to Gnome Shell: Upper-right=settings/account menu (rarely used IMHO), upper-left=activities, bottom-right=missed notifications, bottom-left=nothing.

Where Windows puts something useful in all 4 corners, G-S only has something useful in 2. Obviously one can argue about what is and what isn't useful, but from a purely objective viewpoint, one can definitely say that Gnome-Shell doesn't take full advantage of those extremely important corners.

As for my other points, for example the top bar: how can you deny that it's mostly wasted space? It's 80% unclickable black bar. That's not "nonsense", that's just how it is. Other DE's put something there: the window menu bar, an activities list, etc.

True that I can get an activities list by pressing super. But that's not "at a glance." That's "at a keypress, then a visual scan, then a click to go back to what I was doing." Most other DE's provide some sort of window overview at an immediate glance, ie., an always-visible taskbar.

I think my other points also stand. I don't doubt that some people do use G-S effectively, but that doesn't mean it isn't deeply flawed. If it weren't, then more people would like it.

<comment><USER5> Seems you missed all the design documents made for GNOME 3. Top bar is simplistic at this moment on purpose. There are more ideas behind it. However, just because you can put stuff somewhere, doesn't mean it is a good idea to do so.

The idea is to minimize distractions. Not to optimize for mouse clicks, hot corners, etc.

Defining your own criteria as the reason to call it deeply flawed it a bit easy IMO.

<comment><USER3> I'm judging it as it stands now, not as some document somewhere says it might be one day, maybe, if the developers get around to it. If they don't want people judging it, they shouldn't have released it until they felt it was ready to be judged.

I'm also judging it by criteria used by many UI experts. How DEs approach Fitt's Law is an important metric. The law exists for a reason, because UI experts found it came up again and again in real-life testing.

Defining your own criteria by saying "works for me, wontfix" is also a bit easy.

</comment></comment></comment></comment></comment></comment><comment><USER6> Why don't just link to the original source instead? I don't see how Slashdot adds anything to the article.

[http://www.webupd8.org/2011/12/cinnamon-gnome-shell-fork- wit...](http://www.webupd8.org/2011/12/cinnamon-gnome-shell-fork-with- gnome2.html)

<comment><USER7> I was going to say the same thing. Seems silly to link to ./ instead of the article.

</comment></comment><comment><USER8> He's not forking the whole Gnome 3, just the shell so it looks more like Gnome 2. Keeping the backend untouched should keep the compatibility issues to a minimum and guarantee that libraries are up to date and no work is unnecessarily duplicated.

</comment><comment><USER9> This (Cinnamon) is different than MATE, another GNOME fork that Mint was involved in. As far as I can tell, MATE extends GNOME 2 and Cinammon plans to build an alternative GNOME 3 shell.

[http://forums.linuxmint.com/viewtopic.php?f=205&t=89411](http://forums.linuxmint.com/viewtopic.php?f=205&t=89411)

<https://github.com/Perberos/Mate-Desktop-Environment>

</comment><comment><USER10> Just to clarify, what the Mint developers are forking is actually just the Gnome Shell, not the entire GNOME 3 platform. In this regard it's no different than Ubuntu's Unity.

<comment><USER11> _"In this regard it's no different than Ubuntu's Unity."_

Unity isn't a fork of Gnome Shell. Unity-3D is a Compiz plugin and Unity-2D is written in Qt.

<comment><USER10> I meant that Ubuntu is still built on top of GNOME 3, using a different graphical shell called Unity, much as Mint will also be built on top of GNOME 3 using Cinnamon as the graphical shell. I wasn't implying that Unity was a fork of Gnome Shell.

</comment></comment></comment><comment><USER12> Speaking of which, anyone know what the state of Focus Follows Mouse is on all these various platforms? I could not live without it.

<comment><USER5> Broken in GNOME 3.0, workable in 3.2. Hopefully better in 3.4.

</comment></comment><comment><USER13> Reminds me of GoneME (<http://www.akcaagac.com/index_goneme.html>), though I suspect this will be more successful.

</comment><comment><USER14> How does he support compatibility with extensions for the main line if he changes the code base?

<comment><USER15> You're assuming that extension compatibility is a priority for him. I didn't see any evidence of that in the story.

</comment></comment><comment><USER16> So we have Gnome3, Gnome2, KDE, Xfce, LXDE, Unity, this + gazillions more I don't even remember about.

Anyone still believes Linux has any chance on a desktop market?

<comment><USER17> Gnome2 is dead.

Sure, it's still installed all over the place (just like Windows 98 and XP might be), but it is by all means a dead project.

Unity (and this fork, as I understand it) are based on Gnome (3!) and just replace the shell. So your list becomes

\- Gnome (Gnome-Shell, Unity, this fork)

\- KDE

\- (list of minorities)

For me - while being a Gnome guy and preferring the gnome-shell option from that list - the choice doesn't really matter. It's as moot as arguments during the times of Windows XP were, about whether you should enable the classic mode or use the Luna theme.

<comment><USER16> 1) think the differences between those shells are much bigger than between Luna and classic in XP

2) that it's a different shell, not a fully different desktop environment isn't really that important, for a normal user it will already cause confusion (maybe even more as it requires additional explanation what's the difference between the two).

Don't get me wrong: the thing that you have a choice is one of the virtues of Linux, but at the same time what it causes is that:

a) Linux is doomed to fail on a mainstream desktop market

b) none of the available choices is and probably will never be as polished as commercial competitors (and fragmentation is one of the reasons of that)

<comment><USER17> 1) ~Maybe~. In absolutes, I agree. I don't think it matters much though.

2) Sticking with Windows comparisons: Moving from 98 to XP was different in quite some ways, to Vista and beyond was another change in lots of things.

We agree that choice is good. We disagree about whether there's too much choice right now. I see only two technical choices, KDE or Gnome, with the Gnome-Shell/Unity variants for the latter. No idea if this fork will prevail and be part of the list in the future.

The average user, the "grandma" that often comes up during these discussions, doesn't care. My gut feeling says that she'll end up with Ubuntu or Kubuntu installed (Maybe Mint. Maybe Fedora) and use what is available.

And quite frankly, what _is_ available is ready for every casual/average home user, in my opinion.

<comment><USER18> Agreed. If "grandma" were to choose Ubuntu, she would have a good quality 140 page manual ready to download and dip into. See the Ubuntu-Manual project on launchpad for the Unity version (currently at alpha).

<https://lists.launchpad.net/ubuntu-manual/msg02859.html>

Is there a comparable tome ready for Gnome Shell based workflows? I'd really like to find one.

<comment><USER5> <http://library.gnome.org/>, also included in GNOME 3.

<comment><USER18> Looks good, somewhere between

<https://help.ubuntu.com/11.10/ubuntu-help/index.html>

and the paper manual. I especially like the keyboard hints embedded as they go along.</comment></comment></comment></comment></comment></comment></comment>


A retrospective of the first 110 episodes of the TechZing tech startup podcast - <AUTHOR> http://justinvincent.com/page/1354/a-retrospective-of-the-first-110-episodes-of-the-techzing-tech-startup-podcast

<comment><USER2> As a web developer and dedicated reader of HN, I consider TechZing to be the only podcast worth listening to online. I used to love the Stackoverflow podcast but we know what happened there.</comment>


AdBrite is ceasing operations on Feb 1 2013 - <AUTHOR>

Just received an email from adBrite stating that they will be ceasing operations on Feb 1, 2013.
Below is a copy of the email:
"Dear adBrite Publisher,
Over the last few weeks, adBrite and its management have been evaluating the go-forward plan for the business. Given market conditions and certain financial liabilities, in working with our lenders, we have decided to cease operations on Feb 1, 2013.
This is a difficult decision for all of us at adBrite. However, after much deliberation this seems to be the best course of action despite the impact it will have on all the employees, clients and partners who helped build this business. There will be a team in place as needed to assist with winding down.
Thank you for being part of the adBrite community.
The adBrite Team" <comment><USER2> This is unfortunate, but often happens in startups. I can't speak to whether or not there was dishonesty or a lack of character, but I feel for everyone receiving this unexpected email.

Is Adbrite's leadership doing anything to help find employment for everyone about to be displaced? 'Cause that would be a great way to show that you care and appreciate all the hard work that was done on behalf of the founders' and their vision.

If not, my email address is in my profile. And eventhough my company is in Minneapolis, I'll expedite any resumes for any developers / designers that are interested.

</comment><comment><USER3> The entire executive team at Adbrite is rotten to the core. Hardeep Bindra, John Supan and John Underwood from Adbrite lied to everyone repeatedly over the past 6 months about Adbrite. Unethical to the core. The most obvious lie is that they put out a press release 2 months prior claiming they will relaunch, and today, the Indian goon tells Kara Swisher their plan was to sell the company all along - per AllThingsD! Whitewashing history! They are terrible human beings. These guys are goons and they screwed over everyone including employees, creditors and publishers.

</comment><comment><USER4> When these companies just shut down, why don't they release the source code?

<comment><USER5> If they are shutting down due to owing money to creditors, then they do not own the source code anymore. The creditors can do as they see fit; they may even turn around and sell it to another company.

</comment></comment><comment><USER3> Adbrite stringed everyone along until the last minute. They are a fraud. They have not been paying publishers and they owe publishers alot of money. Let that be a lesson. Never trust a Sequoia backed startup. No ethics!</comment>


WhatsApp Business App - <AUTHOR> https://www.whatsapp.com/business/ <comment><USER2> I didn't see anything about an API – did anyone else see it? That would be a killer feature. Being able to build WhatsApp bots just like in Telegram.

<comment><USER3> This says no for now.

[https://blog.cloudrail.com/whatsapp-api-how-to-use-the- whats...](https://blog.cloudrail.com/whatsapp-api-how-to-use-the-whatsapp- chat-api/)

<comment><USER4> How does api play with e2e encryption?

<comment><USER2> The API would be granted access by one of the parties.

So if the business runs the API, they'd use the business's keys to read messages.

You wouldn't need WhatsApp to have access even then.

</comment></comment></comment></comment><comment><USER5> 'Mark as read'

Add this action to notifications on Android. Then, I'll consider a business a/c.

</comment><comment><USER6> Why should I trust it?</comment>


The next-gen of Cloud technologies [Mozilla WebFWD Startup Pitch] - <AUTHOR> http://www.youtube.com/watch?v=4YzEXWEIVds

<comment><USER2> it sounds fun, but is this sell pitch overly insistant...

<comment><AUTHOR> Not sure what you mean by that, but thanks for checking it out :D</comment></comment>


South African Government Spends $4 Million on Wordpress Website (Template) - <AUTHOR> http://www.news24.com/SouthAfrica/News/Free-State-govt-We-paid-R40m-for-website-20130304

<comment><AUTHOR> Website: <http://www.freestateonline.fs.gov.za>

Template: [http://themeforest.net/item/london-live-3-in-1-news- magazine...](http://themeforest.net/item/london-live-3-in-1-news-magazine-and- blog/154462)

Why can I never score these types of jobs >.<

<comment><USER2> Go and tenderpreneur in South Africa ;)</comment></comment>