Hacker Newsnew | past | comments | ask | show | jobs | submit | a13xb's commentslogin

It feels weird reading that someone in America “reinvents” the Australian concept of “chucking a sickie”.


Wasn't aware of that variant. In the UK the sickie gets pulled.


HN is not a government or a political party, it's a privately run link aggregator.


Is this definiton of censorship from Wikipedia incorrect then?

"Censorship is the suppression of speech, public communication, or other information that may be considered objectionable, harmful, sensitive, politically incorrect or inconvenient as determined by governments, media outlets, authorities or other groups or institutions"


No. But a thing being "censorship" does not imply that it is bad, unless further context is considered. However, when censorship is a good thing, we usually give it a different name because "censorship" bears a negative connotation.

As a basic example, parents frequently censor their children, but we call that "childrearing". Managers censor their workers, but some of that is necessary to run a company.


That's not the point. They just don't want to think censorship is an accepted part of their daily lives because censorship often implies oppression. But censorship is part and parcel of almost every forum. The social values of the people who own the forum, as well as incentives behind their operating it, determine what kind of censorship is applied.

For example, on YouTube, hate speech [which I know isn't actually a thing] is commonplace - they don't feel the need (or perhaps don't have the resources) to censor comments which certain people find detestable. But they have created complex systems to analyze videos so that they can identify certain ones and remove them automatically. The end result is that censorship isn't applied uniformly. In one example, a YouTube account that was documenting videos of attacks on the people of Raqqa was flagged for spreading terrorist propaganda. You could make the argument that while the hate speech didn't impact their bottom line, the videos could, so they accept a certain amount of unequal and unintentional censorship in order to maintain their business position, defend their corporate values, and of course, retain their user base.

Moderation is a more nuanced and human approach to censorship. By giving people second chances, answering emails, giving the occasional explanation, etc they build social capital and prevent emotional backlash that could threaten the status of the forum. By helping users to understand the error of their ways and have a chance to redeem themselves, they can't be accused of unfair treatment. But they are indeed imposing specific social and political values on their users, to the point of hiding or removing the post or user when it doesn't align with their values. This shapes not only the quality of the dialogue, but its content. This is the essence of censorship.

To severely paraphrase 1984: "To control speech you control language, as controlling language controls thought."


"By helping users to understand the error of their ways and have a chance to redeem themselves"

Could you elaborate a bit more on this part? I find your post quite insightful and well thought out as a whole (though my sarcasm detectors may be a bit off especially when it comes to the above sentence), but in any case, I'm not sure why you wrote "that's not the point" when everything you say seems to support exactly that point.

If you think of moderation as a tool to shape the flow of discussion in a certain pre-approved way (without, say "malicious" intent, though that can always become debatable from someone's point of view), when does moderation become censorship, or more specifically - at which point are the users allowed to think that the moderation actually became censorship? I mean, who sets the criteria? The moderator?


I was trying to convey that they weren't disagreeing with you about it being censorship, they were disagreeing of whether it was wrong or not depending on context. My reply was probably a bit disjointed.

A moderator is supposed to be an arbitrator or mediator. Moderation becomes censorship when they start enforcing policies to get users to align with their values rather than simply bringing people to an accord. Users are allowed to think it's censorship once they lose their value or become a liability.


> Users are allowed to think it's censorship once they lose their value or become a liability.

To someone who happened to live under a de facto Soviet occupation (not de jure, after all it was just a "requested friendly intervention with the noble intent of suppressing the rising nation-wide anti-people criminal elements, that just kind of somehow happened to last for a few decades"), this kind of wording (and the associated themes) sound indeed very familiar.

But it's interesting to see how many HN users don't see this as troubling at all, at least judging by the dozen (-s?) of downvotes that my original comment earned me since posting, not even mentioning how quickly other people that somehow dared to draw a parallel between censorship and the other, friendly kind of censorship got quickly downvoted into white five minutes from posting.


> Not trying to be negative, I'm a fan of how much power AWS gives you.

I am.

I find AWS API incredibly baroque and has a lot of historic baggage. I suspect a lot of this complexity is a result of an accumulation of features made by multiple people in multiple teams over the years and inertia of customers relying on it, so there is (understandably) no will to change it.


Classic mistake. Except it's not really a mistake, but a conscious decision by whoever was in charge at the time (with the main focus probably being growing the company and not hurting current customers).

How do we fix that though? Standards seem like the only solution but they either don't move fast enough or the early birds (in this case amazon, but another prime example is microsoft) become so entrenched they set the standard themselves.

My own answer up until now has been to work in linux and open standards jobs (now kubernetes) but this requires increasing amounts of effort.


I'd say that the best way to "fix" it - is to have new iterations/versions of an entire region that comes online with an updated stance on all aspects of environment management: deployment/security/auth etc..

Let new infra come up in the new region with auth-gateways to allow the new to talk to the old and vs versa...

maybe you put an S3 mirror of data from new-bucket-type to an old-bucket-type for RO data access from within the old region for data created in the new...

old users can make functional requests of the new api - but cannot manipulate anything directly...

Or some such model -- but role out wholly new regions and sunset old over time. (A new region can be us-east-3 next to us-east-2 and can sit in the same physical location to allow for in-house data transit on AWS' part, etc.)


I am a former C++ programmer who has moved on to the other languages/technologies and no longer suffer from Stockholm Syndrome.

This is just the tip of the iceberg. There are many dark corners, historic baggage, and complex interplay of language features in C++. This complexity breeds bad codebases plagued by subtle bugs created by misunderstanding of finer points of the language.

If these things scare you, run away in the other direction as fast as possible.


I, on the other hand, am a primarily Python programmer being slowly lured to the Dark Side.

The thing I love about using C++ is that you get direct access to all these rock-solid libraries in C that everything is built on -- zlib, libcurl, etc. So instead of dealing with a tower of wrappers in a high-level language, each of which has quirks and bugs, you get that core lib, where you can safely assume 99% of the time any problem is your own fault. Even when a C++ wrapper exists, I use the C API just to reduce deps and avoid the kind of problems you're talking about, which I think boil down to templates most of the time. I don't use templates unless there is no other way.

This strategy works pretty well for me, but my codebase isn't huge and I'm not doing anything super complex -- just trying to speed up things that are too slow in Python, be it parsing or data structures. I think in practice it is best to use multiple technologies if possible in a project, each one suited to the task.

And WRT the coroutines in OP, I don't know the details, but the thing I miss most from Python in C++ is yield and generators, which hopefully coroutines will eventually help with. Defining your own iterators is very annoying.


> you get direct access to all these rock-solid libraries

> in C that everything is built on -- zlib, libcurl, etc.

> So instead of dealing with a tower of wrappers in a

> high-level language

That's what I love about Objective-C: you get that, the direct access, and at the same time transparent, non-wrappered access to a high-level, dynamic object-oriented language.


Don't forget about Objective-C++! That's where the true powers of the dark side are.

Side Note: Objective-C is such a criminally underrated language. I often see people complaining about the syntax, but it's just syntax. Once you get over it, I find that the language makes the OOP paradigm a joy to work with.


Honestly, I never seriously considered it. I thought it was more-or-less an "Apple thing". OFC it is supported on other platforms, but seemingly not widely used (I write scientific code that really only has to work on Linux).

But after looking at its feature set, I wonder how easy it is to get by without templates? It seemingly uses weak typing instead like Go for scenarios that would normally require generics/templates. My attitude towards templates/generics is that they are absolutely necessary for a good standard library and core containers, but implementation of new templates in your own code should be rare.

Also, I do like namespaces in general, although not necessarily C++'s implementation of them.


I'll be a contrarian here and say that Objective-C is an ugly mess, and not even "because brackets". It's the language full of terrible hacks, historic baggage, and bolted-on features. Objective-C++ is basically the worst of both worlds. :)

Programming languages have advanced a fair bit since the 80s, it's time for Objective-C to die peacefully.


Have you ever tried Cython? It's always seemed cool to me, so I've always planned on using that if I ran into a case where I needed (relatively) direct C library access or wanted to speed things up beyond what straight Python is capable of.


Sure. I use it for some things and straight C++ for others. Cython is good for simple things, like small tight loops.

One thing that is much more reliable in pure C++ is any kind of threading or OpenMP etc. Theoretically Cython has it, in practice it can cause very weird problems. Also if you want to use C (or C++) libs in Cython, you have to manually declare all the function prototypes before using them.

Also Cython has a tendency to make minor breaking changes to syntax every version, breaking my code and/or making it version-dependent. Since I distribute to others, the best method for linking performance intensive-code to Python I have found is:

1. Write the core in C++

2. extern "C" a simple C API for it

3. Compile both to a SO

4. Access the SO from ctypes

It is more robust than Cython IME. Another advantage of this approach is that you have now have a generic C library you can use anywhere else if you want, not just Python. And you don't have to link -lpython so the C lib can be used in places where Python isn't installed. Finally, it can be nice to have some C++ binaries for startup time, and AFAIK you can't compile binaries with setuptools.


Thank you for your very informative answer!


If you're into both C++ and Python, I recommend pybind11 [1] - Cython is a crutch and moreover C++ is not a first class citizen in it. For reasonably large codebases Cython just doesn't scale and debugging is a total nightmare.

Disclaimer: I'm a contributor to pybind11.

[1] https://github.com/pybind/pybind11


Please note that I specifically singled out C++ here, not C. C is not C++ (not even technically a subset of C++). It is a very different and a much smaller language.


Yes, I know they are different, but I was talking about C++. I heavily use the STL and greatly prefer it to C idioms. I also like namespaces. Templates can be very hairy but void pointers are not great either.

In short, I simply think C++ can be used responsibly if you limit yourself to the subset of features that you (or your team) can understand.

For example, there are people who go crazy with Python metaclasses and such. A statement about interacting language features being dangerous could apply to anyone in any language who is trying to be unnecessarily clever.


C'mon over to the Go side instead ;-)


> This is a pretty bold claim - can you cite any examples of this?

I don't know if you have read the original thread, but there are a few examples of this: https://news.ycombinator.com/item?id=14356409

Also this: https://stackoverflow.com/questions/38959321/firebase-databa...


The parent comment posted in that thread, so I assume he has read it. While I read parts of the comment thread earlier when if first came up, I searched some key phrases and couldn't really find specifics other than the SO link you already mentioned. There was a lot of discontent and general ramblings about Google support being terrible, but I saw more people praising the paid support options and support in general for paid products than giving concrete examples of being burned.


Ah, so the secret to launching without previous audience is to build up an audience prior to launch.


A lot of people think along the lines of:

Step 1: Develop product

Step 2: Market product

But both need to be done in tandem with each other. While you are developing your product you should also be working on some way to either build an email list, establish rapport, get on people's radar, or at the very least validate a product fit and a basic marketing strategy.

For instance if you plan on advertising on Adwords you should be running tests to a dummy page (or email opt-in) before your product launches so that you know if that is a remotely viable option before sinking tons of priceless developer hours into a product with no proven way to market it.

Alternatively if you are going to advertise on forums you better spend a lot of time on those forums to make sure you are creating something those people care about and that those forums have enough visitors to move the needle.

Those are two examples - there are a million ways to market a product and all of the promising ideas should be experimented on and validated before your product is even finished.

Far too often solo cofounders are driven by a cool idea and then handwave (or worse look down on) the marketing aspect of it, and then after their product is finished they are left wondering why they spent huge amounts of time creating a product that nobody is signing up for. When I launched there was no uncertainty - I had already talked to tons of people in the industry, had lots of beta testers, and had properly validated the promotional channels I thought fit best with the product.


The book 'Traction' does a great job at building upon this great comment and giving good action steps for founders/makers to market their product


The "secret" is to build something useful, go where the people are, and make it easy to buy at a price they are willing to buy. Easy to say, hard to do for reasons.


Not sure if this is sarcasm, but it _does_ make sense--if you want to sell stuff, you need people to sell it to.


Maybe.

But if the creation of a small, passionate audience happens naturally during the creation of any sufficiently good product, is it that much of an obstacle?


Keep in mind that as an individual you cannot have a near-million dollar leverage at a relatively low rate to buy other investments.


People like to rag on Chinese investors, but I think the main reasons are insane tax breaks and limited supply.


Insane tax breaks yes, but in general there is not limited supply. Rental vacancy rates are rising, rental yields are dropping, which would indicate that we have more than enough housing for the number of people in the country.

Further, a group called LF economics did a study on this - some graphs on page 22 here - http://www.aph.gov.au/DocumentStore.ashx?id=cafe7b04-e06c-4e... (PDF warning - it's a submission to the recent enquiry on house prices). Turns out that they found most Australian markets are in oversupply at the moment. They also found no correlation between supply and prices over the last 30 years, and have some points in there for why that would be the case.

In the end, it's more the availability of credit that determines the prices, not supply and demand.


Which tax breaks?


Probably negative gearing: https://en.wikipedia.org/wiki/Australian_property_bubble#Inf...

Edit, better link: https://en.wikipedia.org/wiki/Negative_gearing#Australia

>Interest on an investment loan for an income producing purpose is fully deductible if the income falls short of the interest payable. The shortfall can be deducted for tax purposes from income from other sources, such as the wage or salary income of the investor.


Negative gearing is only one piece of the puzzle. There is also a 50% CGT discount if you hold an investment for more than a year.

And yes, it applies to shares too, but it's not possible to get this amount of debt leverage for buying shares.

There is also 100% CGT exemption if the property is owner-occupied. The worst part is that it extends up to 6 years after you move out (e.g. to rent somewhere cheaper). So you can buy a property, live in it for a year (at which point it's deemed primary residence), then rent it out for up to 6 years, move back in for a year, rinse, repeat, and avoid paying any CGT when you sell. Obligatory: none of this is tax advice.


Centrelink has been speculatively invoicing people to recover undeserved welfare payments based on crude data matching with income tax datasets.

How nice it would be if they did some data matching to determine who was actually living in a property as their primary residence, vs. changed their mailing address to that of their residential property to pretend it was their primary dwelling, and issued invoices for unpaid CGT.

Given foregone tax from the CGT discount and negative gearing represent significantly larger sums than that spent on Newstart, chasing property investors would seem to be lower hanging fruit...


They most certainly do chase property investors who do claim incorrect primary residence. Remember primary place of residence is only while you live there so if you change it one month before selling it only offsets one month of profits and what if you have multiple properties you can't hide it all with that.

However the bigger problem remains that capital is taxed at half the rate of labour and this matched with tax free pensions has meant people with built up capital have gotten extraordinarily rich in the past decade and a half at the expense generally of the younger generation.


Are you sure about that part about only while you live there?

I have friends who tell me they "need" (well, want to) live in their investment property for 6 months every few years, in order to get a refresh on their tax breaks?


Actually you could be right with your friends.


"it's not possible to get this amount of debt leverage for buying shares"

But it's easy to buy a call options on shares, which is equivalent.


They are not at all equivalent. Shares are a lot more volatile, and your guess needs to be accurate within a very short term or you lose 100% of your investment.


> They are not at all equivalent.

Why not?

> Shares are a lot more volatile, and

This is irrelevant.

> your guess needs to be accurate within a very short term or you lose 100% of your investment.

It's also easy to lose 100% of your investment when you buy property with leverage. At least with a call option you can't lose more than your initial investment. You can with property, unless you live in a jurisdiction which cancels the outstanding loan on a property after it's repossessed by the lender.

Perhaps your point is that, with a property purchase, you can ignore short term price movements. As long as you have enough money to pay the mortgage each month, you get 100% exposure to the price increase over 25 years, even though you put only 10% down and borrowed the rest.

The volatility doesn't matter. If I buy a 1-year call option on a particular share, it doesn't matter if the price goes up and down every day during that year. What matters is the price at the time the option expires.

What _does_ matter, and this may have been what you were thinking, is that it's hard to buy a long term call option on an individual share. The longest you can buy easily is probably 2 years, which is much less than the length of a mortgage.


As well as negative gearing, there is also the main residence exemption from capital gains tax. Aside from the tax system, residences are also assessed differently from other wealth when determining if someone should receive the old-age pension.


I think the original intent of obscuring input password is to counter shoulder surfing.


I think the biggest annoyance by far is iTunes Connect. It's an odd beast.

It's awkwardly separate from the rest of developer centre, and have this bizarre requirement that you use a separate Apple ID for each iTC organisation, so you end up with one primary Apple ID tied to all developer programs and separate Apple IDs for each iTC account.


you might want to recheck, they recently allowed to use one apple id for multiple itc organizations/teams


I didn't know, that's great news.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: