An Apple Developer for 10 Years - <AUTHOR> https://qnoid.com/2019/09/06/Apple-Developer.html <comment><USER2> Wow, that's weird because i had experienced almost exactly the same feeling 3 days ago. 10 years app developer as well, worked on an app (huge update) for 2 years, with the last 7 months full time , which means a big financial risk. And saw the update rejected for what looked like something Apple didn't like in my business model (that hasn't changed in the last four years since the first release of app has been out).

In my case, it ended well, because after explaining there must have been a misunderstanding, they finally accepted the update, but something changed at that precise moment i saw the reason they rejected the app.

I am now _extremely_ worried about things i knew before but didn't really care about. That is:

\- Apple has a monopoly on app distribution to my customer's devices.

\- Apple doesn't care _at all_ if my app is distributed on the store or not.

\- They'd rather have every developer work for free and give their time for free, and work only for iOS. That would be the ideal situation for them if that was sustainable. We have different interest.

And so the natural conclusion was that I, as a developer, can _not_ responsibly develop only for apple-owned platform.

And so tomorrow (or actually monday), i'm starting my next application project, and it's going to run either on flutter or react native. Because at the minimum i'll be able to provide an option to my customers should apple not like what i'm doing on their store, for some obscure reason.

<comment><USER3> If you're currently doing native iOS development, you might want to give native Android a try. It's not /that/ different from iOS development, especially if you're using Swift and you try Kotlin.

I only say this because -- if you haven't tried React Native before -- you're in for a bad time if you think you don't really need to know Android development to make an even modestly complex app. When you run into Reactive Native errors and you don't know what's going on in Android, it can be an infuriating experience.

I'm not saying it's the best bet for you. Just -- if you haven't tried it -- maybe give it a shot [=

<comment><USER2> I have already developed a few things on android, and i know iOS and android aren't that far away in the concept. However the main issue is that i don't have time to develop two apps. It's as simple as that.

I'm not planning on using react or flutter to avoid knowing about android internals. I'm going to use them to only develop specific code when it's absolutely needed, and not for 100% of the code base.

As an independant software developer (or even for a modest company) i think it's now the only sane choice.

<comment><USER4> Having been down this road before, I'd recommend Flutter over ReactNative.

ReactNative feels like developing the same app 2.5 times. Once in RN proper, and then covering the same ground for large swaths of the app again for each iOS and Andriod.

Flutter has some pain associated with it (I would highlight the lack of 3rd party and community support compared with RN), but overall I'd say it delivers more on the "write once, run everywhere" promise of RN.

<comment><USER2> Thanks for the help. I had reached the same conclusion as you from my very brief exploration of the two technologies so far. Flutter seems more self- contained and coherent, at the cost of taking the risk to not integrate well with the native OS (which TBH is the least of my concerns at the moment as long as flutter is able to provide me with something close to iOS 7 feature set support).

</comment></comment></comment></comment></comment><comment><USER5> Former Apple + TestFlight employee here (3 years at TF + 2 at App Store post- acquisition)

Apple is very territorial about developer tools. They do allow certain businesses (like Fastlane) to operate in this space (a tacit acknowledgement that those tools provide value) yet they deny others (like Windmill) the right to operate.

This follows the typical Apple ethos of "we can do it better because we're vertically-integrated". However this only works if your product is damn-near perfect. And Apple is infamously imperfect when it comes to software/services.

On top of the competence issue, they also have no real motivation to improve tooling. They know that developers will build stuff no matter how onerous the terms, and no matter how nitpicky is their approval process.

If they re-framed their perspective, and began considering devs as "users" in their own right, then perhaps they, too, would experience the tender love + attention that Apple lavishes on its end users. But this is simply not how they view it, and there is little political will inside Eddy's org to accomplish such a shift.

<comment><USER6> I don't know, if you came in via the acquisition, seems like you would have used the correct company name and not "TestFlight".

<comment><USER7> What is the "correct company name" that they should have used? Was the company not called TestFlight?

<comment><USER8> Looks like the company was called Burstly, and besides TestFlight they also had an in-app ad platform called SkyRocket, and a mobile analytics product called FlightPath.

[https://techcrunch.com/2014/02/21/rumor-testflight-owner- bur...](https://techcrunch.com/2014/02/21/rumor-testflight-owner-burstly-is- being-acquired-by-apple/)

<comment><USER7> TestFlight was acquired by Burstly.

</comment></comment></comment></comment></comment><comment><USER9> I saw the writing on the wall in 2008-2009. A developer created a podcast app that downloaded directly to the phone without syncing through a PC running iTunes. I was running Linux, and I really wanted to buy that app.

But Apple rejected it, so the developer lost out, and I lost out. I could not accept that Apple was preventing me from running an app on hardware I "owned"! I never bought another iPhone after that.

I've been an Android developer since 2010. But now I've realized that Android has similar flaws because it is controlled by one corporation:

=> 30% Play Store transaction fees!

=> Apps delisted without any explanation

The freedom on open platforms is vital; so I will invest more time in them than in closed ones.

<comment><USER10> Things have changed a lot in 10 years.

Even as someone with heavy "tech nerd" needs (e.g. a mosh session that is always open to my server), there is very little I want to do on an iOS device that I can't do with tools provided by developers via the App Store.

<comment><USER11> Except use a different browser engine...

<comment><USER12> The OP said "want to do," though, which is pretty subjective, right? I don't actually care about not being able to use a different browser engine, but I do care about not being able to set a third-party mail client as my default. There are things that I want to do on my iPad that I can't, but not all of them have to do with Apple platform policy -- UIKit's lackluster text editing components are undeniably contributing to the relative suck of Scrivener and Slugline on iOS compared to their Mac counterparts, for instance. (Although one might argue developers might be motivated to work more on homegrown components if the App Store was structured differently; personally, I think Apple's 30% cut is not the worst problem.)

<comment><USER13> >> I don't actually care about not being able to use a different browser engine, but I do care about not being able to set a third-party mail client as my default.

Has anyone actually noticed that if you use Gmail on iPhone and you've got Chrome installed it will use Chrome by default?

PS: I've generally use Firefox though

</comment></comment></comment></comment></comment><comment><USER14> Really this is a problem with any gigantic platform that hosts thousands of people's livelihoods. Apple, Google (not just the Play store; ads, etc.), YouTube (people who make a living off of their channels), Twitch, Uber, Amazon's store, the list goes on.

It's not that (most of) these companies are egregiously terrible at being fair, percentage-wise. It's that their scales are so incomprehensibly massive, and their business interests sufficiently high-level, that people will always fall through the cracks. Always. Entire lives comprise a rounding error. And then in most cases those small businesses have no alternative; they're simply shut down. This is a problem endemic to any sufficiently large platform monopoly (or duopoly, etc.).

</comment><comment><USER15> The reason for his denial, that it's too close to Testflight, that was a reason that always bothered me. Apple disallowing apps that are too similar to their apps, not allowing you to change default apps for core functions, etc., is blatantly anticompetitive.

<comment><USER16> Here's the actual blog / text where the author discusses it:

[https://qnoid.com/2019/07/29/Windmill-on-the- iPhone.html#mai...](https://qnoid.com/2019/07/29/Windmill-on-the- iPhone.html#main)

> YOUR APP IS TOO SIMILAR TO TESTFLIGHT, WHICH CREATES A MISLEADING > ASSOCIATION WITH APPLE PRODUCTS. WE ENCOURAGE YOU TO REVIEW YOUR APP CONCEPT > AND EVALUATE WHETHER YOU CAN INCORPORATE DIFFERENT CONTENT AND FEATURES TO > BRING IT INTO COMPLIANCE WITH THE APP STORE REVIEW GUIDELINES.

Testflight: [https://developer.apple.com/testflight/](https://developer.apple.com/testflight/)

To be honest, I kind of agree with Apple on this one. What does Windmill do that Testflight does not already do? The author states:

> Windmill on the iPhone allows an organization with an iPhone app under > development to make that app available for distribution on any devices they > own, as documented in the iOS Deployment Reference.

So does Testflight.

> It makes use of ad-hoc distribution to make it dead easy to get started as a > small- to medium-size business, with app distribution to half a dozen or so > devices, while progressing towards TestFlight.

Ok, the distribution for test flight might not be "ad hoc", but most end users don't care how it gets published. If it saves a substantial amount of time / clicks, then yeah that might be worthwhile, but based on the product description it's not very clear.

> It allows businesses to distribute their app continuously while still in > development, at regular time intervals, on demand, or as a reaction.

So does Testflight.

<comment><USER17> Even if true, how is that a valid reason for rejection? Imagine MS banning editors in Windows because they do the same thing as Notepad or Word.

<comment><USER18> This is not a good analogy because it doesn't map correctly to reality. Developers are required to agree to these terms prior to enrollment in the Apple Developer Program.

I imagine this is more like that time Google tried to submit the Chrome installer to the Microsoft Store and was rejected because the policy for web browsers in the store is that they must use the EdgeHTML engine [1].

[1] [https://mspoweruser.com/microsofts-rejection-googles- chrome-...](https://mspoweruser.com/microsofts-rejection-googles-chrome- installer-echoes-old-windows-phone-dispute/)

<comment><USER19> Hiding behind "you agreed to a 50 page TOS that would take an entire legal team to assess, and you can piss up a rope if you don't agree" isn't a good look, it also changes absolutely nothing about the fairness of the arrangement.

</comment></comment></comment></comment></comment><comment><USER20> In the old days, if you tirelessly worked away at something for years, you at least had the option to set it up as shareware or give it away. The terms were up to you.

These days, even _those_ options are gone. You can't sell it or install it in any normal way if the platform vendor doesn't like it. You will even need to "notarize" side installs (which will kill truly free software because no one should need $99/year to distribute what used to be free).

And the only thing worse than all the rules is the brutal _inconsistency_ of it all. Had this person lucked into one of Apple's "meh, sounds fine, Approved!" reviewers, there would have been no rejection and no blog post. It is really a crap shoot, where lots of crap gets into the store too.

<comment><USER21> > These days, even those options are gone.

On Android, you can distribute, download, and install .apk files outside of the Play Store [1]. There's also an app called f-droid [2] which acts as a 'store' for some open source apps.

[1] [https://developer.android.com/distribute/marketing- tools/alt...](https://developer.android.com/distribute/marketing- tools/alternative-distribution#websites) [2] [https://f-droid.org/en/](https://f-droid.org/en/)

<comment><USER8> There's also Epic Games who distribute Fortnite through their own Android app store, and it sounds like that's worked out for them. Amazon AppStore can be installed on Android devices, and Samsung has their own app store too.

There are even big companies distributing Android apps directly via downloaded APK - gambling apps aren't allowed on Google Play, but Sportsbet in Australia still did a splashy TV campaign for their Android app APK:

[https://www.youtube.com/watch?v=IYHXmzbVRV4](https://www.youtube.com/watch?v=IYHXmzbVRV4)

</comment></comment></comment><comment><USER22> This article resonates with one thing that bothers me since a few months: the YouTube iOS app is begging for me to subscribe to a premium subscription every time I open it.

This is against the guidelines and an indie app doing that would get removed from the App store but because it's Google I guess it's not being done.

In a democracy the people writing the laws are not the ones applying it (law makers in a parliament v. lawyers in a justice court) and app stores don't respect that rule. I'm OK with Apple making its App Store the only way to download apps for security but the authority taking care of which ones are accepted/removed should be independent and open in some way.

</comment><comment><USER23> On one hand I think there is no argument that can justify Apple not letting me install whatever app I want on any of my devices. I can on macOS, why not on iOS?

Whatever risks there are on iOS are also on macOS. Security is not a great argument. Yes, add Gatekeeper or a red blinking alert if you want, but I should be able to install any app I want without jailbreaking my device. There are many ways Apple could solve this if it wanted to.

On the other hand... it's heartbreaking to see someone spend so much effort on a project and fail, but Windmill was never going to pass through the review process.

Personally I would never bet my future on iOS unless the App Store policies change _drastically_.

<comment><USER24> Playing with Catalina Beta, I have noticed I couldn't run anything from non- recognized developers anymore. Not sure it'd be the same in the official release this month.

<comment><USER25> Just right click the app and pick Open to bypass Gatekeeper and open an unsigned app.

<comment><USER23> Yeah that has worked since Gatekeeper was introduced. Does it still work on Catalina?

</comment></comment></comment></comment><comment><USER26> This thread annoys the shit out of me! What are we talking about?! Y'all are like "man Apple sucks so I develop for Android now"

We only have two options?!? That's fucked up! This is not at all an okay state for software development ecosystem!

There's a virtual monopoly on consumer applications! That's the actual, real problem!

<comment><USER27> You realize apple vs microsoft has been a thing for much longer right?

I think more the concern is they own the stores too

</comment></comment><comment><USER28> I've only developed for Apple's ecosystem for a short period of time, but I could tell you right off the bat that this idea would have raised a few red flags during the app review process.

Sometimes we get so married to an idea that we forget to check in with reality..

</comment><comment><USER29> As someone who was there at the beginning of iOS, got in trouble with Apple, kicked off the store, went from a good income to 0, got back on, got into Android for this reason, yeah, this sucks.

And as someone who still plugs away at it, I will create a MVP and submit that to Apple, to make sure they will like the idea of it.

</comment><comment><USER30> I've never bothered with the App store on macOS, why do people use it? All the software I need I can buy, download and run. For now. I can see a future where Apple turns their laptops into iPads with keyboard, and a mandatory app store. That will certainly be the day I drop Apple hardware and software forever.

<comment><USER31> I know that the apps in the Mac App Store are sandboxed. I trust Apple to handle my financial information. I know I can download the app on as many computers as I want, and share the purchase with my family. I can see reviews before I buy.

Unfortunately, most apps that I use aren't distributed through the Store, and I sympathize with developers who try to avoid it. Most of the apps that do get published tend to be really low quality, often repackaged open source software.

I don't think it's likely that an App Store-only future will come to pass. As Apple has locked down macOS over the past decade, they've always left an escape hatch for advanced users. And iOS has been loosening up little by little.

</comment></comment><comment><USER32> I started quite similarly, doing native iOS development for a good 5+ years.

Fortunately I started playing with React and React-Native for fun. I landed a React-Native position 2 years ago doing both iOS and Android, and am about to switch to a full-stack position, since I also do Django.

The initial idea of owning the whole iOS platform and being able to control every single API worned out after a few years, and I'm glad to be escaping that specialized dead-end.

What drives me to develop front-end apps too is that the threshold to get them into the hands of users is much lower than for apps.

I'd highly recommend you five React-Native a go.

</comment><comment><USER33> I don't know if Apple care; they have enough money not to; but this is the reason I don't, and won't develop for iOS.

Responsive webapps - go for it.

Native code? You're building on someone else's land.

Like, there are endless justifications people come out with, I guess it's because they really want to develop on iOS specifically, or just want money (and there's a lot of it out there), but at the end of the day, it's all gone in a heartbeat and there's literally nothing you can do about it.

I can't even fathom how I'd feel in the author's situation, and not starting sidesteps the issue entirely.

<comment><USER34> I certainly agree with you, but both as a developer and as an end user.

As a developer, writing responsive web apps provides decentralization, not being a slave to a monopoly platform, being able to push frequent updates, etc.

As an end user, I almost always prefer web versions over native apps. I have a very small number of iOS apps installed, like a very good Go game, Chess game, a few development tools on my iPad, and my bank's app.

On my MacBook and Linux laptops I have open source software development tools and Firefox.

I hope I don't sound too political here, but I feel the need to constantly push back against corporations and uphold my rights as a tiny minority (me!, not a democrat, republican, vegetarian, whatever). I sometimes choose to be a paying customer of Google, Apple, Amazon, and Microsoft for services that I highly value, but they don't own my loyalty except for a few products that I am at this time happy to pay them for at this moment in time.

</comment></comment><comment><USER35> This reminds me of the parable of the buggy whip manufacturer. If all your business is in a very niche market, it can evaporate overnight.

[https://www.nytimes.com/2010/01/10/business/10digi.html](https://www.nytimes.com/2010/01/10/business/10digi.html) [https://en.wikipedia.org/wiki/Marketing_myopia](https://en.wikipedia.org/wiki/Marketing_myopia)

</comment><comment><USER36> "I was thinking of quitting the software industry" ... I had this though several times the first 10 years of my career then I realized it's foolish and no other industry have the same benefits (salary, super easy to find a job anywhere in the world, be my own boss, start several businesses without money) Also absolutely no one I know in the industry ever left it!

<comment><USER36> Not sure why I'm downvoted... That's just my personal experience.

</comment></comment><comment><USER37> Also a F/T developer on Apple platforms for about 10 years. Obligatory disclaimer been a fanboy (and called much worse things ) for much longer than a decade. More of the same, was also doing Java-based web dev until the iPad came out. Heck, I have very similar photos from WWDC and tons of blurry cam of people's biz cards I was excited to meet.

Which is why I feel for the guy and hope he solves his burnout problems, but there's a tons of misdirection going on here. Once you strip out the inspo photos…it seems he's trying to build some sort of CI tool he calls windmill – sure, fine. Let's evaluate accordingly…

> I had hacked together a continuous delivery pipeline using Jenkins and > Apple's Command Line Tools and I thought there must be a better way to do > this.

And yet, no real description of what that might be. If you dig into it, he's basically trying to automate allowing contractors to sign code using their customer's code signing certs by having them install something on dev machines + build servers. Which is an interesting experiment…EXCEPT that's 100% against the terms of the Apple Platforms Development Agreement and the iOS / code- signing security model.

Apple's been clear on this for a while now (and seemingly to him): If one exports an iOS app using dev/ad-hoc profiles, it has to be for limited distribution among individuals within the same business entity (very manual, UDIDs, physical connections to Xcode, etc) Or using TestFlight. He never addresses this, and the HN community is happy to make him the misplaced martyr of big bad Apple restricting indie devs. Maybe, just maybe, he's missing the bigger picture. Why could that be...?

> I had just left my job and I was thinking of quitting the software industry > too.

Oh.

> Still, I had Windmill to carry me forward. I took a leap of faith and jumped > into the unknown, being all poetic. Windmill allows me to have freedom of > expression, be creative

Uhh...poetry is nice, but we were talking about CI. As his target audience, I'm not looking for tooling that strokes an author's ego about freedom of creative expression. I am looking for meaningful, well-built utilities. I expect Apple as the OS vendor and App Store operator to maintain the security model so I can continue to build software on a robust and secure platform.

> My dedication to see Windmill through and in the process take control of my > life and destiny. You see, Windmill as I envision it, is more than just a > Mac app. Literally and figuratively speaking. It's hard to put this into > words, no matter how much I try. It's a vision after all. My dent in the > universe.

This is exactly why it's a terrible idea to derive self-worth based on a software project, regardless of what the project is or what platform it's for. When that happens, it's too easy to avoid level headed introspection and retrospection on what one is building.

 _tl;dr_ ; Article's author is trying to publish a misguided iOS CI tool to the App Store. Idea has some big conceptual issues (both UIX and technical architecture), looks like a bad Xcode + TestFlight clone, liberally rips off of Apple's dev toolchain IP, etc. When faced with such things, doubles down on inspospeak rather than accepting the reality check. Now is blaming Apple.

Balance one guy's opinion against the 30+ major iOS deployment/distro/CI/automation tools & frameworks out there on awesome-ios alone. Contributors to fastlane, Carthage, CocoaPods, etc are still going strong and the  dev ecosystem is better for it.

<comment><USER38> Please don't format quotes as code. It disables wrapping and makes them unreadable, especially on mobile. ">" is clear.

Also, your special character at the end is showing up as a black square.

</comment></comment><comment><USER39>  should just go ahead and buy him out, and integrate Windmill's capabilities into Testflight. They probably will eventually anyway. There was just an article yesterday about Sherlocking.

</comment><comment><USER40> > I don't feel motivated knowing what is possible will be subpar, constrained, > unwelcome, unappreciated and on the bad side of Apple. I feel crippled as an > Apple Developer to make the best of all available platforms and > technologies.

In a former life I was an iOS developer, and got my share of App Store rejections. It's important to not take it personally. A rejection letter from the App Store is not some personal judgment of your morals, an insult to your coding ability, or a referendum on how good/useful your software is. It's simply a notice that as it stands, they won't publish your app through the AppStore for [reasons]. You can disagree with the reasons, and reasonable people can debate whether the reasons are fair or not, but you're not some kind of lesser developer just for getting rejected.

Sometimes you can fix your app to comply with their rules, and sometimes the fundamental concept of the app is incompatible with AppStore distribution and you can't. Either way, it doesn't necessarily mean the app is shitty or that you're "on Apple's bad side."

<comment><USER41> No, but it does mean that you are not in control of your own destiny.</comment></comment>


The Sega Saturn and Transparency - <AUTHOR> http://www.mattgreer.org/articles/sega-saturn-and-transparency/ <comment><USER2> This article is not entirely accurate. VDP1 is perfectly capable of rendering half-transparent sprites on top of each other. It was somewhat problematic for 3D games as the drawing algorithm resulted in some overdraw depending on how the quad was warped and there was a pretty big performance penalty, but for 2D games neither seems like an issue. The problem is when you want to use VDP2 for more than just displaying the frame buffer that VDP1 writes to. VDP1 only supports half-transparent mode when drawing in 15-bit color, but VDP2 only supports per-pixel translucency in indexed mode. So you can either have sprites be translucent with respect to each other or translucent with respect to VDP2 background layers, but not both.

The best workaround is to just use VDP1 for everything. I'm not sure why you wouldn't in a cross-platform 2D game given that it would be most analogous to what you needed to do on the Playstation. It didn't have any dedicated hardware for backgrounds so you needed to use textured triangles for everything.

<comment><AUTHOR> Sounds like you worked on the Saturn back in the day? I'm just a fan of the console. I believe what you are referring to is addressed in Low Score Boy's video where he shows transparency between sprites but not VDP2 layers [1].

[1] [https://www.youtube.com/watch?v=f_OchOV_WDg&t=6m52s](https://www.youtube.com/watch?v=f_OchOV_WDg&t=6m52s)

<comment><USER2> > Sounds like you worked on the Saturn back in the day?

Heh, I was only 11 when the Saturn came out. I've been involved in the Sega homebrew/emulation community for a long time though. Mostly focused on the 16-bit stuff, but I've toyed with the idea of working with the Saturn and read some documentation.

</comment></comment></comment><comment><USER3> Last year, I wrote a fairly complete Genesis (MegaDrive) emulator in C++, for education purposes, that contains a full VDP emulation. The VDP in Megadrive is the father of the VDPs on Saturn, so you can have a look to see how it works: [https://github.com/rasky/genemu](https://github.com/rasky/genemu)

The code should be quite easy to read, as I wrote it to be close to what the hardware does, without any additional complexity for optimizations.

<comment><USER2> > I wrote it to be close to what the hardware does

Your code is quite clean, but I'm not sure I'd say the rendering code is all that close to what the hardware does.

For instance, the hardware does sprite rendering in 3 distinct phases (sprite list is scanned for sprites on the current line and the first 20/16 are recorded somewhere, the non-cached half of each of those 20/16 sprites is read and then up to 40/32 tiles worth of pixel data is drawn to the line buffer.

Background layer rendering is a bit different too. The VDP actually renders an extra 2 columns worth of background data (so 42 or 34 total) to enable fine scrolling. Rendering takes place 2 columns at a time to what I believe is a 32 pixel ring buffer. The data in the ring buffer is composited with the data in the sprite line buffer as it's output to the display. The "window bug" is just a consequence of the 2 column coarse scroll granularity and the fact that it literally replaces the Plane A draws to the ring buffer.

This is not intended as a criticism of your code. If you're only going for scanline granularity, most of the above is of little consequence (apart from the window bug) and would only add complexity. That said, I think my emulator, BlastEm[0], is probably a better reference for low-level VDP behavior as it has access slot granularity and mirrors the behavior above pretty closely. The code has gotten a bit messy though. There's also Exodus[1], which has a quite heavily commented VDP core (a bit too heavily for my taste, but I imagine others may disagree).

[0] [http://rhope.retrodev.com/files/blastem.html](http://rhope.retrodev.com/files/blastem.html) [1] [https://bitbucket.org/exodusemulator/exodus](https://bitbucket.org/exodusemulator/exodus)

EDIT: Fixed typo "line scrolling" should have ready "fine scrolling in the 3rd paragraph.

<comment><USER3> > Your code is quite clean, but I'm not sure I'd say the rendering code is all > that close to what the hardware does.

OK you're right, what I really meant is that my code is a clear description of the basic hardware features and how they work, at the level of the detail discussed in the blog post being discussed (OP). As you noticed, I'm not emulating anything sub-scanline.

If you look at the precise_dma_fifo branch, I've attempted some sub-scanline precision timing, while keeping the rendering at the scanline level. The result is encouraging: for instance, the 512C "your emulator suck" screen in Overdrive correctly works (at least in the PAL version IIRC). I think I hit a limit with the way timing was computed in the CPU cores I was using, and then dropped it for boredom. There were also a few regressions, visible in Overdrive itself (which is almost perfect on master, with the 512C screen being the big exception).

> I think my emulator, BlastEm[0]

Thanks for the reference, I'll have a look.

<comment><USER2> > The result is encouraging: for instance, the 512C "your emulator suck" > screen in Overdrive correctly works (at least in the PAL version IIRC). I > think I hit a limit with the way timing was computed in the CPU cores I was > using, and then dropped it for boredom. There were also a few regressions, > visible in Overdrive itself (which is almost perfect on master, with the > 512C screen being the big exception).

Overdrive is tough. It has some nasty race conditions in it and of course the 512C scene requires a reasonable approximation of the reduction in sprite capacity. I don't have it working 100% myself (wanted to get some other timing related things tightened up before trying to chase down the cause of race that doesn't happen on real hardware). I commend you on getting as far as you did.

The moose chase level of Mickey Mania is another good thing to check out as it also requires emulation of the sprite capacity reduction.

<comment><USER3> That works as well, with a really small glitch which I'm not sure if it's present on the real hardware as well. I _think_ my emulation of sprite limits is correct.

</comment></comment></comment></comment></comment><comment><USER4> Even though it's linked to at the bottom, I can't help but be irked that the content of this writeup - even the specific examples - is basically stolen wholesale from someone else's youtube video [1]. The VDP laying simulator is new and cool, and admittedly having this info in blog form rather than as a youtube video provides value, so it's not as though this isn't a worthwhile post or anything...but I wish the author was more forthright about what this actually is. Calling the original video merely "an inspiration and source of lots of information" is borderline intellectual dishonesty.

[1] [https://www.youtube.com/watch?v=f_OchOV_WDg](https://www.youtube.com/watch?v=f_OchOV_WDg)

<comment><USER5> Be that as it may, I can always read text. I can't always sit and watch a YouTube video with sound. Furthmore, YouTube is pretty terrible for searching.

/annoyed at the "Let me turn three sentences into a YouTube video" phenomenon

</comment></comment><comment><USER6> Funny a few days ago I was playing around with OpenEmu and was trying to remember a game I couldn't remember for a long time(Panzer Dragoon). While doing that I found a nice article that talked about how the Saturn was a vastly superior console and how Sega panicked and completely destroyed itself with that specific console. I also remembered the sad story of how I modded my saturn to play panzer dragoon and then left it in my basement when I moved.

[http://www.theguardian.com/technology/2015/may/14/sega- satur...](http://www.theguardian.com/technology/2015/may/14/sega-saturn-how- one-decision-destroyed-playstations-greatest-rival)

<comment><USER7> Rumour has it that while the Saturn was superior on paper, it was really because rumours of the PSX caused SEGA to double up on processors, meaning more performance but harder to tool up for more parallel based development.

Funnily enough we see Sony repeat the same mistake in the PS3, doubling down on a chip architecture aimed at parallelism (cell), while most developers expressed frustration adapting.

Didn't really hurt Sony in the big picture though as much as it hurt SEGA. By the time SEGA got so much right in the Dreamcast era, they were already swimming upstream thanks to the ground they lost with the Saturn.

<comment><USER8> One of the things that sold developers to PSX was that Sony took a huge effort to provide a great SDK with the console, something unusual from the other vendors.

This was another reason they got lots of flame with the PS3, as not only was it hard to program for, the SDK wasn't that great.

Hence why they spent around two years time bringing out a great graphics debugger developed with input of teams like the Gran Turism one, and a middleware for prototyping ideas, PyreEngine.

<comment><USER9> As I understood it, Sony provided some really nice C libraries in their SDK. While Sega initially expected developers to write games in assembly language.

Years later Sonic Team released SGL 2.0, a much nicer high level C API which showed the true potential of the Saturn, but it was too late to claw back the lead Sony had built up.

</comment></comment></comment></comment><comment><USER10> Very cool. I wonder if it is possible for the emulators to understand that mesh sprites are semi-transparent and draw them last in the buffer of interest and blend it on top within that buffer. I suspect these games are so specialized in their effects that this would likely screw things up thogh.

<comment><AUTHOR> Actually Yabause does that if you use its OpenGL graphics interface instead of the software interface. It interprets the mesh command as 50% transparency. I used Yabause to grab the VDP2's layers when writing this, and at first I was a little stumped when the spotlights weren't meshes :)

</comment></comment><comment><USER11> Wow that's a great indication of the composite cable reducing quality, I've never really seen an example of that before

<comment><USER12> > Wow that's a great indication of the composite cable reducing quality...

Yes, but...

Double Fine has this Let's Play series with video game developers called -IIRC- Devs Play. One of the first videos is a playthrough of Aladdin and The Lion King on the Sega Genesis. One of the comments that the guy who worked on both titles makes is that you have to keep in mind the target display device [0] when evaluating the art and VFX choices for a given game. The art for both games -but Aladdin in particular- is _really_ gorgeous, but loses a fair bit of its beauty when viewed as hard-edged pixel art on an LCD screen.

The hard-edged pixel art that we see on modern sets is likely _not at all_ what the art and effects teams who worked on these games intended. Their design decisions took into account the blurring effect of the target display device.

[0] Namely, NTSC/PAL CRT TV sets.

<comment><USER13> I've seen a few 1080p videos (via Dolphin) of a Wii game I worked on a few years ago, and something similar applies. All the cut corners, ignored bugs and LOD distance settings were chosen assuming 640x480. All much easier to spot at 1080p :(

<comment><USER14> What do you think of Dolphin and its team as a console dev?

I expect you have to keep pretty far away from that stuff, the same as ReactOS/WINE had to stay away from MS source code years ago.

</comment></comment></comment></comment><comment><USER15> Whenever I see a highly technical article on HN with many upvotes and few comments, I know it will be quality. Nothing much needs to be said, it stands on its own. Great work.

</comment><comment><USER16> Meta-offtopic: What a nice title in this day and age of SEO-optimized clickbait headlines (e.g. _You 'll Never Believe The Hack Sega Saturn Used to Make a Spotlight in the Mega Man Games!_)...admittedly, I clicked because I don't know the author (or his blog) and had no idea what "Transparency" meant...I figured it about Sega obfuscating specs/sales figures, and that this was going to be another retrospective on how Sega lost the console war. I was wrong but didn't feel misled...the article is indeed about transparency...I just didn't think how an old console achieved transparency effects would normally be a topic for a blog post today (unless it's for a very very old system, like the NES, in which it is fascinating to learn how effects were achieved back then)...It's great to read indepth inspection of such "little" effects, the workings of which often illustrate fundamental concepts about computing.

Also OT: I had never heard of Wintersmith, which the author uses for his blog, but it looks like a pretty capable Jekyll-like site generator in node: [http://wintersmith.io](http://wintersmith.io)

</comment><comment><USER17> I use my Sega Saturn with RGB Scart and a custom line doubler (for use with a modern TV). I actually find the mesh to be a charming SS feature if you will.

Very cool article.

</comment><comment><USER18> The main thing that surprised me in this article was learning that the Saturn had _eight_ processors. Was that an outlier for consoles at the time?

<comment><USER19> This is why a Saturn emulator was thought to be impossible for a long time. I just looked around and there seem to be some Saturn emulators around, but I did not test them and do not know how good they work - does anybody know? :-)

<comment><USER20> There is only one truly good emulator and that is SSF. The others may only emulate a percentage of some of the processors accurately. SSF is by an unknown Japanese author that some believe may have worked at Sega on the Saturn.</comment></comment></comment>


How I made 10% of my side project's incomes with a bot written in 4 hours - <AUTHOR> https://carlchenet.com/how-i-made-10-of-my-side-projects-incomes-with-a-bot-written-in-4-hours/ <comment><USER2> I have flagged this as ridiculous clickbait. "I added a notification email to people who didn't finish signing up and made some extra money" is the gist of the article, and much more mundane.

<comment><USER3> "You won't believe this SIMPLE trick that can INCREASE your MONEY by HOW MUCH?! Percent!"

</comment></comment><comment><USER4> Ah ok so you made a feature for an already existing business model. Expanding and improving your product is surely important :)

</comment><comment><USER5> Is any computer program a bot now?

<comment><USER6> If it's not an app, yup.

I'd have actually read the article if had been titled: You won't believe how I increased sales by 10% with this one simple trick.

<comment><USER7> "There is no program" \--- it's an app, a bot, a micro-service, a nano- service, a REST Hook, a CLI, a Job, a miner --- "programs" are what gramps wrote!

<comment><USER8> Gramps was a programmer too, not a developer.

</comment></comment></comment></comment><comment><USER2> IPFS mirror: [https://www.eternum.io/ipfs/QmeKB8MLrwudksQRUTnADmD3JEwjJqdt...](https://www.eternum.io/ipfs/QmeKB8MLrwudksQRUTnADmD3JEwjJqdtC78M897AYTHWKE)

</comment><comment><USER9> Website slow to load/HN hug of traffic.

cached version: [https://webcache.googleusercontent.com/search?q=cache:eP3WTm...](https://webcache.googleusercontent.com/search?q=cache:eP3WTmZANlUJ:https://carlchenet.com/how- i-made-10-of-my-side-projects-incomes-with-a-bot-written- in-4-hours/+&cd=1&hl=en&ct=clnk&gl=rs)

</comment><comment><USER10> "I made a script to email people, but if I call it a "bot" I will make it to the top of HN in no time. "

Worked.

</comment><comment><USER11> "How I made 10% of my side project's incomes with a bot written in 4 hours"... "then decreased my products lifetime earning by 15% permanently".

Now that it's publicly known, why would anyone sign-up immediately? Surely this addition has now done more harm?

</comment><comment><USER12> It could also be that some or all of these 10% knew or expected that they would get a discount if they did this, in which case it would be a loss of (max) 1.5%.

</comment><comment><USER13> All I see is - if I'm interested in his service, create an account and wait a few days for the promo code...

</comment><comment><USER14> How do niche projects like this gain traction? Is it just about SEO?

<comment><USER15> A lot of people made a lot of money just researching key words, and building a product around that. I'm sure it's a quick flame, but cash can be made for sure.</comment></comment>


The tensor renaissance in data science - <AUTHOR> http://radar.oreilly.com/2015/05/the-tensor-renaissance-in-data-science.html <comment><USER2> Every time I get hear about tensors:

"It's just a multidimensional array!"

Ok, simple enough. But then I go to wikipedia get hit with differential geometry, manifolds, multi-linear algebra, etc...

I mean these are all topics I've been meaning to learn for a while, but each one seems like it would take a year to properly introduce myself to (for which I never seem to have the time).

<comment><USER3> Tensors are most definitely __not __just multidimensional arrays. (this is a pet peeve of mine)

Tensors have geometric meaning just like vectors (just like vectors are not just single-axis arrays). It would be too long to delve into the geometry (especially if it is abstract "geometry" like the geometrical space spanned by the songs in the Pandora database or the space spanned by the faces in a face- recognition software). Instead I will try to give an example:

You all know what rotating a vector means. All the components change in certain way, but the geometrical meaning of this object is preserved in some sense. This is not true for some arbitrary list of numbers. Well, a tensor is just a more complicated geometrical structure that still has very specific rules governing what its components can be and how they can change.

And a counterexample: the Christoffel Symbol is a multi-dimensional array that is not a tensor.

P.S. It is true that it is a very common abuse of nomenclature to call all multidimensional arrays "tensors".

<comment><USER2> It's true though that vectors are basically 1D lists if we're speaking about elements from the vector space R^n. Is it true that tensors are multidimensional arrays if they come from the space R^{m1 x m2 x ... x mn} ?

I'm also confused: do you think about a tensor as a vector from vector space? as a object that maps between vector spaces? or something completely different?

I realize there's a LOT of detail here - just trying to flesh out my 500,000,000 mile view a little more.

<comment><USER4> They use tensors here to mean simply multidimensional array. And as this discussion shows, that choice of words is unfortunate and confusing.

<comment><USER5> What I'm seeing is that physicists and geometers disagree with programmers about what "tensor" means -- not in that their views are inconsistent, but in that the programmers' view is too limited for the things that the physicists and geometers want to do with tensors.

They _also_ disagree about what "vector" and "matrix" mean for the same reason, but they can't really put that horse back in the barn. But "tensors" remain unfamiliar enough that this disagreement can come up whenever anyone says "tensor".

Here's a possible truce:

\- Programmers should default to talking about "arrays"

\- Geometers and physicists should default to talking about "vectors", "matrices", and "tensors"

\- We all generally recognize that some (vectors|matrices|tensors) are arrays, and some arrays are (vectors|matrices|tensors), and it's not the worst thing ever if someone uses one to mean the other

\- We all generally recognize that you can sometimes do _damn cool things_ by using an array as a tensor or a tensor as an array, so there isn't that much benefit in shouting "NO THEY'RE TOTALLY DIFFERENT".

<comment><USER6> Eh, I think as you stack more and more "structure" atop something it becomes less and less appropriate to confuse it with its representation. There is afterall already a completely appropriate, cross-disciplinary term for what "programmers" here call "tensors": multidimensional arrays, or even nd-arrays.

No mathematician will bat an eye if you say that a tensor can be represented by an nd-array---but if you equate them, then you're clearly missing _something_.

<comment><USER7> So... Do "programmers" think of "matrix" and "tensor" as "synonymous"?

edit: that was actually a serious question, because i really don't understand this idea that programmers have a common notion of what a matrix is.

<comment><USER6> I didn't mention the term "matrix". I think it has a much more complex story with respect to common use by "programmers" along with vector. Since linear algebra is such a commonly taught subject there are lots of people with practical working knowledge of matrices. If you don't have the geometric or abstract algebraic perspective here then matrix is almost certainly "2d-array" at first blush, but you'll also admit that there's a sort of non-trivial relationship between these "matrices" and size-conformant "vectors" (1d-arrays) and another one between two size-conformant matrices. This distinction is made from time to time [0][1].

Finally, of course, a matrix is a special case of a tensor. Tensor is such a broader topic that it becomes more and more difficult to talk about it without its geometric underpinnings. This is what I was writing about above.

[0] Is a black-and-white image a matrix? I'd imagine a lot of people would have a bit of a tough time saying yes directly---and for good reason. But there's also a reasonable argument for pretending like it is, and even reasonable arguments for turning it into one!

[1] Numpy distinguishes between nd-arrays and matrices exactly right in that matrices are 2d-arrays only and are imbued with multiplication as composition of maps. In practice, many people I know who are Numpy users just think of matrix as a convenient way to overload *, though.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> Luckily, I was at mlconf last week where Dr.Anandkumar spoke - they called her the "tensor lady" :) She's using tensors in machine learning for a bunch of things -

Latent Variable Models: Training LVM's using local search methods like EM, gradient descent, variational bayes etc. have a bunch of problems - they get stuck on local minima, the algorithms are hard to parallelize with poor convergence. In these cases, tensors yield guaranteed learning using embarassingly parallel algorithms, so faster convergence & can be run on Spark.

Also saw a demo on training 2-layer nets for GMM using tensors, and they learnt the weights rather fast. So using tensors in deep learning shows promise, though the techniques are in their infancy.

One of the challenges the professor mentioned was the availability of open source libraries to do tensor decomposition, which the above methods require.

It was a very successful talk - [https://twitter.com/cdubhland/status/594220061025435649](https://twitter.com/cdubhland/status/594220061025435649)

Tensor slides: [http://www.slideshare.net/SessionsEvents/animashree- anandkum...](http://www.slideshare.net/SessionsEvents/animashree-anandkumar- electrical-engineering-and-cs-dept-uc-irvine-at-mlconf-sea-50115)

<comment><USER9> This isn't quite right. Moment methods (that rely on tensor decompositions) have a few problems:

(i) they have convergence bounds, but in practice need more data than we have available

(ii) they don't do as well as EM usually, but using them to initialize parameters for EM sometimes does better than EM with random initialization schemes

(iii) it turns out variational methods can also be embarrassingly parallelized without losing much accuracy in practice

(iv) right now moment methods don't work for arbitrary graphical models

<comment><USER8> I believe while you are right in general, she is looking at a class of problems for which tensors handily triumph other methods. You might be interested in these papers -

[http://newport.eecs.uci.edu/anandkumar/pubs/powerdynamics.pd...](http://newport.eecs.uci.edu/anandkumar/pubs/powerdynamics.pdf)

[http://newport.eecs.uci.edu/anandkumar/pubs/ProvableNN_spars...](http://newport.eecs.uci.edu/anandkumar/pubs/ProvableNN_sparse.pdf)

</comment></comment></comment><comment><USER10> Does using tensors for storage yield some benefit over the 'panels' metaphor that Python Pandas affords? It seems like the real power of tensors is in the calculus that can be run over them, rather than just them by themselves.

If I want to store lists of numbers, arrays and (linked) lists are basically equivalent. It's when I want to calculate cross- and dot-products that vectors prove especially useful.

The discussions I've seen recently in data science about tensors seems to only be about the storage aspect. And, I suppose, if your libraries _don't_ provide such a storage mechanism, then yes, you'll benefit from adding that capability. But I keep waiting for more from the ML community about leveraging differential geometry full-on. I assume it's out there somewhere, in some shops, but I've not found a lot of discussion about it.

<comment><USER6> There's actually quite a lot of this under the phrase "information geometry". Offhand, I feel like a lot of this work is coming out of Japan.

[http://www.amazon.com/Information-Translations- Mathematical-...](http://www.amazon.com/Information-Translations-Mathematical- Monographs- Tanslations/dp/0821843028/ref=pd_sim_b_2?ie=UTF8&refRID=0E92317F4Y8R9KQWT7JM)

[http://www.amazon.com/Algebraic-Statistical-Monographs- Compu...](http://www.amazon.com/Algebraic-Statistical-Monographs- Computational-Mathematics/dp/0521864674)

<comment><USER10> Oh, awesome, thanks for those links!

<comment><USER6> No problem!

There's also one more book I was trying to find which basically recasts normal linear regression in the geometric projection terms that most people know but that are never emphasized when learning it. The nice part of that method is that then you can extend the geometric interpretation to manifolds and get, I believe, GLM very naturally.

<comment><USER10> Thanks again. I'd found this text[1], but it's a bit pricey! [1]: [http://www.amazon.com/gp/product/0412398605/](http://www.amazon.com/gp/product/0412398605/)

</comment></comment></comment></comment></comment><comment><USER11> Although not a small amount of effort, it really helps to learn geometric algebra notation:

[http://www.amazon.com/Geometric-Algebra-Physicists-Chris- Dor...](http://www.amazon.com/Geometric-Algebra-Physicists-Chris- Doran/dp/0521715954)

Once you get an intuitive grasp of bivectors, it's not hard to "see" tensors as a linear map of bivector into bivector.

<comment><USER12> This is a really great book! It covers a lot of physics and gives plenty of insight on the relation of geometry and physics. It even made me program this library: [https://github.com/cschwan/hep-ga](https://github.com/cschwan/hep- ga) (shameless self-advertisement).

</comment></comment><comment><USER13> He keeps saying tensor when he means pseudotensor. It's an important distinction

Tensors and tensor fields can be even more powerful by expressing non trivial relationships between components that remain unchanged under transformation into other spaces... Although whether that applies here I do not really know.

</comment><comment><USER14> It is great to see all the discussion. We also have source code for topic modeling using tensor methods. Look forward to feedback and further code development [http://t.co/VvWyTmZLps](http://t.co/VvWyTmZLps)

</comment><comment><USER15> Coworker drives a Toyota Matrix, has a license plate frame saying, "My other car is a tensor."</comment>


Aviate: Android launcher by Yahoo now available to all - <AUTHOR> http://aviate.yahoo.com/

<comment><AUTHOR> As recommended by JB Queru, former lead of AOSP (Android Open Source): [https://plus.google.com/+JeanBaptisteQueru/posts](https://plus.google.com/+JeanBaptisteQueru/posts)</comment>


Why healthcare price transparency initiatives are failing? - <AUTHOR> http://www.quora.com/Why-healthcare-price-transparency-initiatives-are-failing?share=1 <comment><USER2> You are right about consumers being the key. My first 3 startup attempts were enterprise health... thought I knew insides of the system enough to be able to sell them on new tech/solutions that can change care for better.

Wrong. I found people willing to say they will adopt new tech, but fundamentally there was no incentive to actually take the steps.

To be fair, consumers are also not 100% motivated to be more accountable for their health. Delayed gratification may be a reason. But still, they will change faster than the establishment. And that may force the health establishment eventually.

Even well-researched, clinical trial based evidence from established research teams takes >decade to get entrenched into medical practice. Check this out: [http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1395794/](http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1395794/)

Sigh.

</comment><comment><USER3> Because non-transparency is a multi hundrend billion dollar industry -- with the financial, media, and political power that comes from that?

<comment><AUTHOR> Unfortunately you are right, but this does not help us consumers to spend less on medical. If we do not grab this issue at heart, prices will continue to move up together with deductibles and consumer with insurance will not get care when needed. It is not good for the society. we are the only force to try to change that by publishing all the prices in our app. Please support us [https://goo.gl/PvPypQ](https://goo.gl/PvPypQ)

</comment></comment><comment><USER2> In one word, the reason is incentives. I felt compelled to write details down on quora..

<comment><AUTHOR> Very true Pallav and incentives are coming in the for of carrot (save money when you shop) and stick (High deductibles). I think we agree that before the consumer gets involved, nothing will happen to improve the system. One difficulty with these incentives is that it calls for new behavior and a minimum of understanding of how Healthcare work. I believe that the stick will finally win to get consumers to move.</comment></comment>


We are living in instant messenger hell - <AUTHOR> https://petermolnar.net/instant-messenger-hell/ <comment><USER2> Hey :) Did you tried modern XMPP clients like Conversations, Dino and Movim (I'm the maintainer of this one)?</comment>


5 mos. development already paid for what would you do with it? - <AUTHOR>

I'm getting laid of from my developer job and getting paid for 5 mos. I could go get another job but I'm trying to find something better than another cube job. I have developement experience in web and mobile. I'm looking for a cofounder that could put in the time/investment to do the sales/marketing side of a business. If you have an idea you could use about 50k in developement for an MVP that's already paid for, let's talk. <comment><USER3> Instead of looking for someone else with an idea I would just build for something you love. For example, lets say your hobby is hiking. Build the hiking app you wish existed. Imagine the future, 10 years from now - <USER2> would a hiking app do? Just try to build that now.

If you try to build someone else's idea the passion will be hard to find. Your idea, your passion will be what keeps you up at midnight when you would rather head off to bed.

<comment><USER4> > If you try to build someone else's idea the passion will be hard to find.

Having been hired by a few entrepreneurs as "the business guy", and having brought on a few true technical co-founders, I've experienced this nearly every time...it's hard to find passion for someone else's idea.

That said, I'm not convinced it's a bad thing. Just something to be aware of.

Even though my technical co-founders weren't truly passionate about the space(s) we were in, they quickly got passionate about some of the technical problems we were solving. And even though I was never as passionate about the space as the domain-expert founders I was working with, I love getting ideas off the ground and in the hands of paying customers.

To further @keithwarren passion-exploration post, if money was no object, what would you spend your time doing?

That's probably the best question I ever heard from a mentor and the reason I'm in the space I'm in today (using technology to democratize philanthropy).

</comment></comment><comment> Alex-Galapagos emailed you</comment>


Korean carriers to launch broadband-shaming 300Mbps network this year - <AUTHOR> http://www.engadget.com/2014/01/20/sk-telecom-lte-a-300-mbps/?ncid=rss_truncated <comment><USER2> On the other hand, South Koreans are required (by law) to use Internet Explorer 8 or earlier for online transactions[0], and they are required to register for many (perhaps all) websites with user-generated content using their unique national ID number (sort of the Korean counterpart to a Social Security number)[1].

This is due to a law passed in the late 90s, in the name of security. Perhaps it once worked, but it clearly doesn't today: [http://www.zdnet.com/bank-data- of-20-million-customers-leake...](http://www.zdnet.com/bank-data- of-20-million-customers-leaked-in-south-korea-7000025332/)

They have very extensive censorship of websites - not "just" pornographic, but also those that are "subvserive" or "harmful to minors". In combination with the aforementioned "citizen identity number" law, this has been used to suppress political dissent and/or protest.[2]

Much as I wish I could do better than my molasses-esque Time Warner connection at home, I'll savor my freedom in the US to the extent I can.

[0] [http://www.zdnet.com/south-koreans-use-internet-explorer- its...](http://www.zdnet.com/south-koreans-use-internet-explorer-its-the- law-7000022827/)

[1] (There are exceptions, and the full realities are a bit more complicated, but it's bad enough that virtually everyone uses some form of Internet Explorer: [http://www.washingtonpost.com/world/asia_pacific/due-to- secu...](http://www.washingtonpost.com/world/asia_pacific/due-to-security-law- south-korea-is-stuck-with-internet-explorer-for-online- shopping/2013/11/03/ffd2528a-3eff-11e3-b028-de922d7a3f47_story.html))

[2] [https://en.wikipedia.org/wiki/Internet_censorship_in_South_K...](https://en.wikipedia.org/wiki/Internet_censorship_in_South_Korea)

<comment><USER3> > Internet Explorer 8 or earlier for online transactions

This could actually be incredibly safe and a good idea. If you only use IE for banking, and use the other browsers for everything else, you will be a lot more secure than someone who uses Firefox or Chrome for both.

<comment><USER4> Just a reminder, this /is/ HN. "[using IE8 or earlier] ... incredibly safe and a good idea" \-- them's fightin' words. Now, I'm not going to say that diversity isn't a bad thing, but I will say that diversification using older browsers and ActiveX controls where everyone is forced to use the same browser and so is not actually diverse at all ... well, that's where things go south. If most people set their default browser to non-IE and as a consequence are forced to type in their bank's URL directly rather than click a link to get there, fine. If most people choose, unwisely, not to do so, then they're more vulnerable to phishing attacks that additionally might add malware. If most people are required to use Windows, and therefore cannot use Mac or Linux under the current implementations, then again that restriction on diversity is bad for the self-defence of the system as a whole.

Finally, what you're really getting at is "use Incognito tabs for banking," as those by default don't load plugins that can sniff or execute on pages nor retain cookies for later CSRF. Sadly, safety is a moving target and browsers and OSes have moved on since late 1990s.

</comment></comment></comment><comment><USER5> After travelling/living in Southeast Asia for 8 months and paying between $5-10/month for LTE speeds that are consistently more reliable and quicker than in the USA it makes me shudder when I get my bill every month for $100+ for two lines. Granted there are differences i.e labor costs and total land area coverage, but on the whole the price difference doesn't make up for it.

<comment><USER6> A guy visiting from nowhere in Australia was telling us how he gets twice the minutes, unlimited texts and twice the data on LTE+ for about 1/2 of what it costs in the USA.

<comment><USER7> you don't even get edge when you're in the middle of nowhere in Australia, much less LTE.

e.g: [http://www.telstra.com.au/mobile-phones/coverage- networks/ou...](http://www.telstra.com.au/mobile-phones/coverage-networks/our- coverage/)

<comment><USER3> You don't get anything in the middle of Australia, because nobody lives or goes there. It is a desert.

</comment></comment></comment></comment><comment><USER8> Must be nice to live in a first world country.

<comment><USER9> Note that South Korea is smaller than the state of Kentucky. I'm sure geography has a small part to do with it.

<comment><USER8> I'm sure it does. I'm from West Virginia, by the way, where federal stimulus money for broadband expansion ($24 million) got funneled to Verizon Network Integration to put routers in libraries. They used $22,600 dollar Cisco 3945's.

I'm sure corruption, regulatory capture, incompetent politicians, and oligopolies have something to do with it too.

[http://www.wvgazette.com/News/201205050057](http://www.wvgazette.com/News/201205050057)

<comment><USER9> I remember this story when it came out, but a single citation involving Cisco networking equipment is in no way relevant when comparing an already culturally wired country smaller than the state of Kentucky, and trying to extrapolate that should somehow be a viable option next month for Comcast to start laying down multimode fibre across 3.7 million square miles of land.

Yes Google Fiber has been a great success where it has been deployed so far, but that has relied on local government cooperation, incentives, right of ways, also neighborhood signup rates > $X for the rollout to even begin to happen. So just because South Korea can do this doesn't mean you should think somehow Comcast can roll 300 Megabit lines to the whole country.

Or you can believe they can roll that out to your local densely populated metro block, where 99% of your neighbors will then laugh at the price, and you can subsidize their non-payment with your $500/month bill.

<comment><USER8> First of all, I don't think anyone (least of all Comcast) is going to roll anything out "next month." This is not a new issue for the US (having crappy broadband). This article [1] talks about what came of the $200 billion the government gave away to telcos to help build out our infrastructure since 1990 (spoiler: nothing came of it)... and the article is from 2007 so the total giveaway is even more at this point. So I don't think this is a new problem that we are suddenly looking at "next month" solutions for.

Secondly, there is no incentive for anyone (again least of all Comcast) to roll out anything next month, next year, or next decade that would significantly improve broadband in the US. For that you would need meaningful competition. We don't have that here. That's why idiots like TW cable's CFO can say things like "nobody wants gigabit internet" [2] and all that happens is the tech media gets ruffled feathers for a few days. Why on earth would Comcast roll out anything other than what they already have? What are their customers going to do if they don't like it? Go to satellite? Slower but maybe more stable DSL?

Yeah, it was one anecdote, but it was one that highlights the political incompetence and corporate graft that help hold us back from having nice things.

[1] [http://www.pbs.org/cringely/pulpit/2007/pulpit_20070810_0026...](http://www.pbs.org/cringely/pulpit/2007/pulpit_20070810_002683.html)

[2] [http://www.wired.com/wiredenterprise/2013/02/time-warner- cab...](http://www.wired.com/wiredenterprise/2013/02/time-warner-cable/)

<comment><USER9> > For that you would need meaningful competition. We don't have that here.

We also don't have a majority of customers who want to pay more than $40/month for internet.

Comcast has been rolling out decent internet, I currently have 105 megabit internet and I'm in a suburb, but it isn't cheap. I think many in the HN bubble over estimate the number of people who they think will pay for the monthly fee it would take for a company to roll out super fast internet in a place as large as the USA, even if it is just limited to major cities and their suburbs.

<comment><USER8> Inside or out of the HN bubble, if Comcast had real competition you wouldn't be paying nearly as much for your 105 megabit connection. You're kinda making my point.

<comment><USER9> Sure about that? I'm not sure if a country the size of 1/50th of the USA can be easily comparable when it comes to physical infrastructure sunk costs.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> I get 1 Gbps for less than $20 where I live (Europe), and unlimited bandwidth, but I'm not bothering with the extra speed yet because I'm going to need a good 802.11ac router and an SSD-enabled laptop to take full advantage of it.

So I'll wait a year longer or so until 1+ Gbps Wi-Fi arrives in laptops and also in routers (second wave of 802.11ac routers will do that, first wave isn't quite there yet). By then SSD prices should be a little lower, too.

<comment><USER11> Which country/area would that be?

<comment><USER12> I'm pretty sure he's talking about Romania. You can read more about this here [http://business-review.eu/featured/rcs-rds-offers-highest- fi...](http://business-review.eu/featured/rcs-rds-offers-highest-fixed- internet-speeds-on-the-market-starting-november/) and a reddit discussion on the subject at that time here [http://redd.it/1nz2ig](http://redd.it/1nz2ig) (many comments)

</comment></comment></comment><comment><USER4> "Broadband-shaming 300Mbps"? Speak for yourself, as that happens to be my current broadband speed over plain copper cable. Sure, I'm living a few years ahead of most people, but it is a lot easier to roll out LTE than other forms of Internet. I just wish that, like Wi-fi, your service didn't degrade as quickly the more people connected to it. I remember back in the day, when no one had LTE up here in Canada, it was routine to see speeds of 60-150mbps. Now, less so. Depends on where you are, what device you have, a whole host of factors. Of course, more spectrum is always nicer, not so much for marketing purposes as here but to ensure there's enough space for everyone to get more of the shared pool of bandwidth available. I'm sure if I ran LTE speed tests under a tower at 2 AM I'd get some amazing results too. :)

<comment><USER13> I used Sprint's 4G network before there were any 4G phones. It was wonderful. Then the 4G phones started being launched, and it didn't work at all. It was kind of sad, because the speeds were great.

<comment><USER14> Back when Xohm was still a thing (and still only in Baltimore), I did the trick of ordering a Xohm modem and using a billing address in Baltimore while physically using the device in Dallas. The IP and reverse DNS showed I was connecting to a Sprint 4G-enabled tower well before Dallas was supposed to have service.

It was screamingly fast. I think I topped out at 65Mbps down and 40Mbps up. It's amazing how fast the network goes with no other load.

<comment><USER4> Yeah, it's too bad carriers always speed test _before_ they launch the network, then say those are the speeds you get. That it also depends on which bands your phone supports if GSM, is also interesting. I suspect in the near future I'll be upgrading phones not because they're any faster for CPU, but because they support newer networking bands and technologies (like cable modems being DOCSIS 3 8x4, 16x4, 24x8 and soon DOCSIS 3.1 ...)

</comment></comment></comment></comment><comment><USER15> Yeah, right. What are they going to do with 300Mbps to a smartphone? 4k video? That means that 4k phones are coming soon, too, right?

Right: [http://bgr.com/2013/11/06/samsungs-4k-smartphone- displays/](http://bgr.com/2013/11/06/samsungs-4k-smartphone-displays/)

<comment><USER16> Why to smartphones? Imagine a laptop with this built-in. No more hunting for and connecting to insecure WiFi in cafés. Background iCloud backups/Mail sync when the laptop is in sleep.

</comment></comment><comment><USER17> What is so Broadband Shaming about it? In Reality if you live inside even a small size village you are very unlikely to get 300Mbps to yourself. Factor in radio frequency distortion I would be surprise if you could even get a constant 100Mbps.

Unless you are from US where i heard broadband are pretty bad.

</comment><comment><USER18> 3rd generation rewrite of

[http://www.sktelecom.com/en/press/detail.do?idx=1054](http://www.sktelecom.com/en/press/detail.do?idx=1054)

</comment><comment><USER19> This is an iirelevancy. You'll never see this type of speed in the real world, since to do it they're combining 3-channels. Meaning 1 tower, servicing 1 person per antenna sector will manage it, but that'll be it.

<comment><USER13> I believe the speed increases are due to better beamforming algorithms, which use multiple fixed antennas to behave like one or more directional antennas at the same time. The idea being that the antenna only sends power in a small cone to your device and only hears responses from inside that small cone. This lets you fit many users onto the same frequency space, since they can't hear each other and each have the full slice of spectrum and time to themselves. It's space multiplexing, as opposed to time and code multiplexing that's currently widely used.

(The problem is that this requires really good digital signal processing. Normally we make directional antennas by putting bits of metal around the driven element that pick up the signal and re-radiate it out of phase. These work really well, and you probably have on on your roof to receive TV signals. But beamforming does this all in software, using a number of actual antennas to radiate out-of-phase to increase power in a certain direction. The reverse is true for receive; correlating phase information to "hear" a signal only from a certain direction. One direction is easy, but 100 directions is hard. That's where better DSP equates to more "bandwidth" for mobile phones.)

802.11n contains rudimentary beamforming, but the state of the art for software signal processing on $5 commodity chips is not amazing, and of course, the 2.4GHz ISM band is basically unusable because there is so much interference from non-beamforming (etc.) devices. 802.11ac improves this incrementally with better hardware. So it makes sense that at carrier grade budgets and with dedicated spectrum, good beamforming is possible. If so, and that's what this is, I totally believe 300MBps.

802.11ac has a 256QAM mode that can do almost 1Gbps. Of course, on the 2.4GHz band, you'll never hear 16 levels of signal over all the noise. But with dedicated spectrum, things change.

(This is mostly secondhand knowledge, so take it with a grain of salt. My cubemate at work is a WiFi expert :) I'm just a ham who is happy making QSOs at 31.25baud with PSK31.

</comment></comment><comment><USER20> Having lived in Korea, it really doesn't matter if they make it 1000mbps. Porn is blocked (thanks to the hardworking volunteer force of Korean moms and grandmas keeping children and husbands safe from the filth that would make Confucius nosebleed), freedom of speech has consequences (since your social security number is required), much of the Korean web space is still stuck in early 2000s with an odd hint of George Orwellian theme to it.

I think that I would have the same level of joy if I heard that North Korea decided to make 1000Mbps line for their dedicated network of Juche websites focusing on every aspect of Dear Leader.

I'm guessing they require you to enter your korean social security number in hopes that it would not be possible for a North Korean spy to infiltrate the landscape of online shopping and girly music videos. Ironic, because ActiveX vulnerabilities give North Korean spies far more data and with far more ease.</comment>


Senior Yahoos To Jerry: Please, Please, Please Get This Over With - <AUTHOR> http://www.alleyinsider.com/2008/4/senior_yahoos_to_jerry_please_please_please_sell_to_microsoft

<comment><USER2> Waiting for the severance is a good idea. I worked at DoubleClick when Google bought them, but hated the job and quit before they ever got their act together and pulled the trigger. I figured they were going to fire everyone anyway.

Well, I was right, they did fire nearly everyone ;) but in such a way that most people got like 7 months of free money. For 5 months they have to show up and work (on personal projects; you can't get fired for not working, you're already fired), then they get 3 months of free money after that.

Not a bad deal. I was happy when they gave me 2 weeks of free money after I quit. 7 months would have been a nice vacation. (I wish I had stayed so I could try to get fired after being fired. That would have made for a good story :)

</comment><comment><USER3> On a side note, I love how Yahoo! totally gamed their financals by laying off 2000 employees the previous month to save costs and artificially drive up their valuation.

<comment><USER4> Weren't those the layoffs that were announced before the buyout offer?

<comment><USER5> Yes. [1]

[1] January 22, 2008. [http://www.nytimes.com/2008/01/22/technology/22yahoo.html?_r...](http://www.nytimes.com/2008/01/22/technology/22yahoo.html?_r=1&ref=technology&oref=slogin)</comment></comment></comment>


Why We Hurt Each Other: Tolstoy's Letters to Gandhi - <AUTHOR> http://www.brainpickings.org/2014/08/21/leo-tolstoy-gandhi-letter-to-a-hindu/ <comment><USER2> Almost by accident I started reading 'The kingdom of God is within you' by Tolstoy a couple of months ago. I haven't read anything by Tolstoy before.

And boy, was I in for a surprise. It was a very powerful and inspiring book.

Being very fond of the counterculture, the hippy movement, free society, open source, tech anarchy, etc - I was very surprised to see him talking about these concepts with such clarity back then.

And it also changed my outlook towards 'Christianity', which I dismissed before as just a religion. Tolstoy carefully builds the idea of Christianity as a philosophy of non-violence, anarchy and peaceful disobedience, claiming that _that_ was the true teaching of Jesus Christ and the reason why Christians have been persecuted and killed everywhere - before the whole thing was transformed into a dogmatic religion.

Tolstoy argues that in order to truly renounce violence, one must not support it in any way, including through proxies - the State (which is backed by the military), the Government and Legal System (which has the police, the judges and the prisons), the corporations (which support the state and use violence to aquire resources), stay away from the Church and religion, Patriotism (which is a brain washing methodology) and so on.

From the perspective of the state, the church, etc, those ideas are very dangerous.

But from the standpoint of humanism, respect for life, the _right way_ to live, these ideas are the truth.

Unfortunately, some people inspired by Tolstoy, like Ghandi or Martin Luther King or Lennon have been murdered, but only after fundamentally changing our society for the better.

Tolstoy himself was excomunicated from the Orthodox Church and burried on a hill.

There is inherent danger in telling people to just love one another. This generates fear and hatred in some.

I hope we'll slowly come to accept the idea more and more.

Anyway, if you haven't read him, please do yourself a favor, the books are available for free.

<comment><USER3> Woah, I should read Tolstoy. I had no idea he was into this stuff.

I've recently been rediscovering Jesus from a new perspective, having grown up with a typical American Christianity and abandoned it as a teenager.

I've been finding that a lot of people from all kinds of backgrounds see the Jesus story and "Christianity" from this other perspective, where his teachings are universal and very subversive as you describe, and quite unlike the christian religion that we see. I've started to see the "kingdom of God" Jesus talks about in all kinds of people from all backgrounds -- including atheists and people who are still in the christian religion, and in all other religions or non-religions. Basically, I'm learning that people are people, and that all people have something good at their core that can be nurtured and brought out.

I've found Jesus' teachings and example extremely compelling to what I think of as the "real" me inside. And it's actually radically changed my life in 2015, in terms of how I spend my time and how I react to the things that happen to me.

What if I really could love my neighbor as I love myself? (And genuinely love myself, to start with.) Then nothing could really harm me.

It's really exciting to see these ideas popping up all over the place in various forms. I no longer see there being one group that is "in" while all the rest are "out", but rather that all of us have bits of this "kingdom of God" in us regardless of what we call it, and it's good and can grow, and it doesn't actually matter what we call it. The point is that it always brings love, joy, peace, patience, kindness, goodness, generosity, gentleness, etc, which are universally good things that we all desire deep down.

<comment><USER4> Actually this topic is kind of signature for Tolstoy. There's even a special word for that: "толстовство"[1].

On the other hand, the word "толстовство" and especially "толстовец" (that is somebody, who is participating in Tolstoyan movement) has somewhat derogatory connotation in Russian today. Not without a reason, I guess. Many have been noticing that Tolstoy is kind of a "poser" and often his words contradict his actions, aren't honest — quite often nothing more than beautiful words, actually.

I, personally, agree with many of these criticisms, so I don't consider Tolstoy the best teacher and inspirer of that matter.

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

<comment><USER5> Yes, anybody who sees Tolstoy as some saint ought to read Troyat's excellent biography of him. Tolstoy was a great novelist and a powerful personality, but a vain and hypocritical man.

<comment><USER6> On the other hand, we can still read the great novels and do with them what we wish, and the man is long dead. So maybe that hipocrisy isn't that relevant these days?

</comment></comment></comment></comment></comment><comment><USER7> > a return to our most natural, basic state, which is the law of love

I'm sorry, but this is hopelessly naive. All living things are the products of evolution, and hence competition and the drawing of boundaries between "us" and "them" (i.e. between the phenotype of the reproducing genome and the environment that is used to provide the resources to reproduce) is an inherent part of all life. To be sure, cooperation can be beneficial to survival, but there is nothing in the laws of physics that insures that the cooperative boundary should be the entirety of one's own species. Peaceful coexistence is hard precisely because it is NOT our most natural, basic state. This is not to say that peaceful coexistence is not desirable or achievable; it is both. But pretending that it is a "natural state" is the left-wing equivalent of climate-change denialism. We will not solve the problem of global warming by denying the laws of physics, and we won't solve the problem of inter-human conflict that way either.

<comment><USER8> The "most natural, basic state" refers to the ultimate dissociative mental state that Spiritualists aspire to <[https://en.wikipedia.org/wiki/Enlightenment_(spiritual)>](https://en.wikipedia.org/wiki/Enlightenment_\(spiritual\)>) ... and not to the evolutionary base (which is comprised of both loving and savage instincts). The key thing to understand here is that dissociating from something (eg: savage instincts) is not the same as eliminating them; the "most natural, basic state" is a manufactured one where the savage instincts are minimized and the tender ones (love) are maximized to the nth degree.

<comment><USER7> That's not consistent with what Tolstoy said (or at least what the author says of what Tolstoy said -- I haven't actually read Tolstoy). The author says that Tolstoy "advocates for a _return_ to our most natural, basic state, which is the law of love." [Emphasis added.] Mankind can't _return_ to this state because mankind has never been in this state. We may some day in the future be in this state (I hope so) but we haven't quite gotten there yet. And, I submit, denying this won't help.

<comment><USER8> Well, I get that. To be as blunt as possible for comprehension - Tolstoy and the like, when they are busy living "the law of love," are actually _dissociating_ themselves from the savage instincts (while identifying with the tender ones), which gives rise to the delusion that their newfound identification is somehow our "most natura, basic state" that other people need to _return to_.

This is the same old Spiritual nonsense being regurgitated by the so-called secularists. For example, Zen masters talk about (returning to) one's "Original Face" which is the same thing, ultimately. However just because some popular person says something doesn't make it so. As we know that human nature, deep down, is comprised of _both_ the savage (fear, anger) and tender (nurture, desire) instincts - it is simply not possible at the same time for our "most natural, basic state" (that we supposedly had in the golden past and have lost since then) to be exclusively tender (love) in nature unless, of course, one is either smoking something or sitting cross-legged to some dissociative state.

> We may some day in the future be in this state (I hope so)

And I too hope we will figure out a way to live in complete peace and harmony. But denying human nature — as the likes of Gandhi, Tolstoy, Buddha are wont to do — ain't gonna get us there. We can already get a peek at what happens when people deny human nature by observing modern day social politics.

<comment><USER9> I like your comment because it is a good antidote for people who suffer from a naive and dull sort of adoration for saintly, detached love. But there is also a detachment which comes from embracing and surrendering to human nature. This is the difference between the saint and his admirers.

</comment></comment></comment></comment></comment><comment><USER10> Tangential, I'm reading "War and Peace" right now for my book club, very difficult to slog through; just curious for peeps who've read either "War and Peace" or "Anna Karenina," what is so special about Tolstoy's novels, that makes it different than say their Western counterparts like say "Les Miserables" or "Pride and Prejudice"?

<comment><USER11> Well, you stated the obvious difference: one set of novels is Western and Tolstoy is not. His sensibility and his viewpoint are Russian. Embedded in his works, especially Anna Kerenina in my opinion, is a prescient understanding of history and if you are the type to infer this sort of thing, human nature.

It's rather interesting that you include Pride and Prejuidice in your examples because that's a novel that a non-westerner would not understand fully. It relies too much on our embedded understanding of a very specific social structure, culture, class dynamic, etc. to the point where even an American who hasn't watched a fair amount of PBS might not fully appreciate it.

It's probably worth picking up a lecture series on the novels and another on Russian history.

And I'm not going into all the deeper, more philosophical content many see in the works.

</comment></comment><comment><USER12> Fasting/roaming half-naked in streets are cheap tools/tricks used by Gandhi to INSULT (not defeat) British;

British generosity?

Otherwise in Independent India protesters are thrashed/thrown in jail;

</comment><comment><USER13> I have seen the future, brother; it is murder.

—Leonard Cohen, "The Future"

</comment><comment><USER14> >His words bear extraordinary prescience today, as we face a swelling tide of political unrest, ethnic violence, and global conflict.

Doom sells but that doesn't make it true. Someone should send him a copy of Pinker's book.

<comment><USER15> I assume you're referring to Steven Pinker's The Better Angels of Our Nature, which has faced a number of criticisms, including his analysis of the data and what - in his mind - constitutes "violence".

<comment><USER16> If you could summarize or link to those critiques, I would be interested.

<comment><USER15> That wikipedia page is good.

I also think expanded notions of violence are appropriate, though excluded from Pinker's analysis. For example, if a rich country COULD provide equal, high-quality health care to all its citizens, but doesn't because the health care industry (hospitals, insurers, physician groups, pharma) lobbies against such outcomes, and excess morbidity and mortality result, that is a kind of violence, though one that Pinker is not interested in.

Or North Korea (or to a lesser extent China), which maintains relatively low levels of violence, but is simultaneously committing abuses against its population.

The idea that fewer people (or a smaller proportion of people) are smashing their neighbor's head in with a rock doesn't necessarily constitute absolute "progress" to me (though it would be a nice development... provided it was true... which it might not be).

<comment><USER11> I don't disagree with those very insightful criticisms. I also recognize that Pinker is making a very sweeping argument in his book, one that he likely can't fully back up.

But it feels like we're expecting a lot from Pinker. Basically a full analysis of all types of coercion that can possibly occur. That seems a basically impossible task to undertake. Drawing the line somewhere does not seem unfair.

<comment><USER15> Pinker takes a strong normative position on what constitutes violence and what does not. I think if he had said, 'this is how I'm defining violence, and here's why, but if you were to define it another way, you might reach different conclusions', I'd feel less critical of his claims. To me, his argument is too unambiguous and he ultimately overreaches. (And - further - what does and does not constitute coercion or violence in the 21st century is the truly interesting question.)

If his conclusion had been, maybe we're seeing a drop in a particular form of violence and we're not entirely sure why but here are my thoughts (ahem, development of the atom bomb perhaps?), I would have agreed with him, but he wouldn't have sold all those books...</comment></comment></comment></comment></comment></comment>