F-Droids statement on their ban of Gab - <AUTHOR> https://f-droid.org/en/2019/07/16/statement.html <comment><USER3> > F-Droid is taking a political stance here.

Very bad decision here.

> "F-Droid won't tolerate oppression or harassment against marginalized > groups. Because of this, it won't package nor distribute apps that promote > any of these things."

You might as well not package FLOSS (Free Libre Open Source Software) Facebook/Twitter/Mastodon clients because there are also bad actors on those platforms who harass others based on their religion, race, gender and other differences.

What is the point of totally banning them when they are just going to keep forking open-source projects. Doing this sort of censorship defeats the purpose of FLOSS and violates the first freedom on how a user should use their software as they wish for any purpose.

As a result, Gab is just going to exercise freedom 4.

<comment><USER4> There is a difference between facebook/twitter that disallow those things, will remove them and app that when presented with those behaviours says that they are welcome. You know that.

Unfortunately nobody taking a stance will lead to that horrible behaviour increasing.

The argument "Because X and Y have similar technical implementations in what users can do" is irrelevant here, it's about the intent/goals/policies/how widespread it is.

I welcome anything that reduces hate speech that is officially accepted on some platforms. That is a real problem and one that needs to be dealt with in any way possible.

<comment><USER5> So you'd welcome restrictions on freedom of expression (a human right)?

</comment></comment></comment><comment> phoe-krk A lot of Gabfolk seem to want the freedom of speech while directly denying others' freedom to not listen to what they say. That's... a literal lack of consequence in their train of thought, to put it lightly.

Gab is free to speak everything they speak: yayyyyy that is the right way we are indestructible

F-Droid is free to remove their app: what the fuck do these <a paragraph of notmentionworthy stuff here> this is unlawful and illegal and mandates prison

And when it comes to "not all Gab people are like that": these Gab users don't seem to perform much action against the harassers that exist on that platform - contrary to many other places on the Internet, whose communities actually do something about the hate speech problem.

<comment><USER6> There's nothing about allowing Gab apps on F-Droid that denies anybody "the right not to hear something". Just don't install the app, and you won't see what people post on Gab.

<comment> phoe-krk The removal of Gab app from F-Droid is precisely exercising of the freedom of the right not to hear something.

Gab is just like any other Fediverse client - with an important difference. To show it, let's use an example: for instance, Firefox doesn't brand itself with the logo of a company that abuses free speech to promote and benefit off hate speech. This is exactly what Gab does and - at least for me - which is the elephant in the room that hardly anyone talks about. Free speech, free speech, but why is Gab so proud of performing and/or tolerating gestures that actively harm other people?

Gab, as a company, focuses on monetizing hate speech that it propagates via free speech. That's what I called the abuse of free speech previously in the discussion.

Since Gab is a corporate instance and access is offered for free, then I am the product, even if I'm just a number in their user count; it means that if I join Gab, I help Gab in its goals, also in the one that I stated above. I do not want to do this, and I consider other people who stay there complicit or supportive of that behaviour. If they were not okay with what Gab does, they would not stay there.

<comment><USER7> Gab allows Free Speech and does not have a code of conduct or ban or censor anyone. They claim this is freedom and the code of conduct is fascism.

Anyone who writes a racist comment usually gets called out on it and called an idiot and mocked anyway on Gab.

You cannot have both free speech and a code of conduct at the same time. You either allow everything or censor and ban things to a degree.

Most of these racist comments are made by teenagers who think the N-word is funny and trolling people. So they post it over and over again.

<comment> phoe-krk Gab, via their free speech and unwillingness to take down content in general, promotes content that is racist, misogynyst, antifeminist, islamophobic, xenophobic, homophobic, transphobic, classist, ableist, authoritariant, supremacist, and pretty much anti-intellectual. This is why I oppose that platform.

Of course you can have free speech as a person _and_ a code of conduct for your service. You are free to say anything, and your platform has a right to not want to hear or spread anything.

<comment><USER8> > promotes content that is racist

There's worlds of difference between hosting content and promoting content. The first is act of broad tolerance, the second is act of encouragement and agreement. This distinction is so important that the very first Amendment of US Constitution is based on it - the US government is obliged to tolerate any religion, but is explicitly forbidden to promote any.

> and your platform has a right to not want to hear or spread anything.

Once platform takes control over the right to hear, it ceases to be a neutral platform and becomes an editorial force. With private companies, it's usually not a problem - even if an unpopular opinion is suppressed and censored on one platform, it can be published on another. With growing monopolization of social networking, and with low-level infrastructure providers being slowly roped into facilitating censorship, this is becoming less and less true. And then we have to remind ourselves - why exactly do we have that First Amendment? If censorship is so good, why not let the government do it - <USER2> all, they are the ones that can do it best! Obviously, there are some bad downsides to it. We should remind ourselves from time to time what are those.

</comment></comment></comment></comment></comment></comment><comment><USER9> The message here seems clear: F-Droid is not a free platform. The software on it might be free software, but it is curated by F-Droid. If you wish to exercise your free speech, you should use another platform, since F-Droid can and will censor it.

I for one am deciding now never to use F-Droid for anything important enough that it risks being censored. I do not use Gab myself, but I think such platforms are very important to a free society.

It is ridiculous to try to censor a free speech-centered platform because people say disagreeable things on there; that is the point! We can not have "free speech, but only if I agree with you".

<comment><USER10> Exactly. Most people don't agree with the principle of "free speech without any asterisks". Die-hard free speech advocates are a fringe group (which is why they need to use a fringe service like Gab).

(Side-note: Of course, you can probably come up with a poll where a majority of people respond that they support free speech, but you know how easy it is to skew polls. Asking for "Yes" or "No" does not make people consider the ramifications of their answer.)

<comment><USER11> That's a self-contradiction.

You say most people don't agree with free speech, then you state if you ask people if they agree with it actually most will say yes, but that's meaningless because their opinion would be ill considered.

I think all this shows is you don't care what other people think. Either they agree with you in which case they're right, or they disagree in which case it doesn't matter because they aren't smart enough to have an opinion, indeed, it's not even worth asking them because you can get any answer you want. That is the hallmark of totalitarian thinking throughout time.

<comment><USER10> I've been called a lot of things, but totalitarian? That's a new one.

My point is that free-speech advocates use opinion polls as an argument, saying that a majority supports free speech. But this argument is misguided because when you actually talk to people and make them consider the ramifications of radically free speech (e.g. "Do you support the right of other people to call for you being murdered?"), their opinions usually become much more nuanced.

<comment><USER11> Yes, asking more precise questions will give more nuanced answers. But that doesn't invalidate the vaguer statement - most people _do_ support speech being much more free than restricted, especially in America. That matters: you can't say "ah ha, but sometimes when given extreme examples people have doubt, so banning speech is totally OK". That's not what they said when they were asked.

And by the way, I'm sure I can easily take that person prevaricating because they were given the "calling for you to be murdered" example and bring them back to supporting "radically" free speech. Just ask if they've ever said something like, "Damnit, I'm going to kill that guy!" when they got frustrated or upset. And if the answer is yes, point out that if they're against "other people calling for someone to be murdered" then they'd themselves be in prison. They'd object by saying something like, yes but of course I didn't really _mean_ it, that isn't the same thing at all, and then you ask how anyone could tell and how sure they are they could defend themselves in court, if an enemy was claiming it should be taken seriously.

In the end the reason for "radical" protections for free speech are logical - the consequences of not having it are worse than the consequences for having it. Genuine mob-raising "let's murder this guy" speech is so incredibly rare compared to political suppression it's not worth worrying about.

</comment></comment></comment></comment></comment><comment><USER12> I'm quite surprised by the rhetoric surrounding this, coming from a few posters. Much less Stallman-esque (or even ESR-ish) and closer to Gamergaters, /pols and other alt-right-adjacent folks.

<comment><USER13> Because this sort of stuff _really_ triggers certain people.

<comment><USER12> Not surprised that certain people are outraged about this, more that there's a significant part of those people in the "free software" community. I thought that ESR is pretty much the end of the spectrum there and that the younger AnCaps don't care that much about GNU.

<comment><USER14> Most of the FSF are free speech advocates and always have been. Those who are defending gab now are merely showing that they have the integrity to stand by what they believe even though they find gab itself reprehensible.

</comment></comment></comment></comment><comment><USER15> Banning Gab will only make it more "exciting" and increase its exclusive allure to those who seek something like this. I'm not sure I buy their reasoning (or Mastodon's for that matter). I think all of this is either just a way to avoid controversy (which is silly, but people would be more receptive to it, if they just came out and said that, without the virtue signaling); or it's just that they feel like they cannot argue against those faulty/evil ideologies (which is concerning). I feel like I'm stating the obvious here but racisim and racisit propaganda won't just go away if you ban it, quite the opposite, it'll fester and gain new grounds and people. Banning (especially from supposedly free software groups) is indirectly doing a service to their propaganda.

<comment> phoe-krk Yes, some people are unable to deal with the faulty/evil ideologies, simply because they run out of spoons. This is exactly why bans like this come into place.

Nobody is forced to deal with the kind of people who post and stay on Gab. The action that you see here is the direct effect of many, many people exercising _their_ freedom of speech to say that they do not want to deal with the people who follow the brand of this software.

Gab has the right to speak freely; it does not have the right to a free audience and/or megaphone. The decision you see here is a direct consequence of them refusing to address the problem of hate speech festering on their platform.

<comment><USER15> Gab users already have the audience/megaphone, aka "the means" to practice their free speech. I'm not saying that fdroid is not allowed to remove gab if they want to, but it's still going to indirectly benefit gab. Same as Alex Jones fiasco. Bans don't work. And if we've all collectively ran out of spoons like you say to argue against their weak propaganda, then we have a more severe problem on our hands than having gab on this store or that one. Just out of curiosity, have you seen what's on Gab? Faulty ideologies need to be discussed in the open.

</comment></comment></comment><comment><AUTHOR> Gabs response: [https://twitter.com/getongab/status/1151559127681916928](https://twitter.com/getongab/status/1151559127681916928)

<comment><USER16> > Fork you !

Thats hilarious :)

</comment></comment><comment><USER17> But they already have 4chan viewers and that's fine? lol

<comment><USER18> 4chan isn't as bad as Gab and gets grandfather treatment in a lot of places.

</comment></comment><comment><USER19> I look forward to F-Droid banning Firefox as well as any and all web-browsers that don't implement a blocklist that perfectly matches their ideology.

<comment><USER20> F-Droid never bans apps like that – F-Droid also allows Fedilab and the FreeTusky clients which let you connect to gab.

But just like F-Droid would never allow a Stormfront app, it won't allow a Gab app.

</comment></comment><comment><USER21> Any claims that F-Droid will ban, censor, etc. are wrong and based on misunderstandings. F-Droid will never block the ability to subscribe to any repo that the user wants to, or to install any app from all the included repos. So the user will always be able to get secure access to any software they want to use via any network or even thumb drives: [https://f-droid.org/2019/06/20/two-new-ways-to-get-apps- near...](https://f-droid.org/2019/06/20/two-new-ways-to-get-apps-nearby- without-internet.html)

The main f-droid.org repo is a contributor-curated collection of apps, just like every other F-Droid repo, so it will never include every single app. This is not censorship, this is curation.

</comment><comment><USER22> Their work, their infrastructure, their call.

And a good one as well.

Don't provide nazis with anything.

<comment><USER23> Would you support the same thing done by, say, Christian bakers not providing a customer for religious-ideological reason?

<comment><USER24> I'll bite - but first some caveats.

I didn't follow the case and I'm only tangentially aware of it, I don't know who said what to whom and to how any of it is handled. I can't say with 100% certainty knowing the full explanation of the case that I would side with either the Christian bakers or the customer.

However though, it should be within a business owners right to deny someone access to a paid service or good on essentially any grounds.

<comment><USER25> Even if that business receives public benefits (directly or otherwise)?

Homosexuals pay taxes for streets and cops and electricity, under threat of violence.

Using those taxpayer services to then deny some taxpayers the same service you provide others is the functioeconomical equivalent of slavery.

<comment><USER26> Only if it's directly receiving government funds or dealing on behalf of the government should there be any restriction on whom they serve. Most businesses don't directly receive government funds.

For example, it should be illegal for a charter school to refuse to accept a gay student because they receive funding directly from the government. Same with a vehicle emissions test business that provides registrations. Or a hospital that has an emergency room.

Every business gets some amount of benefit from government services, but that isn't the same as it being funded by or operating in behalf of government.

</comment></comment></comment></comment></comment><comment><USER27> I don't know what to say I'm quite shocked that this happened .

</comment><comment><USER28> Can we get the title changed mods? Nothing seems to indicate F-Droid banned Gab. At least not in the linked article.

<comment><USER6> >Because of this, it won't package nor distribute apps that promote any of these things. This includes that it won't distribute an app that promotes the usage of previously mentioned website, by either its branding, its pre-filled instance domain or any other direct promotion.

Pretty clearly a ban, whatever you think of it.

<comment><USER28> You are right, I missed that part. Seems it was a proactive ban for a not yet existing app?

<comment><USER29> The app exists and is going to be banned from google play in the next few days.

It wasn't yet submitted to F-Droid when this piece was published.

</comment></comment></comment></comment><comment><USER30> What's a free f-droid alternative?

<comment><USER26> I'm hoping the librem 5 goes well. I'm tired of Google and Fdroid, I just want to be able to pull up a shell and install whatever I want.</comment></comment>


ARM64 and You - <AUTHOR> http://www.mikeash.com/pyblog/friday-qa-2013-09-27-arm64-and-you.html <comment> Tuna-Fish This is a reasonable, short overview of the programmer-visible side of changes in A64.

For those interested, there's an another side. A64 drops all the features of the ISA (inline variable shifts, conditional execution, variable-width instructions) that are hard to implement in a fast, high-power CPU. If a cpu is to not have any 32-bit ARM compatibility, there's no reason one couldn't make a 4GHz 4-wide superscalar one based on A64.

<comment><USER2> This is true, but that last sentence is a doozy. The AArch64 _ISA_ drops that stuff. The A7 CPU, which much remain compatible with legacy code, _must not_. So yes, a theoretical CPU would have a much easier design task, but in the real world we'll never see one.

And in any case: there's another reasonably well-known company out there with an even cruftier ISA making 4+GHz 6-wide superscalar cores with backwards 32 (and 16!) bit compatibility modes. Instruction decode is the sort of thing programmers understand, so we tend to get hung up on it when talking about CPUs. It's really not a meaningful design limitation to a CPU core implemented with hundreds of millions of transistors.

<comment><USER3> I would not be surprised if an iPhone without support for 32-bit apps came out within a few years. Apple has been pretty willing to break existing apps with iOS updates, so there's no real expectation that something which works today will continue to work indefinitely with no changes.

<comment><USER4> This.

Apple's track record proves that they are more than happy to drop _anything_ more than a couple of years old if it means general forward progression.

My real bugbear is that to some extent they've created the modern day IE6 by not updating Safari on the old iPad.

Also, if you look at some legacy iOS apps on the Appstore (designed pre 6.x), they are pretty much 100% broken on 6.x+

</comment></comment></comment></comment><comment><USER5> It never occurred to me that they'd be using tagged pointers for Objective-C runtime stuff. Of course it's obviously a good idea, but only after hearing it does it become so. Objective-C is always more dynamic than you think it is, so taking implementation cues from other dynamic language runtimes makes perfect sense.

It appears that they've been using tagged pointers on the desktop since 10.7, which I never realized: [http://objectivistc.tumblr.com/post/7872364181/tagged- pointe...](http://objectivistc.tumblr.com/post/7872364181/tagged-pointers-and- fast-pathed-cfnumber-integers-in)

<comment><USER6> This was one of the most interesting things the post detailed for myself, makes so much sense - we do a substantial amount of allocs and reads for NSDecimalNumbers, etc in our payment based app and I can imagine the heap savings and mem write/read savings we will get as a result would of some significance. Pretty interesting innovation.

<comment><USER7> Tagged pointers have been in use since late 60s in most garbage collected languages of the day.

</comment></comment></comment><comment><USER8> One of the biggest impacts of moving to 64-bit is increased memory pressure. While all of Apple's apps and daemons are running 64-bit, most users will be actively using third party apps that are 32-bit-only for a while. This means that on average there is less memory available in the system, because the amount of RAM is unchanged in the 5s, and there will now be code from both 64-bit and 32-bit binaries resident, rather than just 32-bit binaries.

Apple has done some work to alleviate this extra memory pressure at the kernel level. grep for WKdm in the xnu sources if you're interested.

</comment><comment><USER9> It is interesting to watch ARM finally adopting many of the great architectural solutions that MIPS used 22 years ago, back in 1991, when it launched the MIPS R4000 family of 64 bit processors. [1]

[1] [http://groups.csail.mit.edu/cag/raw/documents/R4400_Uman_boo...](http://groups.csail.mit.edu/cag/raw/documents/R4400_Uman_book_Ed2.pdf)

<comment><USER10> The original ARM ISA felt very VAX-inspired to me, such as the elegant (but ultimately inefficient) use of a general-purpose register for the program counter.

I've only just started looking at AArch64 but I agree that it feels a lot more like MIPS though. I think that's a good thing.

</comment></comment><comment><USER11> >This allows compiling if statements and similar without requiring branching. Intended to increase performance, it must have been causing more trouble than it was worth, as ARM64 eliminates conditional execution.

Probably because so many projects use Thumb (the default for iOS projects in XCode, for example) which doesn't include most instructions for conditional execution. From what I can tell, it also sounds like compilers weren't making very effective use of those instructions anyway.

Also, these were originally meant to compensate for a lack of branch prediction, which as I understand it, has changed drastically in recent years.

</comment><comment> w-m > With ARM64, there are 32 integer registers, with a dedicated zero register, > link register, and frame pointer register. One further register is reserved > for the platform, leaving 28 general purpose integer registers.

but [http://www.arm.com/files/downloads/ARMv8_Architecture.pdf](http://www.arm.com/files/downloads/ARMv8_Architecture.pdf) says:

31 general purpose registers accessible at all times * Improved performance and energy

* General purpose registers are 64-bits wide

* No banking of general purpose registers

* Stack pointer is not a general purpose register

* PC is not a general purpose register

* Additional dedicated zero register available for most instructions

Which one is it?

By the way, the ARMv8 resources are quite interesting overall and a bit more in-depth than the article. [http://www.arm.com/products/processors/armv8-architecture.ph...](http://www.arm.com/products/processors/armv8-architecture.php?tab=ARMv8+Resources)

<comment><USER12> I'm not seeing the conflict between what I wrote and your quote from the architecture docs. Is it just confusion because the dedicated link register, frame pointer, and platform-reserved register are part of the ABI rather than the ISA?

<comment><USER13> There is no dedicated frame pointer-- that would be part of the ABI. The stack pointer and zero register are both encoded as register 31, and the meaning depends on context.

<comment><USER12> My statement encompasses both the ISA and the ABI, which I hope was implied by my previous comment.... From the perspective of a userland software writer, there's not much point in trying to distinguish between the two.

<comment><USER14> Is the frame pointer register really "dedicated" by the compiler? (I haven't had the time to upgrade everything I need to upgrade yet to install the new Xcode and check this directly.) With 32-bit ARM, there is a register denoted "fp", but with iOS 2.0 Apple started compiling without a dedicated frame pointer (instead using that register temporarily for some kind of thread-local storage variable, before moving that elsewhere and freeing up the register entirely). I was under the impression that dedicated frame pointers are only used when you have less-than-awesome compilers that are unable to keep track of the moving stack pointer target as it performs optimizations.

<comment><USER15> It's "required" by Apple's ABI that the frame pointer always point to a valid stack frame; just the same as on armv7. It's for debugging and ensuring backtraces are always valid. Not modifying the current frame pointer complies with this, which is what -fomit-leaf-frame-pointer does. But it's an ABI violation to use it as a general-purpose register.

It sounds like you're partially confusing this with r9, which is a completely different story - r9 was globally reserved by the system until iOS 3.0, then allowed. This equivalent in arm64 is x18, which again is globally reserved by the system.

<comment><USER14> Yeah, I got the backstory mixed up with r9, I think because it coincided with fp being largely renamed to r11 due to iOS using r7 as the frame pointer instead (which I now remember the patch I had to merge for). Sorry :(.

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> Thank you for the breakdown of how performance is affected with the new architecture.

I've had a few quibbles about where performance gains would be, and all too often I was told that the performance increases would be solely realized in the larger memory addressing space. That just didn't seem right to me.

I really like the use of the otherwise unused space in the 64-bit pointers.

</comment><comment><USER17> "On ARM64, 19 bits of the isa field go to holding the object's reference count inline." That's really awesome.

</comment><comment><USER13> I hope by "Perform an atomic store of the new isa value." he means "Perform an atomic compare-and-set of the new isa value."

A64 doesn't eliminate conditional execution completely. It just pares it down to the basics: branch (obviously), add/sub, select, compare (for flattening conditionals like `a && b && c`).

Another thing removed from A32 was the optional shift on operand 2-- which was taking up 7/32 bits for most instructions.

This has a few more that were missed: [http://nominolo.blogspot.com/2012/07/arms-new-64-bit- instruc...](http://nominolo.blogspot.com/2012/07/arms-new-64-bit-instruction- set.html)

<comment><USER12> It's not a compare-and-set. Rather, it uses ARM's atomic instructions where the load creates a reservation on the memory address, and the store succeeds only if the reservation is still present, with any other stores to that address (or nearby addresses) breaking the reservation.

You can use this pattern to implement compare-and-set, but you don't need compare-and-set to use that pattern directly.

Edit: I wasn't sure how to encode this into the steps in the article, so it's a bit vague on that part. Suggestions welcome.

<comment><USER18> Also commonly called _load-link, store-conditional_ : [http://en.wikipedia.org/wiki/Load-link/store- conditional](http://en.wikipedia.org/wiki/Load-link/store-conditional)

</comment></comment></comment><comment><USER19> Great write-up, thanks!

I expect we'll see ARMv8 architectures in the next round of flagship phones. Apple's a little ahead of the curve, but it won't be long till competitors catch up.

In the context of Apple, it's interesting to think about how they're going to take this next. ARM process and architecture improvements are likely to lead to chips with high-enough performance to be used in mainstream desktop applications – Is it possible we're going to see something like an ARM/x86 dual-processor Macbook platform that allows ARM's low power consumption supplement Intel's performance?

<comment><USER20> Macs with ARM processors don't seem like a possibility. Intel Haswell processors are shown to have comparable Performance per watt which is expected to get better with Broadwell.

ARM64 Apple chips are play for iPads. Current iPads are lagging on performance when we compare it to something like a Baytrail Intel tablet or a Haswell equipped surface tablet. There is going to be convergence point for Intel where a tablet with Haswell level performance with a Fanless chasis and 500$ price. Apple need to converge there to compete.

</comment></comment><comment><USER21> The bit about memory-mapped files, considering the fact that these devices aren't using magnetic discs, is something interesting. The conventional file API of seeking and streams suddenly feels a bit anachronistic. Of course, flash memory is often optimized for sequential reads, but still - it's far more amenable to the memory-mapped model than magnetic media ever was.

<comment><USER22> Memory mapped files have a problem (that may be less relevant for iOS) with error reporting.

Explicit APIs can have explicit error codes. Memory accesses don't have much opportunity to report errors, so have to resort to awful signals and such (that nobody handles properly).

<comment><USER12> Apple's NSData API even has a flag just for this, NSDataReadingMappedIfSafe. Basically, it uses memory mapping if the file is on the root filesystem, and otherwise just reads it all in conventionally. This is because if you end up memory mapping a file on a USB stick and the user yanks it, you'll segfault, and nobody likes a crashing app.

On the subject of memory mapping and magnetic disks, one amusing bit of history is that GNU's Hurd kernel originally implemented filesystems by memory mapping _the entire hard drive_ and working from there. This worked fine at first, but started to cause major trouble when HDs grew beyond 4GB and Hurd was still running on 32-bit CPUs. I believe they ended up redoing it all without memory mapping so they could grow beyond that limit.

</comment></comment></comment><comment><USER23> Why didn't ARM call it ARM64? It's hard to believe it didn't cross their minds and decided AArch64 is the better name, so it could be another reason.

<comment><USER24> The "ARM123" naming scheme was used to refer to specific ARM cores prior to the "Cortex" naming scheme. While "ARM64" isn't ambiguous in and of itself, it's troublingly close to ARM60, the first ARM CPU with a 32-bit address space.

</comment></comment><comment><USER25> I still wonder why in the world Apple went with just 1GB of RAM on the 5s. Even the Nexus 4 that I bought contract-free for $200 comes has 2GB of RAM.

<comment><USER26> 1) Because the iPhone doesn't need 2 GB RAM.

2) They took the money they saved and devoted it elsewhere (perhaps the Sapphire home button? :)

When it comes down to the bill of materials, every cent really does count when it scales across several million units sold.

<comment><USER25> The iPhone doesn't need a 64-bit desktop-class processor, either.

I personally think Apple strategically held off the RAM upgrade 'til next year's iPhone, so that they could have a "killer feature" to lean on if they don't manage to figure out a more novel^Winnovative one in time.

<comment><USER26> _> The iPhone doesn't need a 64-bit desktop-class processor, either._

It doesn't need it, but it certainly helps, as benchmarks and my own development of an app that does live video effects has shown.

 _so that they could have a "killer feature" to lean on if they don't manage to figure out a more novel_

Apple has _never_ marketed, nor revealed (to my knowledge) what amount of RAM is in an iOS device model. This is always determined later by a 3rd party.

<comment><USER25> The extra RAM also helps. Any good OS will not fail to find a use for extra RAM.

</comment></comment></comment></comment></comment><comment><USER27> From the article:

      The biggest change is an inline retain count, which eliminates the need to perform a costly hash table lookup for retain and release operations in the common case. Since those operations are so common in most Objective-C code, this is a big win.

</comment><comment><USER28> Only using 33 bits for memory addressing is troublesome. 33 bits is 8GB ram which is small potatos for a desktop. Why couldn't they have left it at 38 or even 40 bits? Or is this limitation only part of the objective-c runtime?

<comment><USER12> It comes down to the OS. Basically, when a new process is created, the OS sets up its address space and decides where it will allow new memory to be mapped. For whatever reason (I'm not entirely clear just yet), iOS 7 in 64-bit mode goes for an 8GB address space.

As far as I know, there's nothing preventing that from being increased on future hardware or even on the 5S with future OS updates. I believe the CPU itself supports a 48-bit virtual address space.

</comment></comment><comment><USER29> CPython has reference counts as a part of the object in memory. The claims of "large memory consumption" are nonsense, especially since small integer objects and strings are aggressively interned.

And increasing just one aligned integer is certainly cheaper than the bit masking the solution here entails (all of which is neatly hidden away in the 'increment of the _correct_ portion' part).

<comment><USER12> Remember that this decision was made back when the entire system might have 32MB of RAM. Does CPython even fit in that, as a single process, let alone a full multitasking UNIX?

Additional RAM consumption has costs of its own, in terms of cache usage. Adding an extra 8 bytes for every object in the system is not insignificant. Masking and shifting is extremely cheap.

If you've run the benchmarks and can show your approach is better, by all means, please share.

</comment></comment><comment><USER30> Anybody know when 64-bit arm processors might be released as a blade or mini- server to work with?

<comment><USER31> Not sure what the pricing will be like, but AMD is aiming to release their Cortex A57 based CPUs in 2014[1].

[1][http://techreport.com/news/25338/new-amd-embedded-roadmap- sh...](http://techreport.com/news/25338/new-amd-embedded-roadmap-shows-64-bit- arm-cortex-a57-chip)

</comment></comment><comment><USER32> _First, a note on the name: the official name from ARM is "AArch64", but this is a silly name that pains me to type. Apple calls it ARM64, and that's what I will call it too._

What ARM calls ARM related periphery is canonical, whether you think it's silly or not.

However the overarching entity is called ARMv8, with the 64-bit state called AArch64 (which can be contrasted with the AArch32 state, which is also a part of ARMv8) and the instruction set is actually called A64.

<comment><USER33> Not all official names survive a confrontation with reality, where 'easier to remember' and 'easier to pronounce' have value, too.

Do you use the terms IA-32e and EM64T, too (both are/were Intel's official names for what people now typically call x64 or x86-64)?

<comment><USER34> EM64T & x86_64 only exist because Intel has too much pride to call it what it is: AMD64.

<comment><USER35> The name "x86_64" existed before AMD fully released their CPUs, and was latched onto by some of the open-source communities, so that specific one isn't exactly Intel's. But you're right about EM64T. :)

<comment><USER36> I do not believe this is true. Do you have a reference that used that name x86_64 before Intel shipped its first AMD64 compatible CPU?

<comment><USER35> Here's a source to back up maggit's Wikipedia citations:

[http://www.amd.com/us/press- releases/Pages/Press_Release_715...](http://www.amd.com/us/press- releases/Pages/Press_Release_715.aspx)

Dated 8/10/2000.

<comment><USER36> Awesome thanks. I stand corrected.</comment></comment></comment></comment></comment></comment></comment>


Useful PHP function Nr.3 - Generate random string - <AUTHOR> http://webcoderblog.com/2009/06/19/useful-php-function-nr-3-generate-random-string/ <comment><USER2> I wonder why the author left V and Y out of the source string?

And of course, a Python equivalent:

      import string, random
      def gen_random_string(length=10):
          chars = string.ascii_uppercase + string.digits
          return ''.join(random.sample(chars, length))</comment>


[Removed]Help pay inequality by sharing your salary (open source project) - <AUTHOR> https://mysalary.tech/ <comment><USER2> Can someone define pay inequality for me? Is it that people with the same job ought to be paid the same?

Having worked in the industry a while, I've seen many engineers with the same job, same title, and wildly different levels of productivity. Even people with less experience out performing those with more. I struggle to see how removing all nuance around actual ability within a band is a good thing, and suspect people armed with this information asking for raises are setting themselves up to hear they're just not that good. Human beings aren't fungible resources. While someone might be good enough for the job, it's unlikely they're exactly as good as their peers.

I do think more information is a good thing, and as such making this available is great, but I don't think it leads to the outcome some seem to hope for.

<comment><USER3> Almost all jobs are paid not according to how productive the employee is. Pretty much most jobs are about doing a set amount of work. When it comes to advertising or applying for a tech jobs how productive one is compared to a fellow worker is not evaluated. Even quality is subjective.

Often companies will give production or time related bonuses, but base pay should be able to be compared.

</comment></comment><comment><USER4> This doesn't actually help you, it will only ruin your chance for negotiation and you will end up getting the lowest possible salary.

Open salary will only help pay inequality because everything is a secret right now and some people are better at negotiating.

If it were all open, we would have equally low salaries across the board from company to company.

It also puts the value on the position and not the person applying.</comment>


A convicted felon who became a Georgetown law professor - <AUTHOR> https://www.cbsnews.com/news/meet-a-convicted-felon-who-became-a-georgetown-law-professor/ <comment><USER2> Somewhat orthogonal:

In SF, the jail will only accept bail from registered bail bondsmen. They will not accept bail money from the arrestee, friends of the arrestee, or family. The average rate for a bail bondsman is 10%. A common practice that a vindictive police force will use is tacking on charges that they know will not stick in order to push the bail higher (eg Felony Conspiracy to Commit a Crime can be tacked on to any crime involving more than one person regardless of its nature and will set bail at $18k minimum). My neighbor is a criminal defense attorney and I asked her about this; she said that it is common knowledge that the SF DA, police, and bondsmen are all scratching each others' backs.

An initial court date can take a few days to a week of waiting in jail, which means missing work. An innocent person -- or a person guilty of a victim-less crime -- of little means will likely lose their job as the result of one arrest if they cannot afford bail.

The other practice that is commonplace in SF and California is confiscating a phone as evidence even if there is no reason to believe the phone will have evidence. Even if a person is wrongfully arrested and the charges are dismissed, property return is only done if the District Attorney elects to cooperate. If the DA does not voluntarily request the police return your property, then you need to file a motion to obtain a hearing. The going rate is $500+ to have an attorney do this. Most people simply do not get their phones back because the time and monetary cost are too high. If you are living in an expensive city on a tight budget, this is a significant loss.

<comment> ux-app why are these people acting like such pricks? What do they have to gain?

<comment><USER3> It sounds like money, as well as probably being able to screw someone over they don't like.

<comment> ux-app is such widespread, systemic corruption an issue in the US? As a far away observer (AUS), the US system does not seem so pervasively corrupt.

<comment><USER4> There's very little to no overtime bribing, it's rare enough to make the news. Kickbacks though, or simply fucking over someone you don't like, runs rampant.

<comment><USER5> Confiscation of property and cash seems to be a big problem.

<comment><USER4> [https://www.washingtonpost.com/news/wonk/wp/2015/11/23/cops-...](https://www.washingtonpost.com/news/wonk/wp/2015/11/23/cops- took-more-stuff-from-people-than-burglars-did-last-year/)

Worse than our actual thieves. I am on the paranoid side and most Americans don't think this way as far as I know, but I feel safer walking through a bad neighborhood with a pile of cash than going by a cop. I'll most likely get mugged in the bad neighborhood but the cops will take the money and put me in jail

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> What a great story! Once a person has paid their debt to society, society should be forgiving and allow the person to have a second chance.

<comment><USER7> debt? sounds like you want retribution. As long as your mindset is on punishment, rather then to fix (if possible) what drove the person to such undesired behaviour, it's going to be hard to forgive. You want to lock up people because you have to, either as a WORKING deterrent, or to keep people outside jail safe.

And in some cases the debt is not repayable.

<comment><USER6> No, I don't want retribution. I've slowly come to the belief that prison should be to keep people who cannot function in society separated from society until they can function in society. It's punishment enough for such separation, I don't agree with "hard" time.

</comment></comment></comment><comment><USER8> Question for lawyers: is there credibility in arguing that lifetime denial of employment and voting rights amounts to "Cruel and unusual punishment"?

<comment><USER9> The voting rights is one issue, but the 'lifetime denial of employment' would be hard to argue for; it isn't the court that is doing that.

How would you avoid it? You would need something like the EU's 'right to be forgotten', which has serious first amendment issues here in the US.

<comment><USER10> As to other ways to avoid lifetime employment denial, a lot of places are forcing at least public sector places and many private sector employers to "Ban The Box" [1] that is to say remove the initial questions about criminal history. They are still allowed to ask at a later date, but the idea is that the people just won't be completely culled without care (which is technically against US employment law anyways).

1: [http://www.nelp.org/publication/ban-the-box-fair-chance- hiri...](http://www.nelp.org/publication/ban-the-box-fair-chance-hiring-state- and-local-guide/)

<comment><USER4> Ban the box legislature seems to do very little, it exists in Mass but it's paired with the CORI system where the court system simply gives you the court history over to employers. I have seen a business rescind an offer from an engineer <5 days from when he was supposed to start and after he had ended employment with his previous company, over a misdemeanor on his CORI.

The first amendment concerns with the EU's right to be forgotten aren't answered yet in my book, but as long as everyone's life is tracked and passed around effortlessly via the internet it will be difficult to impossible for former criminals to maintain employment at good jobs.

Like many things that worked out in the past, such as cops being able to look up any individuals license plate, but are now incredibly cheap and easy to do because of technology, background checks are becoming onerous because they are done for _everyone_ instead of being done only when necessary

Edit: I want to add that businesses rescinding offers like this means the employee I quit can not access unemployment because they have quit their oldjob but not been "fired" from their new job. The obvious response is to no longer give two weeks notice to your old employer but then people talk and you get a reputation as a mercenary while companies look for some level of loyalty. The end result is you get fucked either way

</comment></comment></comment></comment><comment><USER11> Another example is James Kilgore, a convicted (second degree) murderer/kidnapper/activist who was on the lam and is now a professor at UIUC: [https://en.wikipedia.org/wiki/James_Kilgore](https://en.wikipedia.org/wiki/James_Kilgore)

</comment><comment><USER12> A podcast with him : [https://www.libertarianism.org/media/free- thoughts/lessons-b...](https://www.libertarianism.org/media/free- thoughts/lessons-bank-robbing-law-professor)

</comment><comment><USER13> Makes me wonder how much potential for society is wasted in prisons every second.

Hell, even in Germany we literally send people to jail for weeks to months for being unable to pay for public transport.

</comment><comment><USER14> This article is very interesting:

[https://harpers.org/archive/1929/06/whats-wrong-with-the- rig...](https://harpers.org/archive/1929/06/whats-wrong-with-the-right- people/)

I think it has been posted before.

As an European the "though on crime" spirit in the USA is just the oposite to what we actually have here.

Here there are very forgiving laws, short prison sentences, very soft and polite police attitude against criminals (compared with what you experience in the USA). Prissons are well equiped and there it's relatively easy to transition to more open sentences where you only go to sleep to the prison. A lot of money is spent in reabilitation, economic help, free university and courses in the prison, etc...

In a way, if you are a law obeying citizen you feel that you are the fish and the criminals have it their way. Very unjust, even dangerous as they are able to roam openly and prey in the innocent. We really wish for harsher laws, policing and prissons.

But the reality is that now a days is difficult to find a place in a Spanish city where you can be mugged with a knife or any other weapon. There is almost no perception of danger in the streets. Last week I was in a dinner with a district chief in the police. He says there are some property thieves, mostly youth, but they rarely have to draw the gun, criminals may run or shout to cops, but they usually don't fight them. They know they probably are going out of the jail faster than the cop finish filling the papers, so why bother being violent?.

Most criminals are not hardened psicopaths, and with this method the system removes hate and tension from the violence spiral(I don't know if this makes sense).

Of course is far from perfect, at the end of the day some very violent killers and rapists get through this very lax system creating victims and social alarm, but the overall results are very very positive for everybody. Felons get a new oportunity, tax payers save money, citicens get to enjoy a safer city.

Talking about the gun problem in the USA (somebody was blaming guns for th violence in other comment), it seems to me that the people that is trying to ban guns are just doing the oposite of what they are trying to do, they draw more attention to guns, so more people buy them. This people surely would have ignored them if nobody recalled them the topic.

For example in Spain we have a very vigorous antibullfighting movement. But I remember perfectly how in the 80s and early 90s all the bull fighting business men were worried on how the people had stoped going to the corridas. My grandfather loved them (I dont) and he watched all of them in the tv. The plazas were half empty most of the times, and the business was dying (they even were worried about the loss of the race of toros bravos that only gets rised for corridas)

Then the antibullfighting movement gained strength and all the people that had been ignoring the corridas, started paying attention and taking a stance, some pro, some against. But the net result was a very healthy increase in the expectator figures of all thing related to bullfighting.

In a way I think it is the same reason Trump got to president, way too much free propaganda and attention from everybody even if it was negative.

</comment><comment><USER15> As other people have mentioned, this is only strange because of our bizarre popular notions of crime and punishment in America.

First of all, we love partitioning people into good and evil sets. If we can only root out and imprison the evil people (and, btw, give all the good guys guns), there would be negligible crime.

Secondly, we believe punishment fulfills justice. Despite well documented issues in applying the death penalty equitably, or even solely to guilty people, we maintain that heinous crimes must be met with human sacrifice.

And to be honest, I think human sacrifice is literally what we believe in. When something goes wrong, we require someone to feel pain. The more permanent that pain, the better. This goes beyond crime. Look how sports players are immortalized for their blunders. Look at the mob justice of the Internet. Look at how we crack down on the vulnerable when the middle class struggles.

<comment><USER16> > And to be honest, I think human sacrifice is literally what we believe in. > When something goes wrong, we require someone to feel pain. The more > permanent that pain, the better. This goes beyond crime.

I don't think it's about human sacrifice. Rather, I think it's about imposing enough of a punishment to deter other people from committing the crime. Presumably people committed the crime knowingly, being aware of the fact that the punishment may go in such a direction.

<comment><USER17> There was this well-publicized case in Canada. A man was beheaded and partially cannibalized in a Greyhound bus [1]. The killer was determined to be not criminally responsible. It was proven that he was suffering from severe mental health issues and did not understand what he was doing. He was sent to a high security mental health facility. There was no death penalty in Canada, so everyone was content for as long as he was _behind bars_ in the facility. But when he was deemed treated in 2015 and scheduled for discharge, people on the internet lost it. They didn't care that he did not knowingly do anything wrong. They said he brutally killed someone and for that he should be punished. Some said they wouldn't mind if "an accident happened to him." Others wanted him behind bars for the rest of his life. Everyone blamed the government and the justice system for bring too soft and naive. It was sad to read the discussions. After seeing that, I have to agree with the commenter you are replying to rather than you. People want an eye for an eye.

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

<comment><USER18> Well, I would interpret that as "With something so horrible, people want to make sure it _never, ever_ happens again and they don't really believe that someone who would do something like that can ever be trusted."

Compassion is one thing. Giving people a second shot at doing something heinous is another.

We don't really know how to cure more prosaic mental health issues, like depression or social anxiety. If they are wrong about him having been successfully treated, we will likely find that out the hard way: When we discover he has done it again. Only, possibly, multiple times and covered it up successfully for some time, what with being older and savvier.

</comment></comment></comment></comment><comment><USER19> Fantastic story. I noticed that he won a scholarship from the Gates Foundation; that's quite some journey, and great to see the difference a chance at redemption may offer.

</comment><comment><USER20> Maybe this is a little churlish, but while I agree that we should say that a person that finishes out his prison sentence should be considered to have paid his debt and from then forward be on an equal footing, I think that should be equal footing. We shouldn't let our cultural love affairs with redemption narratives sway our judgments to the point where we are treating someone better for having gone to prison.

It is really really hard to become a law professor. Not only are there a huge group of lawyers that would love to become law professors, but because of the difficulty in getting social science appointments and because law professorships pay significantly better than social science appointments, there's now a huge group of Phds also vying for these spots.

Shon Hopewood went to the University of Washington law school. He may well have been the only tenure track hire that graduated from that law school in ten years. Not that its a bad school, but law and especially the law professoriat is incredibly credentialist. Yes, he got a good Court of Appeals clerkship, but I'd bet there's members of the Elect (those that had SCOTUS clerkships) on the market that didn't get tenure track offers this year, much less offers at Georgetown. Maybe you'd say, well he's going to be great in the classroom -- students will get an entirely unique perspective. I'm sure that's true, but law schools don't hire tenure track professors because they'll be good in the classroom. At best that might be a partial factor in hiring adjuncts (the primary factor being willingness to take the starvation wages they pay adjuncts).

All of which I mention just to show that this really does look like putting a finger on the scale. I grew up in this society, I'm not immune to the pull of a redemption narrative. It does speak to me, but I think when we step back and think about it we really shouldn't be favoring people that did things like commit armed robbery over those that didn't. Even if they paid their debt. Equal footing, sure, but not better.

<comment><USER21> Without formal training, he wrote a petition for certoriari that was accepted by the US Supreme Court. That's a hell of an accomplishment, and one that bespeaks an unusual level of talent. I don't think we have to see this as a finger on the scale at all.

<comment><USER22> I think that's a big part of it. Getting a cert petition accepted puts you in a small pool of lawyers. Doing it from prison, more than once, without a SCOTUS clerkship or a stint at the SG's office to give you insight into the unique dynamics of that process, shows some talent and also puts him in a niche that could be valuable to a university like Georgetown.

</comment></comment></comment><comment><USER23> Even with a felony conviction for armed robbery, he was able to pass the character and fitness requirements for bar admission. In Washington State. Wonder how many other states would admit him.

<comment><USER24> He did attend a law school and graduate, and was admitted to the bar afterwards.

"He spent three years with the Cockles in Omaha, completing the undergraduate degree he'd begun in prison, and continuing to impress the lawyers he worked with. With their help and against all odds the University of Washington law school took a chance on him. He won a full scholarship from the Bill and Melinda Gates Foundation and upon graduation was admitted to the bar."

</comment></comment><comment><USER25> This shouldn't be shocking and should be more common.

<comment><USER26> I agree with that. We supposed to live in society where people can make mistakes, learn from them and move on. If you stole a candy at age 14 from a local store, it is surprise to label you "criminal" at age 35 no?

Just because someone did crime and did time, doesn't mean we should continue treating them like criminal.

<comment><USER27> > If you stole a candy at age 14 from a local store, it is surprise to label > you "criminal" at age 35 no?

Where is this point coming from? If you got caught stealing candy at age 14, you're not going to become a convicted felon. NEVER. When you commit an armed robbery, I think it's fair to label someone as a former criminal.

<comment><USER28> However if you are caught at 14 with a naked picture of a 13 year old classmate on your phone, you'll become a convicted sex offender for life.

This is not at all hypothetical. I've seen estimates that 1/4 of all convicted sex offenders were themselves minors at the time of conviction, and 14 is the age at which you are most likely to become a registered sex offender. Which will for the rest of your life affect where you live, what jobs you can take, and force you to be registered on a database where your neighbors can see that you're awful but get no useful information about your crime.

As a parent of pre-teens I'm far more concerned about them being caught up in this life-destroying lottery than I am about, say, their being kidnapped if they are so unwise as to talk to strangers.

<comment><USER29> I believe a teen can be convicted of distributing child pornography for sending a picture of themselves to someone. The legal system terrifies me.

</comment></comment></comment></comment></comment><comment><USER30> How many "exceptions" have to come to our attention before we change the rule?

Google Dwayne Betts. He is a tour-de-force. He wants to dedicate his life to helping others, but despite the life he has lived since serving his time in prison, he was nearly prevented from practicing law in the state of Connecticut.

"In conversations", he said "lawmakers will look at me and say 'you're an exception.' Yeah, well, in 2005, I wasn't. And I want to fight for that guy."

You shouldn't have to be as exemplary as Dwayne or this law professor in order to not be written-off from society.

<comment><USER31> One of the worst aspects of "conversational racism", the kind of racism which manifests itself in talking about attitudes and expression of opinions, is "but they're one of the good ones": "Oh, I don't like members of group Y, they're all crooks, but I like that person. They're one of the good ones."

It's so bad because it makes it impossible to refute blanket assertions by pointing to specific examples. The usual understanding of "the exception that proves the rule" (not any of the _sensical_ interpretations of that saying, but _the usual understanding_ of it) is a broader example of this: I have a blanket assertion, you disprove it by pointing to a contradictory example, and my belief in that blanket assertion gets _stronger_ , as opposed to _weaker_ , due to that thought-terminating cliche.

</comment></comment><comment><USER32> Somebody who never robbed a bank did not become a Georgetown law professor.

Was he the most "qualified" candidate for the job or was he the most "interesting" candidate? Would "interesting" candidates enhance the institution/world more than a less "interesting" but more "qualified" candidate?

\---

Edit:

I'm not a domain expert on what makes a strong Georgetown Law Professor. It seems like he has some publications to his credit.

[https://www.wikiwand.com/en/Shon_Hopwood](https://www.wikiwand.com/en/Shon_Hopwood)

<comment><USER33> Did you read the article? It is pretty clear he is quite competent..

<comment><USER32> I did read the article, & I read his wikipedia page, & I even read some of his writings. While one needs to write well for the Supreme Court to accept a case, one also needs an interesting case to write about.

Assuming he is competent for the position, the question is compared to the competition, is he the strongest candidate? I'm curious over the selection criteria for the position & what led to Georgetown hiring him, compared to the other applicants. Was it swayed by his past experiences? Having a scholarship from the Bill & Melinda Gates Foundation undoubtedly helps as well.

<comment><USER34> Are you trying find some injustice here? Or are you really trying to compare what little you know of this person to the nothing you know of all the other candidates?

I have the number 7 on a card. Is that higher or lower than all the other numbers I have on cards? Seven is a pretty low number... There's gotta be a higher number on my other cards, right? Let's reason that one out. I tell you that seven is highest number amongst the cards I have. Now you'll call that into question because... seven seems pretty low to you? What do you know that I do not?

<comment><USER32> > Are you trying find some injustice here?

I'm just asking questions/reasoning about the selection process.

> There's gotta be a higher number on my other cards, right?

Not implying anything. Since this is an interesting case, it warrants more scrutiny. It's human nature to pay more attention to things that go against the norm.

> I tell you that seven is highest number amongst the cards I have. Now you'll > call that into question because... seven seems pretty low to you?

In this case, I'm asking to see your other cards, or at least get a general sense over the calibur of other cards. Also, selecting a person/people is also not as simple as selecting a number. Many factors at play. In the video, the Georgetown staff gave Mr. Hopwood more credibility for being incarcerated as "being on the inside". I certainly can understand that.

Of course there's a question of ethics. Perhaps Mr. Hopwood is in a position to where the risk of him having some latent criminal impulse (or exceptionally poor judgement) is minimized. I don't fully understand the impact of ethical responsibilities of a Law Professor. There are certainly many unethical Law professionals & I'm not implying that Mr. Hopwood is one. However, he does have a past criminal history, which in his case he may have fully reconciled. On average, previously convicted felons commit crimes more often than the general public.

The devil is in the details. I'm sure these are all considerations in the selection process. Maybe I have some initial reservations, which encourages me to investigate more.

Having skepticism & looking more into things does not make me a bad person. Having moral outrage to somebody who asks questions is morally questionable (in this case) at best; not saying that you are an immoral person. I'll go out on a limb & posit that Mr. Hopwood would agree with me.

<comment><USER34> My skepticism about the value of your inquiry and your assumptions for what makes a qualified candidate are "moral outrage", while your skepticism about a company hiring the optimal employee for its own purposes is just healthy rationalism triggered by knowing they hired a convict?</comment></comment></comment></comment></comment></comment>


IDE for developing PhoneGap HTML5 Apps - <AUTHOR> http://www.vinisketch.com

<comment><USER2> Sometimes I feel like the only person who is NOT a PhoneGap fan. It just has so many oddities (white flash on Android for one) and the apps never seem to work as well as anything native.

Am I missing something? Serious question, not trying to troll.

<comment><USER3> I haven't used it extensively, but it's one of few ways to make a truly functional app using just JS+HTML5- allowing you to skip past Java, Objective-C, etc.

Of course, there are huge prices to pay for that- particularly on the UI front. But if your mobile app is a very small part of your business (as opposed to the primary offering, which it is for many) then it can make sense.

I've actually ended up making an app that's a hybrid of native (for top bar navigation) and one big webview for the rest:

<http://www.taxono.my/>

I think it's come out as very close to a native experience- it's just a case of putting the time in to make it so.

<comment><USER4> Great job on the app! How's the reception been so far from taxi cab companies?

<comment><USER3> Thanks!

I haven't got to the stage of approaching taxi companies yet- right now the app is really just a developed concept that I've entered into an app-making contest (<http://2011.nycbigapps.com/submissions/5832-taxonomy>) . It has VC investor judges, cash prizes, etc.- basically, I'm waiting to see what happens. If it gets a fantastic reception then yes, that's time to start approaching cab companies about direct booking etc.

</comment></comment></comment></comment><comment><USER5> Some constructive feedback for the website. There are three thumbnails along the bottom of the screen. I immediately assumed I could click these and a larger image would appear.

When I see a new product linked on HN, I want to quickly look at screenshots. I couldn't find any screenshots of the product on your website besides those thumbnails that look like any other IDE at that resolution. I did eventually find the movie but I would've preferred some screenshots.

<comment><AUTHOR> Thank for the feedback. I've fixed the home page and will add additional screenshots.

d.

</comment></comment><comment><USER6> Judging by your comments, I think you should take a look at MoSync 3.0, iPhone/Android/WP7 and supports NativeUI/OGL and everything phonegap/titaniun does plus much more, it comes in two flavors, a JavaScript SDK called 'Reload' and a Hybrid SDK (JavaScript and native C/C++), beats the others hands down. But don't take my word for it, see for yourselves.

</comment><comment><USER7> Downloading this now! It looks great so far, cannot wait to try it. I have tried many of these tools coming out; most are browser based and _horrible_ to work with (besides being slow, they basically don't work usually :). So very curious; will give you feedback.

<comment><AUTHOR> You are welcome to give feedback :-)

We try to develop some thing like xCode for HTML5 apps so I hope VSD fits developers needs.

d.

</comment></comment><comment><USER4> Has anyone here tried Titanium Appcelerator? You can build native cross- platform apps in javascript. I've been using it to build my app: <http://getswaggur.com> and it's been pretty good so far.

<comment><USER8> I wrote a post on my blog about that a little less than a year ago. I'm sure some things have improved, but in general, I've moved on.

[http://tannerburson.com/2011/04/03/Thoughts-on- Appcelerator-...](http://tannerburson.com/2011/04/03/Thoughts-on-Appcelerator- Titanium.html)

<comment><USER6> me too!</comment></comment></comment>


Ask HN: Improving the world as a software developer - <AUTHOR> In my day job I'm a web developer who has spent the best part of the last 10 years writing software to help sell tickets to arts venues and extract as much money from the customer as possible, it's not a noble way to earn money but it pays the bills.<p>I recently started wondering whether I could use my programming knowledge and experience for something better, something other than trying to extract money from rich arts lovers. For the moment I'm stuck at that job but it got me wondering if there are open source projects for things that actually help people. I stumbled on https://hollieguard.com (sadly not open source) recently and it was a reminder that as software developers we have the ability to make real, positive, differences to people's lives. I'm just not sure where to start. <comment><USER3> I once attended a talk about humanitarian aid during an ebola outbreak a few years ago in africa somewhere. My favorite part was when he went down the list of professions that could help out... from the obvious medical staff, to architects and mechanical engineers for building infrastructure (for building things like containers for storing contaminated feces), etc. He ended with "every kind of engineer can help. except software engineers. you're all useless".

<comment><USER4> As with most users people don't know what they need. For example, in this situation, wouldn't a website to demonstrate what is being done be vital? Wouldn't the software engineer setup volunteer registration page? A donation page? Etc etc Wouldn't they benefit with some kind of database about the infected people? What help they already received and what not? Etc etc I think the whole aspect of software engineering is not understood yet.

<comment><USER5> Historically it seems to be the other way around - software engineers plunge in with ideas for how to help and wind up producing something unusable, because they don't have any experience with the problem domain.

</comment></comment></comment><comment> sheldon-b Good question. I was wondering the same thing a couple of years ago -- I'd been working at a couple of start ups and felt drained and uninspired by my work and wanted to make a difference. I found Code for America which has job lists for public-good technology work, and through CfA I found a company called Nava where I now work. Nava partners with government agencies to build better, more usable, and more equitable digital services to replace/improve services that fall short of what the public deserves, especially for under- served populations who most need them. We do a lot of work on healthcare programs and veteran's affairs programs.

USDS and 18F are also both great organizations in a similar sphere of work. There's a real need for software developers who want to do good to help design good services, improve existing ones, and rethink poorly conceived ones that don't do their users justice.

Nava: [https://www.navapbc.com/](https://www.navapbc.com/) CfA: [https://www.codeforamerica.org/](https://www.codeforamerica.org/)

<comment><USER6> I've had my eye on Nava for a while. I applied last year but didn't get an interview. I just applied again - 2nd time's the charm, right??

</comment></comment><comment><USER7> The article "What Can a Technologist do about Climate Change?" [0] by Bret Victor is one of the best things I've read in regards to this issue. Not only is it incredibly interesting but it's also massively inspiring.

If climate change doesn't take your fancy as a cause, 80000 Hours have put a lot of research into this list of the world's most pressing problems [1]. Maybe you would like to help tackling one of those.

[0] [http://worrydream.com/#!/ClimateChange](http://worrydream.com/#!/ClimateChange) [1] [https://80000hours.org/problem-profiles/](https://80000hours.org/problem- profiles/)

<comment><USER8> I'm sorry. I really wanted to read that article, but the website seems unusable in any form of web browser.

<comment><USER9> Op is getting downvoted, but I have to agree with him; the website is chaotic, but the font is directly painful to read (Chrome, Win10, HD screen).

It may look great on Mac, I don't know.

</comment></comment></comment><comment><USER10> Do you want to help millions of kids around the world have better access to learning materials?

Info: [https://learningequality.org/kolibri/](https://learningequality.org/kolibri/) [https://learningequality.org/ka-lite/map/](https://learningequality.org/ka- lite/map/)

Demo: [http://kolibridemo.learningequality.org/learn/#/topics](http://kolibridemo.learningequality.org/learn/#/topics)

Code: [https://github.com/learningequality/kolibri](https://github.com/learningequality/kolibri) (Django + Vue.js, MIT license)

We're looking for full stack developers right now (see [https://grnh.se/8b6e1d221](https://grnh.se/8b6e1d221)) but happy to discuss how you can get involved with some of our other projects [https://github.com/learningequality/](https://github.com/learningequality/)

</comment><comment><USER11> You could work as a software developer in the public sector. There is a desperate need in many countries to improve digital services for citizens.

Or, you could have side projects that improve people's lives. I have built software that helps developers build accessible websites, software for adding subtitling to videos and software to help memory institutions archive political debate in social media.

You can get started right now.

<comment><USER12> To improve the digital services for citizens you'd first have to be in a position to initiate or convince your superiors to convince their superiors (and so on) to initiate an investment in an improvement. Then wait for about a decade to actually see anything happen.

You don't just show up there all like "if we rewrote this portal in react with all these patterns here (which are really cool, I promise) things would be better for the citizens" and then do just that.

tl;dr if you want to improve the state of public sector software, you're better off entering the domain as a politician rather than software developer.

<comment><USER13> Sadly, where I live investment into gov/public IT services is done, even a big one, but the product is of very low quality. Money gets diluted and the real work is done by unskilled programmers based on bad specifications.

</comment></comment></comment><comment><USER14> While it's less immediate than starting or working for a non-profit directly, you can have a surprisingly big impact by creating useful devtools and other tech infrastructure (whether OSS or for-profit).

At EnvKey, our configuration and secrets manager has some amazing non-profits like GiveLively and charity:water as customers, as well as some great mission- driven for-profit companies like Lambda School and Seneca Systems. It feels great to know that we're helping them to help others more efficiently and securely. We have other devtool customers too, so we're also helping them to help others to help others... and so on :)

It's the whole "area under the curve" idea--instead of having a very visible, direct impact by, say, working for the Gates Foundation, another option is to play a small but important role as an enabler for many others, and this can still add up to making a big difference overall.

</comment><comment><USER15> I interviewed with 18F/USDS and they seem like they fit what you are looking for (assuming you are in the USA, which may not be the case). They work on modernizing the US government programs. Lots of opportunities for you if you are willing to move to DC, some if you are senior and are willing to work remote.

More here: [https://18f.gsa.gov/](https://18f.gsa.gov/)

<comment><USER16> A friend of mine who has repeatedly sought to help out impactful non-profit initiatives over the years jumped from Google to 18F and he is really glad to be there. He has always leaned towards those interests and while he enjoyed some experiences at Google, he has never been interested in making a lot of money and I know he relishes the challenge of solving not just technical problems but also organizational improvement challenges in what is a stereotypical slow-moving bureaucracy! He would invite any interested parties to keep an eye on openings and apply to join 18F. I always think of it as a sort of Delta Force for the government.

<comment><USER17> I'm afraid to ask, but do 18F and other likewise government "startups" pay well? Most government jobs relating to programming seem to be limited by the GS payscale.

<comment><USER15> They are limited by the GS payscale.

> 18F team members are hired for specific position descriptions at a specific > grade level from the federal general schedule (GS) (excluding SES > positions). The GS system is a pay system for civilian employees in the > federal government; evaluation and compensation varies by grade level. The > qualification requirements for each position at a specific GS level are > based on education, background, accomplishments, and experience. The > specific requirements will always be listed in the job posting. Salaries of > federal employees are public information, and your salary may become > publicly available...

> The annual salary cap for all GS employees is $164,200 per year. You cannot > be offered more than this under any circumstance.

More here: [https://18f.gsa.gov/join/](https://18f.gsa.gov/join/)

</comment></comment></comment></comment><comment><USER18> Are you open to pursuits that don't directly involve programming? If so, three suggestions:

* CodeNation (CodeNation.org) - teach highschool aged kids in underserved areas how to code.

* GazaSkyGeeks (GazaSkyGeeks.com) - go to the Gaza strip and teach coding and mentor entrepreneurs

* Recoded (re-coded.com) - same as above but for refugees in Syria and Iraq.

I've done the first two - happy to answer Q's about them.

</comment><comment><USER19> > You have 80000 hours in your career. How can you use them to make a > difference?

[https://80000hours.org](https://80000hours.org)

<comment><USER20> .org

<comment><USER19> Done.

</comment></comment></comment><comment><USER21> I work in bioinformatics in academia, and it's really hard to get good software engineers. Academia can never pay as well as industry, but we do get to do interesting work that leads to new scientific discoveries and medical knowledge...

</comment><comment><USER22> If you are in the US, find a local chapter of Code for America: [https://www.codeforamerica.org/](https://www.codeforamerica.org/)

</comment><comment><USER23> I've been thinking about this quite a bit lately as well. I run a software consulting firm (business automation, process improvement, etc.) and have been looking for ways for our company to utilize our skills for good. We could contribute in the ways that many companies already do (I put my employees on a bus to go paint a school or clean up a park and hire a photographer to make sure that it's of some PR value), but I think that we could do much more by aiding charitable organizations with certain high-impact software projects.

For example, This American Life did an episode about refugees in Greece and discussed how they need to continually dial a single phone number to register for an entrance interview (if I remember correctly) ([https://www.thisamericanlife.org/592/are-we-there- yet](https://www.thisamericanlife.org/592/are-we-there-yet)). This was all done via Skype, so everyone had the ability to access web apps, and a single all-encompassing web application could have significantly reduced the time that these people spent in refugee camps (so long as other political forces didn't get in the way, etc.).

If you're interested in working together on something like this, I encourage you to email me at cj ^at^ oscillas.com.

</comment><comment><USER20> How are you at teaching? Local elementary and middle schools are starved of good tech help.

</comment><comment><USER24> Two things.

Some people would say that helping art venues stay viable is respectable/nobleish.

Secondly.

Go find a way to help your neighbors near you.

IMO, there is no amount helping theoretical people/users that will motivate you as much as helping one person IRL.

Basic modern life is extremely complicated for half of the people in your town. Motivating someone, even a little bit, can material change the trajectory of their life. Big Sister/Brother, career counseling, social services counseling.

</comment><comment><USER25> I am or actually was in a similar situation as you. I grew tired of developing software just for the sake to earn money (selling things, improving conversion rates, booking systems, etc.).

Eventually I ended up only applying for jobs which would enable me to work on something which actually could or will make a difference or I cared about. Was hired in the end (even found very few positions available in those spaces). You have to decide for yourself what things you care about to support and then find businesses or companies in that area which currently hire someone with your skill set. I admit there is a bit of luck involved, but should be possible if you are living not in the middle of nowhere or find remote positions.

Keep also in mind that this does not necessarily mean good pay (but should be decent at least) or a good company culture in the end. But I think this is the same risk you would take with any job.

</comment><comment><USER26> Have a look at [https://www.hotosm.org/](https://www.hotosm.org/)

</comment><comment><USER27> There are plenty of options and ideas out there to work on your spare time to improve the world and its society. It's just a matter of thinking which areas you feel you could have had something better and you didn't. In my case, me and 2 friends realised that when we were younger and students, we had a lot of questions and ideas but we didn't have a place where we could discuss or people with experience to get advise from (we are from latinoamerica). Today, as we are the people with experience, we created a mentorship platform for latin-americans, where people like we were before, can join and ask for advise and learn from more experienced people. This is our way to try to improve the world. site: [https://oraculi.io](https://oraculi.io)

</comment><comment><USER28> A good framework for looking at careers and figuring out if your best trade- off is to do your occupation as a direct way to make the world a better place or to make your living and then donate money to make the world a better place can be found in the book _Doing Good Better: How Effective Altruism Can Help You Help Others, Do Work that Matters, and Make Smarter Choices about Giving Back_ by William MacAskill. In many ways, it is the best career planning advice I have ever seen in any book, and I'm applying for myself and encouraging my four children to use the same planning framework.

[https://www.amazon.com/Doing-Good-Better-Effective- Altruism/...](https://www.amazon.com/Doing-Good-Better-Effective- Altruism/dp/1592409660)

</comment><comment><USER29> I had gone through a similar thought process a number of years ago. The best move I thought to make was to work at a startup promoting culture, arts, and fashion (this last one I wasn't so keen on). Ultimately the startup failed but I kept on working at startups always being mindful of what it produces which has recently been online photo sharing and mobile communication (not social media). Doesn't seem like much but it was a step up from ad-ops or forex.

I was also wondering about volunteering on the side with my skillset and there didn't seem to be a way to do this. Most orgs just want donations and they'll get the work done rather than interact with ad-hoc part time help. Interested to see what other options this thread gets.

</comment><comment><USER30> I have a basically empty GitHub project if you want a goal and a lot of latitude on implementing a thing:

[https://github.com/DoreenMichele/PocketPuter](https://github.com/DoreenMichele/PocketPuter)

The gist of it: I was homeless for several years and used the internet extensively to develop and online income, do research, have some kind of social life, etc. I run some websites to share info to help others do the same.

Someone suggested that having some code assets to make phones and tablets more useful to the homeless and pre-install links to those assets could play a part in promoting such solutions.

</comment><comment><USER31> Founder of a YC non-profit, SIRUM, here. We and most of the other non-profits that have gone through YC all have open sourced our software development.

It's a small group of tech focused startups (we have all mostly done fastforward.org and DRK Foundation as well) so we all know each other well and you really can't go wrong, just pick one where you like the mission and shoot them an email.

Good luck. The world needs more people like you!

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

<comment><USER32> Is this list up to date? I couldn't tell if it only went through 2016 because it was behind or because that's the most recent non-profit funded by YC.

</comment></comment><comment><USER33> I work in an organization that creates software that enables people to do various parts of their complex work better and more efficiently. I consider creating software tools that create actual value to their end user as quite enough improvement as a software developer can.

Anyone can be compassionate. And smile. It may sound trite but that _does_ create a bubble of positive feedback loop whenever you interact with people. That's the most straightforward way that I know of how anyone can improve the world around them.

</comment><comment><USER34> Framasoft: [https://translate.google.fr/translate?hl=fr&sl=auto&tl=en&u=...](https://translate.google.fr/translate?hl=fr&sl=auto&tl=en&u=https%3A%2F%2Fparticiper.framasoft.org%2Ffr%2F)

[https://www.debian.org/devel/](https://www.debian.org/devel/)

[https://www.gnu.org/help/help.html](https://www.gnu.org/help/help.html)

</comment><comment><USER35> Your best option is probably to make as much money as you can without being evil and donate a ton of it to Givewell[0]-approved effective charities. Givewell is a group that analyzes charities to determine which ones do the most good per dollar. The best ones are mostly initiatives to treat and prevent tropical diseases in Africa.

[0][https://www.givewell.org/](https://www.givewell.org/)

</comment><comment><USER36> Check out this open source project - Humanitarian Toolbox

Link - [https://github.com/HTBox](https://github.com/HTBox)

</comment><comment><USER37> Have a look at [https://socialcoder.org/Home/Index](https://socialcoder.org/Home/Index)

<comment><USER38> I can't tell from the site, but are these volunteer projects full time endeavors? Or is this something that you commit a couple hours to every other day?

<comment><USER37> It's usually part time work for social issues. It's focused on the UK at least from what I saw, but there are other opportunities available. Might be revamping some php software or writing something from scratch.

And this might range from consulting on software architecture to systems administration work. I haven't found my combination yet. But there were some pretty interesting things on there.

</comment></comment></comment><comment><USER39> Most of my work as a software developer is for the better of humanity - <USER2> i'm lucky to do, but straight out of university it was my goal. I started a wee company that delivers stroke, dementia, autism therapies and we'll be branching out to our own products. Interestingly, I had a similar idea drawn up for Hollieguard - looks like I may not have to build it now.

If you're interested in any work, message me.

</comment><comment><USER9> Donate some of your salary to an effective charity. You don't have to get another job, but you have found a way to use software to convert the money of rich art lovers into saving lives.

You could do worse to find a charity than starting here: [https://www.givewell.org/charities/top- charities](https://www.givewell.org/charities/top-charities)

</comment><comment><USER40> One option is to find a donor organization that's aligned with your values and get in touch with them to hook you up with one of their grantees. Small local orgs have a tough time with paying and retaining talent so you're likely to find some low hanging fruit. Not necessarily open source but lots of opportunity to have a big impact.

</comment><comment><USER41> If mitigating climate change is your thing, look for opportunities to contribute to these solutions:

[http://www.drawdown.org/solutions-summary-by- rank](http://www.drawdown.org/solutions-summary-by-rank)

<comment><USER42> I would love to contribute to these kind of things, but unless I was missing something on that website, there were no links to jobs/careers. Do you happen to know of a list of companies that hiring for climate change related fields?

Outside of the obvious Telsa/Solar City, I don't really hear about many companies that I could work for as a software developer who are tackling this kind of stuff (though I am sure they are out there).

</comment></comment><comment><USER43> You're lucky, in my software development career I've been automatizing other people work so they could be fired. It isn't so directly, but is really what happens after some years. Selling art tickets is a noble work.

<comment><USER44> Automating other people's work _is_ improving the world quite a bit, if maybe only indirectly - you're now setting those people free so they can do something else instead! Though of course it's better to automate _yourself_ out of work as much you can, because no one knows the relevant tradeoffs better than you.

</comment></comment><comment><USER45> Maximize the amount of money you can make at your job and then use it to find others doing hands on work. There is no shame in that and it allows you to best leverage your hard earned skills to best attend to the needs of others.

</comment><comment><USER46> Working on the issue of open source verified voting systems would help protect democracy, but the amount of actual coding needed is small compared to the amount of advocacy, lobbying, and marketing needed to get the word out.

</comment><comment><USER47> There's no reason you can't combine the two and create some for-profit service which serves an honourable purpose in the grand scheme of things. The guys who created e.g. JustGiving did exactly that.

</comment><comment><USER48> If you are willing to change jobs, look at AgTech startups in general, and FinTech startups that are targeting the developing countries. All those have needs for front end devs (and mobile devs).

<comment><USER49> i have a hard time believing fintech startups targeting developing countries are going to help improve the world. or any fintech startup for that matter.

<comment><USER50> M-Pesa could be considered fintech that has improved matters for millions of people.

</comment></comment></comment><comment><USER51> It doesn't need to be software related in particular.

e.g. You buy stuff off amazon - use smile.amazon.com instead...exact same thing except 0.5% donations paid by amazon

Small incremental bits can help too

</comment><comment><USER52> Have a look at Call for Code: [https://callforcode.org/](https://callforcode.org/)

</comment><comment><USER53> Help organise tech workers to build political power and influence how the future will look:

[https://techworkerscoalition.org/](https://techworkerscoalition.org/)

</comment><comment><USER54> Hi,

I have similar feelings where I really don't do good things at my programming day job.

I see a lot of the evils of the world as systemic issues caused by capitalism and globalization. I've been chipping away at the seed of an alternative system [https://opensocialism.com](https://opensocialism.com)

Wanna help? :)</comment>