Why memorizing stuff can be good for you - <AUTHOR> https://www.forbes.com/sites/nataliewexler/2019/04/29/why-memorizing-stuff-can-be-good-for-you/#25302673c4ff <comment><USER2> First paragraph of the article:

> Memorizing facts is generally seen as less important than developing skills > like critical thinking. In fact, though, having information stored in your > memory is what enables you to think critically.

Uhm, no. Having info stored in memory is not what enables you to think critically. Critical thinking is a skill that is obtained by being a skeptic and thinking objectively, among others, but it does not require memorization. Had all the info I have gathered in my life so far that gave me the skill of critical thinking were stored in my memory, I would have run out of memory years ago. You input data, process it, after some TTL data is overwritten by some other data. All that matters is how you process the data once you've obtained it.

Of course there are cases that storing info in your memory certainly helps, but critical thinking is not one of them.</comment>


The Birth of Digital Poetry - <AUTHOR> https://spectrum.ieee.org/tech-history/silicon-revolution/the-birth-of-digital-poetry <comment><USER2> I took a class [0] with Nick Montfort this past semester that covered a lot of the history behind computational poetry. Might be worth looking at yourself. You can see some of the work I created here [1].

[0] [http://nickm.com/classes/the_word_made_digital/2018_spring/](http://nickm.com/classes/the_word_made_digital/2018_spring/) [1] [http://freezine.xyz/montfort/](http://freezine.xyz/montfort/)

<comment><USER3> I was just about to mention Montfort myself! His Trope Tank lab at MIT is a place of total techno-literary bliss: [http://nickm.com/trope_tank/](http://nickm.com/trope_tank/)</comment></comment>


GitLab Direction - <AUTHOR> https://about.gitlab.com/direction/ <comment><USER2> GitLab is like the average kid in class that everybody makes fun of for constantly asking questions, but the joke's on them because "a little bit of slope makes up for a lot of y-intercept." While GitLab may have warts, I feel that they're very earnestly working to make the product better, bit by bit, day by day, and will one day surpass GitHub.

<comment><USER3> Thanks! Incremental progress in the form of iteration is one of our core values [https://about.gitlab.com/handbook/values/#iteration](https://about.gitlab.com/handbook/values/#iteration)

<comment><USER4> I have some questions to ask of you.

1\. Why does gitlab have so many tiers? It would be better if you guys could repackage the features into fewer categories.

2\. Why is the Gitlab UI so ugly? IMO, bitbucket and github are leaps and bounds ahead of you guys when it comes to design.

3\. Can we get a dark mode for us night owls?

4\. Finally, the morality question, You guys proudly associate yourselves with open-source and get help from loads of opensource devs, yet you greedily restrict simple features like epics, burndown charts, roadmaps, configurable issue boards etc. from the core/free categories. Looks like your key core goal is to make money... how are you any different from microsoft or google?

<comment><USER5> 1\. They only have four tiers (four equivalent tiers for hosted and on-premise technically). This is quite reasonable, as they need to provide flexibility for their customers. They are quite clear about which tiers provide which features.

2\. This is purely subjective. I quite like the design, both more than GitHub and Bitbucket. They do have a UX team, and they conduct regular user tests. They've also made a lot of improvements and continue to make improvements, but design will always be subjective. You CANNOT please everyone

3\. I suggest putting a thumbs up for [https://gitlab.com/gitlab-org/gitlab- ce/issues/18596](https://gitlab.com/gitlab-org/gitlab-ce/issues/18596), but ultimately it does create additional work for the UX team so I don't know if they'll end up doing it or not. You could try a user style, e.g. [https://userstyles.org/styles/125366/gitlab-simple- dark](https://userstyles.org/styles/125366/gitlab-simple-dark)

4\. GitLab is a company and needs to make money to continue employing developers to continue developing their product. Open source devs volunteer their time on GitLab CE, not any of the closed source features, and GitLab has open sourced enterprise features in the past if the demand is high. Also, there is nothing wrong with comparing them to Microsoft, as Microsoft has thousands of open source projects and is quite the open source contributor.

I'd flip #4 on it's head. They aren't greedily restricting features, they are generously open sourcing features and giving them away for free. As a business, they have no obligation to do so.

<comment><USER6> When my company subscribed there was only a community and enterprise tier. Now this has become the starter edition and I feel we are losing a lot of value. We are 200 employees, but only 10 developers using the advanced features. We really want to make GitLab our hub (GitOps and all), however the the cost of going beyond starter edition is mind blowing (x5). So if we are to embrace GitLab further we must abandon the idea of letting the whole company use GitLab freely and limit it to devs only.

Being small doesn't mean that we are not in need if advanced features, we just have a smaller scale.

Also as our initial tier was the top tier, and now is the bottom one, I fear GitLab will fence off future functionality with even more tiers at random.

Further, the tiers creates some artificial barriers where we several times feel the some of the new features we receive are just barely functioning and are just there to entice you to upgrade to the next tier.

We are all in all very happy with GitLab, however we are no longer pushing it as a central hub for the company.

<comment><USER7> You pay 200 employees but don't want to spend $19/user/month on software for a company hub? That's not really a small company, and this seems like a budgeting problem if money is that tight.

You can also try running multiple installations with a separate dev-only instance with more features. Also have you tried contacting Gitlab to negotiate? A few emails can go a long way.

<comment><USER8> I would say 200 employees is fairly small company; and depending on the line of business it is certainly small enough that profit margins and thus spending may need to be closely watched.

If you consider that the OP has only 10 out of 200 users that need the advanced features, but has to purchase the advanced features for all 200 users for anyone to use those features that is $45,600 a year.

Now if it were possible for example to have a mixed licensing model; buy 10 Premium licenses for the users who need it and 190 Starter licenses for everyone else then that is $11,400 a year. That is a difference of $34,200 a year so it may be the difference between being able to hire another employee or not.

<comment><USER7> As stated, they can run separate instances, or spend 5 minutes contacting GitLab to negotiate.

200 employees is not small, that is considered a medium sized business. Millions of companies around the world never get past single-digits. With payroll extending into 10s of millions, $35k sounds rather trivial if it really is powering the company hub and the value that brings.

<comment><USER8> "200 employees is not small, that is considered a medium sized business"

I'm just curious what your basis for that is? To go with some kind of standardization on the term "small business" I would say the safest definition (within the US) would be to follow the SBA guidelines that define a small business. Depending on the industry a small business is defined by the SBA as a maximum of anywhere from 100 to 1500 employees. So it is not cut and dry that this is or is not a small business; industry and also potentially revenues in millions of dollars would need to be known to determine absolutely if it by definition a small business.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> Thanks for sharing this! The transparancy of GitLab is amazing for people like me who have no experience nor contacts in larger companies. The handbook is a joy to read!

I discovered GitLab when researching CI/CD workflow and thanks to your tight integrations had one setup within 24 hours.

Add to that the fact that 3 fellow Dutchies are the founders which inspired me to apply our own Security startup to YC19 and all I can say is: keep it up! You're an inspiration :-)

The only bit of constructive criticism I have is that the Epic 'feature' being locked behind the highest subscription is a bit weird. I'd love to be able to create an epic for our first release version but can't. If that feature could drop a tier, that would be... epic ;-)

</comment><comment><USER10> What I'm missing is a different security model than the current `If an endpoint can push to gitlab, it is trusted and can execute code server-side`.

There is no (current) way to enforce a 2fa step in order to push to a repository, and while you can technically implement them, that doesn't mean much, due to the nature of `git push`.

What I want is a 2fa-enabled review boundary between "commit" and "execute", which currently isn't possible.

Protected branches can be unprotected without an auth step.

There's nothing on the server-side that signs `gitlab` generated merge-commits in the commit graph, so no way to distinguish them from other merges.

There's no security boundary to change the deployment details, or to modify the deployment pipeline to run from a different branch.

Basically, I'd want a way to ensure that there's an authenticated hand-off between "commit" and "deploy" steps on the chain.

Also, it'd be nifty if one could get gitlab to maintain a version number, increasing with every merge request merged, in order to get smooth tagged builds when MR's are used.

<comment><USER11> Hi Spidler, I'm a Product Manager at GitLab. Thanks for the feedback. Solid security protecting deployment is very important.

In GitLab 10.7 we added branch unprotecting restrictions that can be managed through the API to restrict who can modify protected branch rules [https://docs.gitlab.com/ee/api/protected_branches.html#prote...](https://docs.gitlab.com/ee/api/protected_branches.html#protect- repository-branches), and we'll be adding a UI to manage this soon too. I created [https://gitlab.com/gitlab-org/gitlab- ce/issues/49513](https://gitlab.com/gitlab-org/gitlab-ce/issues/49513) to add an auth step for changing protected branches as well.

I'm interested to know more about the version number improvement you suggest too. There are a few similar proposals like automated tagging on merge [https://gitlab.com/gitlab-org/gitlab- ce/issues/22363](https://gitlab.com/gitlab-org/gitlab-ce/issues/22363).

</comment></comment><comment><USER12> GitLab is a great service, not perfect but a good alternative to GitHub. I actually use Gitter far more than GitLab these days, GitLab acquired them a while back and I'm really disappointed to see it reduced to stagnation. The product hasn't improved at all since the acquisition, you can argue that it's "finished" and it is 90% there. There are rough edges that make it more annoying to use than Telegram, Slack, etc. The primary one being how they handle notifications on their Android app. It's annoying me every day that this has been effectively broken for years now.

Maybe some of the GitLab guys that hang around here can answer my concerns. Why are you guys neglecting Gitter?

<comment><USER13> Heya, I'm the current Gitter developer and was working on Gitter before the acquisition.

After the acquisition, Gitter did stagnate with no movement as we settled into our new GitLab roles and responsibilities but since May, we have been actively shipping things again. Changelog: [https://gitlab.com/gitlab- org/gitter/webapp/blob/develop/CHA...](https://gitlab.com/gitlab- org/gitter/webapp/blob/develop/CHANGELOG.md). Catching up from the break in development, a lot of work so far has been technical debt. We do have more user-facing changes in mind like removing the disruptive large embeds ([https://gitlab.com/gitlab- org/gitter/webapp/issues/714#note_...](https://gitlab.com/gitlab- org/gitter/webapp/issues/714#note_88039992)), improving search ([https://gitlab.com/gitlab- org/gitter/webapp/issues/1925](https://gitlab.com/gitlab- org/gitter/webapp/issues/1925)), and decoupling unreads from emails ([https://gitlab.com/gitlab- org/gitter/webapp/issues/1205](https://gitlab.com/gitlab- org/gitter/webapp/issues/1205)).

One of the goals this quarter is to open source the Android/iOS apps, [https://about.gitlab.com/okrs/2018-q3/](https://about.gitlab.com/okrs/2018-q3/) but there isn't a plan to keep improving them with new features. We are focusing on fixing the rough edges of the webapp and are happy to review your Merge Requests for any project.

By Android notifications being broken, I assume you probably mean our double- buzz avoidance, [https://gitlab.com/gitlab- org/gitter/webapp/issues/1846](https://gitlab.com/gitlab- org/gitter/webapp/issues/1846), but please make sure your particular issue is tracked, [https://gitlab.com/gitlab- org/gitter/webapp/issues?scope=all...](https://gitlab.com/gitlab- org/gitter/webapp/issues?scope=all&utf8=%E2%9C%93&state=opened&label_name\[\]=android&label_name\[\]=notifications)

<comment><USER12> Hey, thanks for responding.

> By Android notifications being broken, I assume you probably mean our > double-buzz avoidance, [https://gitlab.com/gitlab- > org/gitter/webapp/issues/1846](https://gitlab.com/gitlab- > org/gitter/webapp/issues/1846)

That does indeed look like the issue I am experiencing. We've got a setup where our IRC channel is relayed to/from Gitter so I am usually on IRC instead of Gitter web. But this means that I need to manually discard mentions on Gitter web, otherwise I get a notification that is super long containing all my mentions. This means I cannot easily see what was said to me at the time of the notification.

</comment></comment></comment><comment><USER14> A few years ago I really wanted to join GitHub as a software engineer. I was living in San Francisco and visited their office for some events, and I thought it would be an awesome place to work. I tried reaching out to a few people who worked there, but I could never get my foot in the door.

There were a lot of things I would have loved to build at GitHub, and they were all the same things that GitLab is doing now. I felt that there was so much potential to build things like CI, DevOps, and eventually a PaaS to compete with Heroku. I really think they should have acquired something like TravisCI or CircleCI and made that part of their platform, but it seems like they haven't really done anything significant in the last 5 years.

I'm a very happy user of GitLab now, and the product is awesome. But I don't think I would ever join the company. First of all, they don't pay competitive salaries for remote workers (cost-of-living adjustments). I also don't think they have a very good company culture, and to be honest, it still feels a bit sketchy that they ripped off GitHub and undercut them on pricing. But I'm sure I'll get over that eventually.

<comment><USER15> Could you elaborate about the salaries for remote workers? I'm a frontend developer in southern Europe and I'd love to work for Gitlab because I love the product.

<comment><USER14> I don't have any first-hand experience, and I'm sure there are exceptions. I've heard that GitLab will pay around $80k for a remote software engineer in a country with a low cost-of-living. That engineer could be earning $150k-$250k at a different company (e.g. Basecamp, GitHub, etc.)

I realize that $80k is a lot of money for Europe/UK/Asia/South America/rest of the US. But if you're a top engineer, you could double or triple your income by working for a different company (or as a consultant.)

I should mention that I don't have any problem with GitLab's compensation, and I think it's actually pretty fair. But fair doesn't really matter. A top engineer will just go to the company that pays more. I'm sure GitLab has a lot of great engineers, but just based on their compensation, I'm pretty sure it's not one of the best engineering teams in the world.

Here's a few references/articles/job boards:

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

* [https://dev.to/sam_ferree/why-i-think-cost-of-living-pay-for...](https://dev.to/sam_ferree/why-i-think-cost-of-living-pay-for-remote-workers-is-bs-5b68) (see some of the comments in there)

* [https://m.signalvnoise.com/basecamp-doesnt-employ-anyone-in-...](https://m.signalvnoise.com/basecamp-doesnt-employ-anyone-in-san-francisco-but-now-we-pay-everyone-as-though-all-did-3ee87013cfc2)

* [https://weworkremotely.com](https://weworkremotely.com)

* [https://remoteok.io](https://remoteok.io)

<comment><USER16> They have a calculator [0]

The same job, with the same experience is paid less than half what it is in SF in the UK. That's not really very enticing.

[https://about.gitlab.com/job- families/engineering/developer/...](https://about.gitlab.com/job- families/engineering/developer/#compensation)

<comment><USER17> I don't know how they came to that calculator. But it seems that someone in Ethiopia would earn $20k more than someone in the Netherlands (outside of Amsterdam)

</comment></comment></comment></comment></comment><comment><USER18> If you want to compete with GitHub for open source projects you are going to need a 'releases' page that's similar (at least in function) to github's.

I would like to see that prioritized more, I think it's more important for many projects looking to switch than many of the other features listed here

<comment><USER19> I just link to the project tags page, since the only tags we have are releases, this works great.

<comment><USER18> There are no download statistics for that though

</comment></comment></comment><comment><USER20> There may be many things you can fault GitLab for, but dreaming big isn't one.

E.G. not many companies would have "becoming a platform-as-a-service" just casually dropped in their roadmap.

[https://gitlab.com/gitlab-org/gitlab- ce/issues/32820](https://gitlab.com/gitlab-org/gitlab-ce/issues/32820)

</comment><comment><USER21> People tends to compare GitLab to Github, to me it seems more they compete with VSTS or Atlassian.

CI, project management (epics and roadmaps), monitoring...

Github introduces really few features but seems to make them right, or really limited, but never "bad".

Gitlab on the opposite, works more with super-fast and open iterations, without hesitating to roll-back if it just doesn't work.

</comment><comment><USER22> One of my major pain points with GitLab was its API. The lack of coherent API design ultimately made me lose hope in the product. For example I think it still lacks an ability to create threads on MRs. Until recently it wasn't possible to approve any MRs either, for 10+ versions of the product and 4+ versions of the api, but adding emoji was... The disjointed API made it nearly impossible to create quality tooling on top of GitLab, ultimately forcing us away from the product. It left a poor taste in my mouth, with a sense that there was no rhyme or reason to the direction of the platform, unfortunately.

<comment><USER3> Are the APIs you need added now or are there ones still missing? Anything we can improve in the API organization?

</comment></comment><comment><USER23> Triggering pipelines only in merge request is what we've really really been hoping for for quite while. Still seems pretty far out unfortunately...

<comment><USER24> If you use the GitLab convention of naming your branches from the issue (like it does when creating a MR straight from the issue), the MR branches will be named /^\d+-/ so you can add a only: clause to .gitlab-ci.yml steps matching that.

<comment><USER25> Probably a different issue, but one of my greatest gripes with CI is that I can't limit steps to (for example) master branch AND having a tag. It seems such a basic requirement, but is unfortunately not possible via .gitlab- ci.yml.

</comment></comment></comment><comment><USER26> I find GitLab's upgrade tiers oddly chosen and quirkily implemented:

* The features don't seem to follow the costs of running them. I.e., they're economically inefficient. This makes GitLab less competitive. E.g., Some features held back for higher paying customers feel arbitrary in the sense that it's a marketing decision, not an ops/cost decision.

* Permanent nag text and nag links - annoying.

</comment><comment><USER27> GitLab should, frankly, focus on performance/ux/bug-fix releases every other release. And probably for the next 2-3 releases to get some of the warts under control.

This constant push for project management features, frankly, is at the expense of the core product. I'd rather use a combination of GitHub and JIRA over Gitlab.

<comment><USER3> What is the nr. 1 performance/ux/bugfix you would like to see?

BTW This month we shipped 35 performance improvements [https://gitlab.com/groups/gitlab- org/-/merge_requests?scope=...](https://gitlab.com/groups/gitlab- org/-/merge_requests?scope=all&utf8=%E2%9C%93&state=merged&label_name%5B%5D=performance&milestone_title=11.1) and there were 141 bugs closed in the release of this month [https://gitlab.com/groups/gitlab- org/-/issues?scope=all&utf8...](https://gitlab.com/groups/gitlab- org/-/issues?scope=all&utf8=%E2%9C%93&state=closed&milestone_title=11.1&label_name\[\]=bug)

<comment><USER28> I have a feeling that many people who constantly ask for "fixes" are the kind of people who want to "fix them all", by rewriting without understanding that it is a never ending cycle. Don't pay attention to them. Just do your thing.

Gitlab has provided the much needed competition with real impact (consider Github boards, for example) and you have a company that can pay many people a living. That is more than good enough.

<comment><USER3> Thank you very much for the encouragement, I appreciate it after significant commenting today while flying from Mexico to San Francisco. You can rest assured we'll keep working on our vision [https://about.gitlab.com/direction/product- vision/](https://about.gitlab.com/direction/product-vision/)

The people that ask for fixes care about GitLab and are worth listening to. There is an almost infinite demand for new features and we can't make them all (even with more then 2000 open source contributors). But I've found that Hacker News readers have great insights and we'll keep listening and adjusting were we missed the mark.

GitLab as a company was born on Hacker News [https://news.ycombinator.com/item?id=4428278](https://news.ycombinator.com/item?id=4428278) and although the tone these days feels like different I hope it is a bond for live.

<comment><USER29> I just wanted to add that I have been absolutely loving gitlab. Signed up in 2014 and use it pretty much daily.

One of the biggest problems I had was the speed of the web ui but since the great github migration the speed increased massively and has stayed snappy.

Contributing code to GitLab has also been my favorite experience with open source as not only were my changes looked at, Gitlab developers actually helped me get things working and write better code.

<comment><USER3> Thanks so much for commenting, awesome to hear you're loving GitLab.

We made a lot of performance improvements, I'm glad you're benefitting from them. On [https://about.gitlab.com/handbook/engineering/performance/#p...](https://about.gitlab.com/handbook/engineering/performance/#past- and-current-performance) you can see what we're measuring. The monitoring of our biggest merge request [https://dashboards.gitlab.net/d/1EBTz3Dmz/sitespeed-page- sum...](https://dashboards.gitlab.net/d/1EBTz3Dmz/sitespeed-page- summary?orgId=1&var-base=sitespeed_io&var-path=default&var- group=gitlab_com&var-page=_gitlab-org_gitlab-ce_merge_requests_9546&var- browser=chrome&var-connectivity=native&var- function=median&from=now-30d&to=now) shows of our fixes regressed and we're looking into what is going wrong. Screenshot for people reading this in the future: [https://www.dropbox.com/s/nlriugkzknu2tl9/Screenshot%202018-...](https://www.dropbox.com/s/nlriugkzknu2tl9/Screenshot%202018-07-22%2022.15.42.png?dl=0)

There is a lot more work to do and we'll keep shipping performance improvements in code and to our infrastructure. The tentative date for our migration to GCP is next weekend.

I'm so glad to hear that contributing code to GitLab was a favorite experience! Kudos to our merge request coaches who try to get every merge request over the finish line with a high quality.

<comment><USER3> The migration to GCP is now scheduled for August 11. See [https://docs.google.com/document/d/e/2PACX-1vSSnHIgZoKXt_HuT...](https://docs.google.com/document/d/e/2PACX-1vSSnHIgZoKXt_HuTgypvfqzLxh4GMzZ43JK7LrPMtd65M7YCPx1sY4lvj7l27O0Vs7B9KUGj1VFcidq/pub)

</comment></comment></comment></comment></comment></comment></comment><comment><USER30> Gitlabs security is absolutely horrific:

[https://www.cvedetails.com/vulnerability- list/vendor_id-1307...](https://www.cvedetails.com/vulnerability- list/vendor_id-13074/Gitlab.html)

<comment><USER3> None of these was out in the wild. We take pride in requesting CVE numbers to aid our users in remediation. We think that identifying and promptly fixing vulnerabilities is key to security.

</comment></comment><comment><USER31> I'd love much more work on Issues. I'd replace JIRA with it if I could, but Issues is very feature poor (and we are a light JIRA use case).

</comment><comment><USER32> EU GDPR compatibility would be a cool thing - I am sure that people have been asking for that "long time enough" ago.

Also now that this software has left prototype status for long enough time - why are you still using ruby?

Ruby is much too slow and bloated for production - there are only a few companies out there that missed the right time to jump from the ruby- prototype-bloat and have enough money to burn to just stick with it, but for a project like gitlab this is a huge problem. Judging from the roadmap there seem to be many bored developers with no good ideas about what to do next, so maybe unbloating could be a good direction?

There must be at least one person in that team with a feeling for architectural brilliance?</comment>


Winning the War on Poverty: The Canadians are doing it; we're not - <AUTHOR> https://www.nytimes.com/2019/04/04/opinion/canada-poverty-record.html <comment><USER3> 1\. I would like if this had a citation. Any citation.

2\. I'd like to see a rather more sophisticated breakdown of where the poverty has been reduced. Has poverty gone done universally across all groups? Including First Nations? This opinion piece puts a lot of emphasis on grassroots community-level change starting the ball rolling, but has that actually happened on the Prairies or the Atlantic provinces?

<comment><USER3> To expand on this: I'm a relatively recent US -> Canada immigrant, and I've already learned to be skeptical of a source that talks about "Canada" as some monolithic country.

There's a world of difference between Toronto and Thunder Bay, even though they're in the same province. When Brooks uses stats that says poverty has declined, is that truly across the board, or is that just in the Toronto- Ottawa-Montreal corridor? Because the urban-rural divide here is just as stark as in the States, and just saying "Canada" doesn't capture the spectrum of lifestyles here.

<comment><USER4> On the one hand, sure, this is true. On a deeper level this is just a criticism that the methods may not apply across the whole population -- that they may not be able to reduce the rate to 0. Fair enough. But given that more than 80% of Canada's population lives in urban centers, and indeed, that about half the country lives in the corridor you mentioned (Windsor-Quebec City corridor), it's a really good start, and may yield many more dividends yet.

</comment></comment></comment><comment><USER5> Probably the biggest poverty problem with Canada is the cost of housing. All of BC & large parts of Ontario has horribly out of wack housing affordability ratios. The average across Canada is %50 of income going towards housing cost, which means people are not saving as much for their future retirements.

[http://www.rbc.com/newsroom/reports/rbc-housing- affordabilit...](http://www.rbc.com/newsroom/reports/rbc-housing- affordability.html)

<comment><USER6> A lot of that (most?) has to do with (illegal) foreign influence. Especially in Metro Vancouver, where illegal money laundering schemes that heavily impact the housing markets (that appears to be where the money is invested) exceed a billion dollars annually.

It's an issue that's finally getting some attention beyond anecdotal "the Chinese own everything in Vancouver".

</comment></comment><comment><USER7> The number is simply too good to be true. Reduce poverty rate by 20% in 3 years in Canada? So when will they totally eliminate poverty?

"there were 825,000 fewer Canadians living in poverty in 2017 than there were in 2015" from the official website. It's not the same as "Roughly 825,000 Canadians were lifted out of poverty in those years".

Also, it's ridiculous to claim this scale of change was caused by the program described in the article. It's almost certainly caused by some large scale economical or statistical reasons.

<comment><USER8> You should read _Factfulness_ , by Hans Rosling.

In the late 1990s, 29% of the world lived in extreme poverty, defined by the World Bank as less than $1.80/day in today's dollars. Today, that number is less than 9%. We've slashed extreme poverty globally by two thirds in twenty years.

Too good to be true? No, facts on the ground.

<comment><USER9> The data brought to light by Factfulness also contradicts this NYT article, which claims the US is not addressing poverty. In fact, the US and most western nations -- and indeed the world as a whole -- are getting richer with less poverty. Already extreme poverty is virtually nonexistent in Level 4 nations like the US.

<comment><USER8> Extreme poverty and regular poverty are different things. Extreme poverty is nearly nonexistent in the US, but the regular poverty rate has been more or less static for decades (yes, I looked it up). Canada is making rapid progress on the regular poverty rate, which is what's so remarkable.

</comment></comment></comment></comment><comment><USER10> It's easier to curb poverty if you don't let it migrate into your country.

<comment><USER11> I'm surprised above comment hasn't been downvoted to oblivion. It can come across as cold/racist/nationalistic, but it is something that needs to be debated out in open.

<comment><USER10> Why would it be racist or nationalistic? Canada is very open to educated and wealthy migrants from all cultural / ethnic backgrounds and I appreciate it. Likewise, poor Migrants from Germany are just as undesirable als poor Africans. It's an indisputable fact that they will have less poverty this way.

My comment will be downvoted anyway. Simply because some people don't like facts that are in the way of their ideological facade.

<comment><USER12> What about the 25,000 Syrian refuges we brought in over the past few years?

<comment> frosted-flakes Refugees are different. They don't fall under the regular immigration rules.

</comment></comment></comment></comment></comment><comment><USER13> Pretending Canada or Iceland or Norway are some kind of utopia where everyone is rich, in perfect health, eats pixie dust, and shits rainbows isn't doing anyone any favors.

Those countries have their own problems, even if they aren't the same as in the United States.

Different cultures, different economies, different priorities.

You can't solve a problem by saying "look how awesome this homogenous country with a population the size of a medium sized US city is!".

That argument will always fall flat on it's face. And on deaf ears.

Certainly we can and should learn from other countries. But it's getting really tiring to hear these empty arguments trying to hold some other country up as some kind of wonderous Paradise when it's simply not true.

<comment><USER14> As a Canadian, I hear frequently from Americans that Canada is a homogeneous place. I imagine there are a lot of different ways to measure that, but for what it's worth, per StatsCan Canada has the highest foreign-born population in the G8[1]. Subjectively, Toronto feels amazingly polyglot compared to most large US cities I've spent time in. (Although, as in the US, there's a lot of geographic variation.)

Not to invalidate your point, but that particular assumption always strikes me as dubious.

1\. [https://www12.statcan.gc.ca/nhs-enm/2011/as- sa/99-010-x/99-0...](https://www12.statcan.gc.ca/nhs-enm/2011/as- sa/99-010-x/99-010-x2011001-eng.cfm)

<comment><USER13> I was referring to Iceland/Norway more there.

</comment></comment></comment><comment><USER15> As a Candian coming to the US I would like to look at the criminal justice system's influence on these statistics.

I participated in a restorative community justice program while if in the US I would have landed in a detention facility.

</comment><comment><USER16> The government and corporate America is winning the war on poverty - <USER2> preserving it, as they (somewhat) openly desire to do.

Just read Businessweek or the Wall Street Journal when unemployment falls. This is not seen as a good thing but a bad thing. I can link to dozens of examples if one can't figure out how to Google that.

That this is the case has been known for a long time - [https://en.wikipedia.org/wiki/Reserve_army_of_labour](https://en.wikipedia.org/wiki/Reserve_army_of_labour)

<comment><USER17> It's fine for unemployment to exist - for people to be seeking work but not finding it. The idiotic part is that we've structured everything so the reality is, for most people, continued unemployment leads to poverty.

<comment><USER18> As opposed to leading to prosperity? Call me crazy but that makes sense

<comment><USER19> Surely there's a middle ground where you can be unemployed and not prosperous, but also not struggling for your basic necessities?

This is the entire premise behind UBI initiatives.

</comment></comment></comment></comment><comment><USER20> Well if it's any consolation, visit East Hastings st in Vancouver. Canadians are better than us at poverty, but I wouldn't call that winning when the number of people in poverty are going up.

</comment><comment><USER21> 3 rules to escape poverty ... graduate high school, defer parenthood and avoid drugs.

<comment><USER22> Also: don't get sick and don't have any mental issues.

<comment><USER5> Way less likely when you're a young person to be so serious that you can't work. And you have universal healthcare & disability in Canada.

<comment><USER23> > And you have universal healthcare & disability in Canada.

Yes and no. "Universal" health care doesn't cover vision, dental, or mental health. In BC, "universal" health care is paid by one's employer. Which is great for people with steady employment, and awful for everybody else.</comment></comment></comment></comment>


Ask HN: Must a Senior Developer be proficient in design, UX and Photoshop too? - <AUTHOR> Had an interview for a Senior Developer position, they ask me if I have Photoshop in my Computer, also told me that I must be proficiency in CMS(Joomla, Wordpress, Drupal, ...) !!! That it is the definition of a Senior Developer, and the basic is to have these skills after think to do others things else.<p>They also ask me how I'm going to manage a team with these skills if I don't know them well. <comment><USER2> It sounds like you applied for a senior developer position in some kind of interactive/digital/marketing agency... Skills you mentioned are required in that context. It would be different if it was a game dev company or embedded software shop or fintech software house, but all of them use "senior developer" as a name of a position.

<comment><AUTHOR> Yes, interactive/digital/marketing agency. And they don't even have a design team or others things like that. Is it an abuse of languages right?

<comment><USER2> Most small and medium digital agencies I know of use the word "developer" in that way, as someone who sets up and manages CMS for clients, usually also doing customizations using stock plug-ins and sometimes writing plug-ins themselves. Handling all from configuration files, code to looks, UI and even marketing and photo editing when needed. And I can even tell you of some other companies that use title developer for people who only configure Microsoft Sharepoint for their clients, even more in my country people who sell newly build apartments are also called developers. It is just a word, it is not a real problem here.

The problem here in my opinion are your missed expectations and how are you reacting to this situation. I could just tell you "yes, those people don't know what a developer is" but that will not help you grow.

Looking at the whole thing from my perspective you seem to be very disappointed that this company did not meet your expectations and perhaps that you did not meet theirs. It's just a job interview. It's OK. Sorry if they were unpleasant, but it was their choice and arguing what a true "developer" really is will not change the outcome. I understand that you are upset, but what good will come from arguing about agency, that "doesn't even have..." ? There is not really a right and wrong in this situation, just you and that company did not fit together, do not think about it as your failure or as them abusing some kind of universal rule. It may hurt you, because you care, but really it's just a minor annoyance. A mismatch.

</comment></comment></comment><comment><USER3> I'm a Senior Web Developer and I have these skills. I do work in Advertising, but these skills would help anywhere. I've worked embedded with communications companies (in a B2C environment) and used these skills, so I wouldn't put this on Advertising only. Even with silos in an organization it saves time to be able to export your own missing assets from a comp or to be able to add a class to an element spit out by a CMS rather than having someone else do it for you. If you can't do that, I wouldn't call you a senior web developer. When I was Junior, I remember seeing job postings asking for these skills and DBA/ Cisco certification/ Desktop support and often those jobs weren't saddled with the term "senior". I think this post could be seen a bit as a sign o' the times...

</comment><comment><USER4> I'm proficient with most of the tools in designer's toolbox, but when design is not my responsibility within team, I've found a neat and clean division of labour between frontend and design - _designer 's output to fronted implementor is not done if said implementor needs to run any of the tools of the designer_.

Before you jump to conclusion of how responsibility-avoidant I may be in frontend role, let me note that as frontend guy I make it explicitly my job to fully explain limitations as well as opportunities of the medium and give full specifications of the output needed. This way very few iterations are needed to maximize both creativity and efficiency of the output.

</comment><comment><USER5> For a senior web developer for specific content management systems knowing how to develop sites from scratch for a content management system requires deep knowledge of the programming language of the CMS, the CMS module and plugin system and many more skills. It is now expected that you know more than just the programming language of a content management system in order to be a lead or senior level developer in the web development world.

These may require the capability on how to design themes for the CMS(Drupal, Joomla, ExpressionEngine) from scratch or using existing themes or templates, normally in Adobe Photoshop (splicing, layering, exporting and chopping everything up for HTML), creating custom modules for the content management system(deep knowledge of the content management system module build system, how to interact with external APIs (SOAP, XML-RPC, JSON, etc.), and normally a bit of system administration skills to move, upgrade and secure a site and servers from the development environment, to the testing environment and then to the production environment.

You would normally also have a very good idea (maybe not expert) of how content delivery networks work, how to scale a high traffic website to more then one database and web server, the proper changes that are needed to work behind load balancers, firewalls, etc.

Though with all of these required skills you should also be paid very handsomely since these are not easily obtained in a short amount of time.

</comment><comment><USER6> Personally, I'm proficient with most of the tools in designer's toolbox. I use to work with all CMS , but sometimes I just use ready-made templates like those from [https://www.templatemonster.com/joomla- templates.php](https://www.templatemonster.com/joomla-templates.php) website. They help me save really much time.

</comment><comment><USER7> Maybe they don't really know what a "software developer" does. Just move on.

</comment><comment><USER8> >> They also ask me how I'm going to manage a team with these skills if I don't know them well.

That's the thing that gave me pause. Is that really a question that should be asked? If you're a manager you don't need to know your teams skills well do you? You just need to be a good manager, which is a skill, isn't it? So it seems like if someone is asking that question, maybe that's not a good sign. (I very well could be wrong on this, but my experience says I'm right)

<comment><USER9> You should have a base awareness of the tools that your team is using. It's the same for product managers, which is why some of the best product managers come from engineering backgrounds.

Do you have to be as good as your team members at their skills? No, of course not.

Going to be hard to justify hours, timelines and other managerial duties to the people that you report too as a manager if you don't know if your team is working efficiently.

Just my two cents.

<comment><AUTHOR> The major problem here is that looks like there are not really a developer team behind, but just the Senior Developer. No designer and no others person who make good stuffs on photoshop or others grapic design tools.

</comment></comment></comment><comment><USER10> The job of a manager is to direct individuals to produce artifacts and integrate them into a coherent product. The artifacts workers produce are either _about_ the work (assembly line, inspection), or they _are_ the work (the sql, classes, functions, objects, scripts, images, and markup that constitute the _body_ of a working distributed application). The software body, of course, works within the context of the runtime, which is usually a distributed, heterogenous process graph connected by well known if equally diverse protocols. And this doesn't touch the tools that you need to know (in all their variety), the technical/human processes that help move things along, the extra runtimes you need to produce real software (e.g. qa, staging), or procedures for deploying, troubleshooting, and improving running software.

This is a very large amount of knowledge, on top of the core data/algorithms classical CS education, and it grows even larger when you consider the full breadth of _alternatives_ when it comes time to structure, build, and operate a real-world application.

Requiring Photoshop skill of a Sr. Dev is an organizational code smell. Properly, that role has much bigger fish to fry.

</comment><comment><USER11> Depends on what you are developing. Right.

</comment><comment><USER12> Depends on the country but often engineers are more expensive than designers.

It is not cost efficient to have engineers doing design, unless it's for prototyping.

[https://en.wikipedia.org/wiki/Programmer_art](https://en.wikipedia.org/wiki/Programmer_art)

</comment><comment><USER13> Development is changing. You have to be proficient in alot of tools, design tools and CMS's included. If you learn these things. It will just make you better. A good way to filter out the bad developer btw is too see who bitches about learning new things.

<comment><USER14> This may be true at Startup 2.0 but there are plenty of companies who still value people with deep development knowledge. While I've met people who are are skilled developers and designers and they can be incredibly productive and useful in many contexts, it's not possible to have the same depth of knowledge when your focus is split.

I agree that developers should always be eager to learn new things, but I think it's also reasonable for a developer to want to stick to development and not design.

<comment><USER15> I guess. I also get a ton of pushback from our design team because some tasks would be "too much work" that I show them can be done as a batch job in Photoshop in seconds. And specify the requirements that certain things be delivered in certain aspect ratios.

Our "creatives" tend to not know this stuff. Also they don't know other basic stuff about color spaces and typography.

You have to know a certain amount of these things in the webspace so that you can properly head off problems and explain requirements, especially as a senior developer.

More often than not, their "talent" (because they see it as a creative job) is more respected than your magic (because they don't have the faintest concept of what you do). If you're not in a technologhy company and it comes down to your needs or the designers, if you don't know their job too, you're going to lose.

I know all of this design shit, but I'm also a fullstack dev all the way down to the metal. It is possible. I just happened to grow up hacking on a C64, got into designing websites early and then worked in print production and dabbled in video for a while before getting back to software development.

<comment><USER14> I'm not arguing that's it's not useful to know design if you're working with designers. My comment was just that I think it's reasonable for some developers to want to stick to development. I also think there are plenty of roles available where the lack of desire to learn design isn't a stumbling block.

I do think it is possible to be good at design and development, I didn't say it was impossible. But if you want to keep growing in both, you have to invest time in both. Inevitably this means less time spent on each of the two things individually.

</comment></comment></comment></comment><comment> UK-AL You probably applied to a design agency.

They generally want people with a broad set of skills as opposed to deep.

Developers at software companies usually have deeper knowledge, knowing how to scale stuff, and building larger projects in a maintainable way.

</comment><comment><USER16> I wouldn't say "must", but Photoshop is absolutely the best thing on the market for image editing.

What's your workflow for creating, say, sprites, if you're not using Photoshop?

<comment><USER17> Why would a developer be creating sprites? A designer would do that, normally.

<comment><AUTHOR> Exactly.

</comment></comment></comment><comment><USER18> I think this would depend on the position. If it was some sort of design agency then it would not be that much of a stretch.

</comment><comment><USER19> A senior developer shouldn't be managing designers, sounds more like a lead or management role.

</comment><comment><USER20> No. Designers must be proficient in design and photoshop. If you're a dev working on UI you should have an eye for good and bad design/UX though. No engineer at a company I've worked for has had those dual responsibilities.

<comment><AUTHOR> I agree with you too ramenmeal, Thanks. I was very confused, then I submitted it here for more clarifications.</comment></comment>


Google Play Requiring Android 9 SDK by Nov 1st 2019 - <AUTHOR> https://support.google.com/googleplay/android-developer/answer/113469#targetsdk <comment><AUTHOR> The vast majority of users are well below Android 9 ... this will decimate my app's user base ... WFT?

Google needs to step up their game so phone OS updates are seemless ... can't wait for Fuchsia (Android replacement project) to bear fruit

<comment><USER2> As I understand it (and I might be wrong, I'm just beginning to learn mobile dev) it's only for you, as a developer — i.e. you must use the latest tools, like Apple enforces the use of the latest Xcode version. Note that for new apps this has been effective since August 1, 2019. November 1 is for app updates.

Your app can still target any version it wants; but this is to ensure that you'll implement features required for API level 28 (Android 9), so that users on a recent device can benefit from those.

Nothing more, nothing less. Thus of course we must still support Oreo and before, otherwise we'd cut >85% of the user base...

TL;DR: title-bait, misleading, not even accurate (missing "for app _updates_ ").</comment></comment>


Google concedes that technology is not free - <AUTHOR> http://blogs.hbr.org/cs/2011/08/google_concedes_that_technolog.html

<comment><USER2> This article doesn't do anything other than describe how the current incarnation of the US patent system is an incumbent-protection racket and (weakly) attempt to justify that.</comment>


Too Much Funding, Too Few Good Ideas - <AUTHOR>

Anyone else think that there are a lot of ridiculous companies getting funding now? If you have anything to contribute contact me at email@example.com. <comment><USER2> This is because investors invest in people rather than ideas. This means if an entrepreneur has been funded before or is associated with a past funding they will get funding regardless of the idea. This is why you are seeing "ridiculous companies" getting funding. An amazing idea by an unknown entrepreneur is worth less than a crappy idea from an entrepreneur who has social proof (ie. is connected). To answer your question, yes, lots of ridiculous companies are getting funded for the wrong reasons.

</comment><comment><USER3> This is an illusion that appears real to you. If you look at the biggest 5 web companies during the first 6 months of their inception you would have said the same thing. If you think you can judge success by hearing the idea then what would you have said about farmville? Angry birds? Twitter (when we already had Facebook status)? My point, in the beginning all companies seem like a feature, and ideas are nothing and execution is everything.</comment>


Apple Push Notification Service Update - <AUTHOR> https://developer.apple.com/news/?id=12172015b <comment><USER2> I've begun work on a Go 1.6+ APN library that uses HTTP/2\. You can find it here: [https://github.com/RobotsAndPencils/buford](https://github.com/RobotsAndPencils/buford)</comment>


Ask HN: programming languages written in JavaScript? - <AUTHOR>

I think it would be a good idea if web sites started embedding Greasemonkey into their sites, that is, to allow users to customize their site (or host user's scripts). The problem is that if one just uses JavaScript, one can't limit the access options. Therefore I think another language is needed that is being interpreted by Javascript.
For that new language, the host would habe better control on the kinds of API to allow. For example, rather than allowing general HTTP requests to the site, only certain parts of the site's API could be exposed.
So I wonder what languages there already are that run on top of JavaScript. <comment><USER2> Look into Caja <http://code.google.com/p/google-caja/> it lets you safely imbed third party JavaScript into your pages.

</comment><comment><USER3> Strands is a language written in JS; the language is javascript itself except with concurrency primitives added: <http://www.xucia.com/strands- doc/index.html>

I mention strands to say that you could do something similar: by using narcissus (a js interptreter written in js - <http://mxr.mozilla.org/mozilla/source/js/narcissus/>) you could interpret a language that was a subset of javascript, with whatever restrictions you wanted. Though javascript's extremely dynamic nature would possibly make this challenging.

More pragmatically, lethain's right that you should look into caja.

</comment><comment><USER4> Objective-J is a Objective-C-like language interpreted by JS from a YC startup:

<http://cappuccino.org/learn/>

No idea if it's possible to do what you're hoping for though, just glanced at the API a while back.

</comment><comment><USER5> As a website user what's the benefit to me? Why would I invest time and effort in learning a new language just so I can play with the emaciated relative of javascript?

I can envision situations where additional functionality could be created by site developers but it would be as accessible to greasemonkey scripts as it would be to a language built on top of javascript.

What specific situations do you think this would be useful?

<comment><AUTHOR> Not so keen on the new language myself - OK then, maybe a Javascript emulator in Javascript is called for.

The benefit: the same benefit that other open source software has. If I am unsatisfied with a particular behaviour of the application, I can change it.

Of course people could just use Greasemonkey, but I think if a web site endorses the thing, it might reach more users. Greasemonkey also requires the installation of a plugin, which severely limits it's usability.

Also, perhaps one could offer better features for discovering scripts and judging their safety than what is currently on offer with Greasemonkey.

<comment><USER5> You are right there would be advantages for anyone using a browser that is locked down. I guess it has been too long since I was in that position.

<comment><AUTHOR> Meanwhile I realised that probably one could just overload all offending objects (like XMLHttpRequest), JavaScript being a dynamic language.

Another target audience would be the mobile phone browsers, don't think they are enabled for plugins yet.

</comment></comment></comment></comment><comment><USER6> There's always OMeta: <http://www.cs.ucla.edu/~awarth/ometa/>

This is a generalized tool that will let you specify any language you want and target Javascript. OMeta has been implemented in several different languages; the Javascript implementation is just a couple hundred lines of code.

</comment><comment><USER7> I'm not really sure but maybe ... processing.js ? <http://ejohn.org/blog/processingjs/>

I think it can serve as an example.

<comment><USER8> If you count Processing.js, there's also ArcLite:

<http://jonathan.tang.name/code/arclite>

Processing.js may not be the best example for new language implementers, because the compiler is implemented with regexp search & replace. That makes it fairly fast, but difficult to extend and almost impossible for a neophyte to read.

</comment></comment><comment><USER9> Papert is a Logo interpreter written in JavaScript -- <http://logo.twentygototen.org/></comment>


Ask HN: Freelancers and/or remote workers how do you find a mentor? - <AUTHOR> I've been working remotely for a couple years now and I feel like I'm no longer learning as much anymore and am also at a loss as to what to do / which direction to head for my career development.<p>where have other remote employees / freelancers found their mentors? <comment><USER2> You don't need a personal mentor (I usually don't have one at least), but a good source of good experience, like HN. Now if you are talking about making friends to talk personally, then I'd suggest for you to read the book "how to make friends and influence people" and try it out out in "the field".

</comment><comment><USER3> Go to events. Cold email entrepreneurs you want to know. Last night I went to an event by Alex Berman in NYC. I met a ton of wonderful people. I run a marketing consulting business and I got to meet a ton of other people who ran similar businesses. I find by going out and being around other freelancers and agency owners you can learn a lot.

</comment><comment><USER4> I'd say look into communities on Slack is a solid option for most industries. You can also look into platforms like Codementor.io (for programming) if you're open to paying someone to mentor you, though not sure if something like that exists for other fields.

</comment><comment><USER5> I would recommend the #freelance community on Slack. It's not free, but I find it well worth the subscription price ($49/yr) [http://freelance.chat](http://freelance.chat)

It's been helpful for me, and paid for itself. I've gotten to meet other freelancers, and bounce ideas off of, and talk about jobs and such. I've gotten 3 gigs from there, so far.

Good luck, my friend!

</comment><comment><USER6> If you _can 't_ find a mentor, you can learn how to learn on your own. Wrote up some suggestions here: [https://codewithoutrules.com/2017/04/17/learning- without-a-m...](https://codewithoutrules.com/2017/04/17/learning-without-a- mentor/)

<comment><AUTHOR> guess I should clarify I'm not just looking for advice for learning, but also on career advice like whether I should take a job or not and how to deal with office politics etc.

</comment></comment><comment><USER7> I would suggest trying a relevant local meetup event. At in India, there is a general body - NASSCOM - which organises events and conferences where one would find a mentor or someone to look up to and learn from them.</comment>


Egyptian statue spins all by itself at Manchester Museum - <AUTHOR> http://www.news.com.au/travel/world/egyptian-statue-spins-all-by-itself-at-manchester-museum/story-e6frfqai-1226668543848

<comment><USER2> Perhaps Statue pivots on uneven base due to vibrations? Why is this on HN?

<comment><USER3> Your question rang with mine. Why is this on HN? Is there a policy about the content that posts should contain on HN? In the past 6 months it seems like much more non-code/hack/start up material is posted on HN and that's a bit concerning.

<comment><USER4> _" anything that gratifies one's intellectual curiosity."_

[http://ycombinator.com/newsguidelines.html](http://ycombinator.com/newsguidelines.html)

</comment></comment></comment><comment><USER5> _" In Ancient Egypt they believed that if the mummy is destroyed then the statuette can act as an alternative vessel for the spirit. Maybe that is what is causing the movement."_

Yeah, that's likely.</comment>


Ask YC: Where are the Other Opportunities? - <AUTHOR>

Now that we're all past the decision-making process, I'm curious as to what other places there are that are somewhat like Y-Combinator. Anybody got some links?<p> I hope it's appropriate to ask that question here. I don't have a personal need for the information right now (my application was a lark anyway) but I know others might find it useful. And it's something nice to have in your back pocket for the future,right? <comment><USER2> Techstars: [http://www.techstars.org/site/page/pg1682-pn_TechStars_2007....](http://www.techstars.org/site/page/pg1682-pn_TechStars_2007.html)

Boostphase: <http://www.boostphase.com/>

</comment><comment><USER3> Highland and Lightspeed, two VCs, run summer programs that give free money for living expenses for student entrepreneurs.

<http://www.lightspeedvp.com/summergrants.aspx>

<http://www.hcp.com/news/newsdetails.php/id/49812>

</comment><comment><USER4> <http://www.siliconpastures.com/>

<http://www.kegonsapartners.com/>

<http://www.goldenangelsnetwork.org/>

<http://www.wisconsintechnologycouncil.com/events/earlystage/>

</comment><comment><USER5> If you're a wireless startup, you might want to check out Austin Technology Incubator (ATI):

<http://www.ati.utexas.edu/>

Its a non-profit organization of UT profs and apparently has deep ties in the industry.

The problem is being accepted is even more difficult than YC... They only accept a few, but the ones they do have a high success rate.

</comment><comment><USER6> Since YC is not really about money but about networking, inspiration, communication, etc. (at least it is how I see it), why those applicants whose applications were rejected couldn't host a bootstrapped "camp"? I mean if several startups could try to grow jointly, sharing experience and expenses that could be an exciting experience.</comment>


The Truth About Facebook Revenues, User Numbers, And Its IPO - <AUTHOR> http://www.businessinsider.com/the-truth-about-facebook-revenues-user-numbers-and-its-ipo-2010-7 <comment><USER2> Wow--had no idea they were generating those kinds of numbers--no wonder Google's concerned.</comment>


An Unexpected Twist Lights Up the Secrets of Turbulence - <AUTHOR> https://www.quantamagazine.org/an-unexpected-twist-lights-up-the-secrets-of-turbulence-20200903/ <comment><USER2> Somewhat inclusive article, but it does point to Irvine's well-received 2017 paper

[https://science.sciencemag.org/content/357/6350/487](https://science.sciencemag.org/content/357/6350/487)</comment>


New Google's lawsuit - <AUTHOR> https://www.wired.com/story/new-lawsuit-exposes-googles-desperation-to-improve-diversity/ <comment><USER2> "In January, James Damore, the engineer who was fired after writing a screed against Google's diversity efforts..."

Aaaand, done.

Any article that characterizes Damore's memo that way, and most of them do, is misinformation at best. Charitably, such a statement could only be written by someone who either didn't read Damore's memo, or believes they can somehow discern Damore's "real" intent despite his saying exactly the opposite.

Wired is tired.

</comment><comment><USER3> The following phrase from James Damore's memo is worth repeating:

"Hiring practices which can effectively lower the bar for "diversity" candidates by decreasing the false negative rate"

[https://firedfortruth.com/](https://firedfortruth.com/)

This is what Google spokesperson means by "We have a clear policy to hire candidates based on their merit, not their identity".

<comment><USER4> I've heard that the comparative false negative rates among different racial groups was higher than the rate for white applicants. I don't have any sources to back that up though, I'd be interested to see any (regardless of what conclusions they support). I have a feeling that any such data is not public though.

</comment></comment><comment><USER5> Previously:

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

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

[https://news.ycombinator.com/item?id=16497551](https://news.ycombinator.com/item?id=16497551)</comment>


Edit scheme on your iPad via the parse tree: Lisping launched - <AUTHOR> http://slidetocode.com/2012/04/05/lisping-released/

<comment><USER2> As I noted last time, this is really, really similar to the Self environment (this demo makes it even clearer). More typing, but cleaner (Morphic isn't exactly sexy, and the Self environment's UI is quite messy and could be significantly improved I think — especially on OSX where you're forced to deal with Morphic itself _and_ with the fugly and shitty X server).

I really think Self on iPad could be a nice beastie, it is way more visual and touchable than even an adapted text editor like Lisping (though not a visual programming environment)

<comment><USER3> I don't think it has much to do with Self.

It looks more like the structure editors of the 1970s adapted for a tablet. Mid/end 70s several structure editors were written in Lisp, for example DEdit for Interlisp-D.

See chapter 11.3, Using The Lisp Structure Editor [http://www.bitsavers.org/pdf/xerox/interlisp/3102300_interlD...](http://www.bitsavers.org/pdf/xerox/interlisp/3102300_interlDprimer_Nov86.pdf)

and especially

Chapter 16. List Structure Editor [http://www.bitsavers.org/pdf/xerox/interlisp/3101273_Interli...](http://www.bitsavers.org/pdf/xerox/interlisp/3101273_InterlispD_2_Oct85.pdf)

There were also others which worked over textual terminals.

</comment></comment><comment><USER4> Wow! I've had this idea in my head for a little while now. Never actually took the time to do it. I'm so thrilled someone did!

If only it was available on Android. Why, oh why did I not go Apple when I had the choice...

<comment><USER5> Same here. I think everybody who has written Lisp and used a tablet had the same idea.

</comment></comment><comment><USER6> Does anyone who's bought it have a sense of how saving files works? Is it easy to get them off of the iPad, or are they stuck there? There was no mention of that on the app store page.

<comment><USER7> files go in and out thru email, seems to work well

<comment><USER6> Thanks. I suppose ssh or dropbox integration would be a little too much to hope for in a proof of concept app. I will have to buy it and leave feedback encouraging development in that direction.

<comment><USER8> It has one-way (incoming) dropbox support via the dropbox app already.

</comment></comment></comment></comment><comment><USER9> I'm learning Scheme by myselfy using "The Little Schemer". Do you think something like this would be a good tool for a beginner like me, or would it be confusing?

<comment><USER10> In the mid-80s there were two kinds of lisp machines.

Xerox's machines came with a parse tree editor similar in concept to this one. You were always working with the specific parse tree. A terribly powerful concept.

The Symbolics machines came with emacs and traditional edit a file, load/compile a file kind of editing.

I believe the Symbolics machines were much more successful in the market, however, both kinds of machines are pretty much dead, but fwiw, the emacs style still survives.

That said, on an iPad I think this system might be quite nice.

</comment></comment><comment><USER11> Does anyone know about the underlying interpreter or compiler? Do they use a good one or did they write there own (which is then unlikely to be as good as older more developed options)?

<comment><USER7> Tiny Scheme 1.40

</comment></comment><comment><USER12> Is there a reason why it's not available in the Republic of Ireland, or is it just that app releases take time to percolate through App Store territories?

<comment><AUTHOR> No reason I am aware of. If it is still like that tomorrow, please get in touch with me and I'll follow it up.

<comment><USER12> Looking good now, nice work

</comment></comment></comment><comment><USER13> Along a similar line, me & dpkendal built a Scheme REPL for iMessage. Just iMessage to firstname.lastname@example.com (a bit of documentation is in the works).

<comment><USER14> I tried a standard (+ 5 4) with no reply. :(

<comment><USER13> Sorry, had a bit of trouble whilst improving it. Back up now.

<comment><USER14> Got a reply, awesome service. Thank you!

</comment></comment></comment></comment><comment><USER15> What would be truly awesome would be a built-in API for Webkit so that you could post to an arbitrary URL and parse the response.

</comment><comment><USER16> I assume there is some way to export or sync the (virtual?) filesystem to another location.

Very cool project, though!

<comment><USER8> I doubt it, Apple forbids apps from downloading executable code (including your own). If it's anything like Codea[1], you will have to copy/paste your code in and out of the app.

EDIT: Per the manual: "Lisping registers the .scm filetype with iOS so that you can import Scheme source into lisping by emailing a .scm file to your iPad." You can use Dropbox, etc. to get code in/out as well. Given Apple's history, doubt this will survive long.

[1] A Lua IDE and game engine for the iPad <http://twolivesleft.com/Codea/>

<comment><USER16> I always feel like a fuddy-duddy telling people that not having access to the filesystem gives me the willies. But this sort of thing reinforces the validity of my reticence.

</comment></comment></comment><comment><USER17> Is that kind of thing allowed on iOS by now? I thought it wouldn't be.

<comment><USER18> You can distribute interpreters. However restrictions remain:

1\. You cannot distribute an interpreter that can be used for running program code downloaded from the internet. So, for example, your user can save their script and use it themselves but they cannot give it to others (except perhaps through the app store bundled as an app itself).

2\. Your interpreter cannot dynamically generate binary code so JIT compilers that generate binary code on-the-fly are not allowed.

edit: For example, LuaJIT cannot do JIT compilation on iOS but it can do JIT compilation for higher performance on Android.

<comment><USER19> Aren't JIT compilers technically pretty infeasible on iOS anyway because of security restrictions?

<comment><USER18> Yes. 1st restriction above is more for business reasons, so that there are no ways to circumvent the app store, while 2nd is a technical restriction on 3rd party apps for security purposes. Apple apps (like Safari) can obviously do JIT compilation.

However, I speculate even the 2nd restriction is partly for business reasons because it prevents some third-party toolkits (such as those compiling to LLVM) from achieving high performance. You might remember that Adobe was compiling Flash to LLVM to allow devs to port their Flash apps to iOS, but since LLVM cannot do proper JIT compilation on iOS, it will reduce performance.

FWIW: WinRT imposes both the restrictions above. Android technically doesn't impose either for sideloaded apps. But if you want to distribute app through Google Play, the 1st restriction is indeed imposed.

<comment><USER19> >Apple apps (like Safari) can obviously do JIT compilation.

I hadn't considered this before, but that means that you could potentially use JS as an intermediate representation for other languages in order to leverage Safari's JIT under iOS. Probably too inefficient to be worthwhile for any language that isn't a dialect of JS, but an intriguing concept nonetheless.

<comment><USER20> The ability to execute from writable memory is enforced at the process level, and only Safari and a few other Apple apps get that permission.

Javascript in Safari is jitted - but JS in a UIWebView used by a third-party app is not.

<comment><USER21> Gotta love android, you can cheerfully mprotect away the write-protection on executable pages. I've done some dynamic stub code removal that way. Worst case, you can only hose your own process.

</comment></comment></comment></comment></comment></comment></comment><comment><USER22> I only have two problems with this: It's $7, and it requires iOS 5. Now this might not be a problem for newer iPad owners but I still have no reason to upgrade my first-gen to iOS 5.

</comment><comment><USER23> Bought it. It is very cool, but please change the default font (or let us change it).

</comment><comment><USER24> Looks neat, I bought it.

I'm toying with the idea of getting an aws server and run an ssh client there, to get Emacs and bash. With dropbox installed on the server and an external keyboard -- I could maybe skip my heavy portable?!

Anyone has experiences/advice? [edit: E.g. git/svn integration instead of the Dropbox on the server? Or should I use an ssh app for file sync?]

<comment><USER25> I thought about that a lot before my last laptop upgrade. If I hadn't been buying a new laptop, I would have done it; but with a new laptop at play, I decided a MacBook Air would have roughly the same weight and far better ergonomics than an iPad with a keyboard.

<comment><USER26> Actually, decoupling the display from the keyboard (iPad with BT KB) could result in a much more ergonomic setup. But in all honesty, the only time I use an iPad for dev is when my air is charging. Even Textastic pales in comparison to a hard keyboard/mouse.

</comment></comment></comment><comment><USER27> First of all, this is a great idea. I wanted to play around with it but the price tag is way too steep for a toy.

<comment><USER28> Too steep for a next generation programming app, but not too steep for a coffee and a muffin.

<comment><USER29> Not even too steep for a toy; a basic Duncan butterfly yo-yo now costs $6.</comment></comment></comment>


Ask HN: Helpful methods for debugging JavaScript / websites? - <AUTHOR> I find that when I'm coding in Javascript (usually client side), most of my time is spent debugging. It's not something I hear discussed too often, but every time I find some new method for debugging better, my productivity improves a ton. For example, something as simple as right clicking on a function to get its definition has saved me lots of time.<p>Still, I feel like my way of debugging is pretty ad-hoc and inefficient (perhaps others feel the same?). Was wondering if anyone had any tips / hacks / suggestions for debugging more efficiently. <comment><USER2> Chrome dev tools. Ctrl + Shift + i. Check out the docs, they are great.

\- Conditional breakpoints!

\- Avoid "Pause On Caught Exceptions" if you are working with date libraries... unless you blackbox them.

\- Using the profiler to identify unknown bugs is effective _sometimes_. This can be initially overwhelming.

\- Ctrl+p for fuzzy finding loaded resources.

\- Get comfortable with Continue, Step Over, Step In and Step Out.

\- $0-4 in the console store the value of the last selected nodes in the inspector. e.g $($0) would provide you with a jQuery wrapped node

\- "Long Resume"

I also recommend you enable capturing async stacktraces and the setting which disables cache when the tools are open.

<comment><AUTHOR> > \- Conditional breakpoints!

Awesome!

> \- Ctrl+p for fuzzy finding loaded resources.

This too

</comment></comment><comment><USER3> I've used vorlon.js to debug web and Cordova / Ionic mobile apps.

"An open source, extensible, platform-agnostic tool for remotely debugging and testing your JavaScript. Powered by node.js and socket.io."

[http://vorlonjs.com](http://vorlonjs.com)</comment>