Profile

Cover photo
Ken Wong
28,978 views
AboutPostsReviews

Stream

 
+Google Drive, why is Google Docs on iOS unable to edit tables in Google documents, but perfectly happy editing tables in Word documents stored in my Google Drive? :-(
1
Add a comment...

Ken Wong

Shared publicly  - 
 
 
HTC and several Chinese manufacturers have a problem with GPL compliance and release source code "by popular demand", rather than "accompanying" the device as per licensing requirements.  They don't seem to understand that GPL == freedom of speech. 

If we were to petition The Whitehouse to enforce General Public License compliant source releases on Linux based devices, who would be the authoritative body and what would we ask for?

Could we ask for FTC to evaluate source and build it per instructions provided by the manufacturer as a part of the US clearance?  Would it be possible to have this be a checkbox on their device checkout/teardowns? 
20 comments on original post
1
Add a comment...

Ken Wong

Shared publicly  - 
 
 
I'm an electronics inspector in my daily job. When I saw the Nexus 4 internal shots, I couldn't help but notice the design issues and potential problems. Here's a writeup on the #Nexus4 internal shots.
24 comments on original post
1
Add a comment...

Ken Wong

Shared publicly  - 
 
Cheap Linux ARM powered work computer, coming up?
 
I couldn't help it but I now have +openSUSE running on my +ARM powered Chromebook! Thanks to +Olof Johansson for the guide :-)
12 comments on original post
1
Add a comment...

Ken Wong

Shared publicly  - 
 
 
Well, I see that people have figured out why I'm quitting AOSP.

There's no point being the maintainer of an Operating System that can't boot to the home screen on its flagship device for lack of GPU support, especially when I'm getting the blame for something that I don't have authority to fix myself and that I had anticipated and escalated more than 6 months ahead.
169 comments on original post
1
Add a comment...

Ken Wong

Shared publicly  - 
 
 
Discussions about DRM often land on the fundamental problem with DRM: that it doesn't work, or worse, that it is in fact mathematically impossible to make it work. The argument goes as follows:

1. The purpose of DRM is to prevent people from copying content while allowing people to view that content,

2. You can't hide something from someone while showing it to them,

3. And in any case widespread copyright violations (e.g. movies on file sharing sites) often come from sources that aren't encrypted in the first place, e.g. leaks from studios.

It turns out that this argument is fundamentally flawed. Usually the arguments from pro-DRM people are that #2 and #3 are false. But no, those are true. The problem is #1 is false.

The purpose of DRM is not to prevent copyright violations.

The purpose of DRM is to give content providers leverage against creators of playback devices.

Content providers have leverage against content distributors, because distributors can't legally distribute copyrighted content without the permission of the content's creators. But if that was the only leverage content producers had, what would happen is that users would obtain their content from those content distributors, and then use third-party content playback systems to read it, letting them do so in whatever manner they wanted.

Here are some examples:

A. Paramount make a movie. A DVD store buys the rights to distribute this movie from Paramount, and sells DVDs. You buy the DVD, and want to play it. Paramount want you to sit through some ads, so they tell the DVD store to put some ads on the DVD labeled as "unskippable".

Without DRM, you take the DVD and stick it into a DVD player that ignores "unskippable" labels, and jump straight to the movie.

With DRM, there is no licensed player that can do this, because to create the player you need to get permission from Paramount -- or rather, a licensing agent created and supported by content companies, DVD-CCA -- otherwise, you are violating some set of patents, anti-circumvention laws, or both.

B. Columbia make a movie. Netflix buys the rights to distribute this movie from Columbia, and sells access to the bits of the movie to users online. You get a Netflix subscription. Columbia want you to pay more if you want to watch it simultaneously on your TV and your phone, so they require that Netflix prevent you from doing this.

Now. You are watching the movie upstairs with your family, and you hear your cat meowing at the door downstairs.

Without DRM, you don't have to use Netflix's software, so maybe just pass the feed to some multiplexing software, which means that you can just pick up your phone, tell it to stream the same movie, continue watching it while you walk downstairs to open the door for the cat, come back upstairs, and turn your phone off, and nobody else has been inconvenienced and you haven't missed anything.

With DRM, you have to use Netflix's software, so you have to play by their rules. There is no licensed software that will let you multiplex the stream. You could watch it on your phone, but then your family misses out. They could keep watching, but then you miss out. Nobody is allowed to write software that does anything Columbia don't want you to do. Columbia want the option to charge you more when you go to let your cat in, even if they don't actually make it possible yet.

C. Fox make a movie. Apple buys the rights to sell it on iTunes. You buy it from iTunes. You want to watch it on your phone. Fox want you to buy the movie again if you use anything not made by Apple.

Without DRM, you just transfer it to your phone and watch it, since the player on any phone, whether made by Apple or anyone else, can read the video file.

With DRM, only Apple can provide a licensed player for the file. If you're using any phone other than an iPhone, you cannot watch it, because nobody else has been allowed to write software that decrypts the media files sold by Apple.

In all three cases, nobody has been stopped from violating a copyright. All three movies are probably available on file sharing sites. The only people who are stopped from doing anything are the player providers -- they are forced to provide a user experience that, rather than being optimised for the users, puts potential future revenues first (forcing people to play ads, keeping the door open to charging more for more features later, building artificial obsolescence into content so that if you change ecosystem, you have to purchase the content again).

Arguing that DRM doesn't work is, it turns out, missing the point. DRM is working really well in the video and book space. Sure, the DRM systems have all been broken, but that doesn't matter to the DRM proponents. Licensed DVD players still enforce the restrictions. Mass market providers can't create unlicensed DVD players, so they remain a black or gray market curiosity. DRM failed in the music space not because DRM is doomed, but because the content providers sold their digital content without DRM, and thus enabled all kinds of players they didn't expect (such as "MP3" players). Had CDs been encrypted, iPods would not have been able to read their content, because the content providers would have been able to use their DRM contracts as leverage to prevent it.

DRM's purpose is to give content providers control over software and hardware providers, and it is satisfying that purpose well.

As a corollary to this, look at the companies who are pushing for DRM. Of the ones who would have to implement the DRM, they are all companies over which the content providers already, without DRM, have leverage: the companies that both license content from the content providers and create software or hardware players. Because they license content, the content providers already have leverage against them: they can essentially require them to be pro-DRM if they want the content. The people against the DRM are the users, and the player creators who don't license content. In other words, the people over whom the content producers have no leverage. 
66 comments on original post
1
Add a comment...

Ken Wong

Shared publicly  - 
 
 
The Saga of a CyanogenMod Exynos4 device maintainer - The SGH-I777 Touchwizz days

Well, here comes the second part of my saga, which started with https://plus.google.com/u/0/101093310520661581786/posts/cdPnNjLAb4F .  I'm a little tired, and my memory is semi-vague in regards to this era, but it is the time when I started to see the truth of Samsung's developer friendliness.  I bought my Infuse, and the I777, based on the perception of developer friendliness put forth by Samsung's donation of I9100 units to the CyanogenMod team, and their hiring of Steve Kondik himself in August 2011.

Most of my time from those days on the I777 was a bit of a blur.  I primarily stuck to Touchwizz kernels back then, partly because CM7 on the I777 wasn't quite ready and I wasn't familiar enough with it to improve the maintenance situation, and partly because Touchwizz on Gingerbread was decent.

In November or so, I finally started looking into how to get I9100 firmwares running on the I777 - How similar were these devices in reality?  My inspiration came from LinuxBozo's Hellraiser for Infuse.  The good news is, it turned out not too difficult.  I just needed to swap out libaudio, and touchkey stuff.  Interestingly enough, if I added just one XML permissions file, NFC would work on ported I9100 firmwares!  (AT&T had forced Samsung to put in code to explicitly disable NFC if an I777 was detected in the Settings app.)

Most of my contact with the CM team consisted of occasionally shipping patches over to +Atin M and +Daniel Hillenbrand with fixes for bugs I had found, such as the fuel_alerted wakelocks in the MAX17042 driver (Which Samsung STILL hasn't fixed after more than a year, even though we've provided the patch to them multiple times...).  Atin also gave me critical information needed for Hellraiser.

In early November, AT&T announced the Galaxy S II Skyrocket.  Just a month after the I777, they announced yet another GSII with a completely different processor.  At that point I was NOT a fan of Qualcomm, as back then they did extremely poorly in terms of documenting their SoCs.  I actually called it the "shitrocket".  I still do, as I'm annoyed at Samsung and AT&T confusing the hell out of users by announcing two completely different devices with the SAME DAMN NAME.  As an aside, the Skyrocket/Hercules led to some...  Interesting things within XDA's RD program.  An RD (Melvin, I think?) had quite the fall from grace, by going from RD to banned in about 2 weeks over violations of donation-soliciting rules.  More on this later, as it was the start of some changes for XDA.

Around then is when the Galaxy Nexus, and Ice Cream Sandwich, was announced.  I wasn't too impressed with the hardware back then, as back then, hardware still mattered more than software.  However some of the ICS UI improvements were greatly anticipated.  Atin and Daniel started working on I9100 ICS, and I kind of stuck with TW Gingerbread - I knew there was no point on the I777 until I9100 ICS kernel source dropped.

Around here is when things started going downhill in terms of Samsung's developer relations...  They started doing things that were, simply put, nothing but antagonistic of the developer community.

In November, Samsung released XWKK5 for I9100 and UCKK6 for I777.  Bluetooth HID on these builds would not function with any source-built kernels - only with binaries associated with those builds.  Samsung never released another Gingerbread source update for the I9100, even though their binaries showed clear evidence of a functional change to the source.  Similarly, I777 UCKK6 source wasn't released until some unknown time in mid-2012 - I'm fairly certain not until after I9100 ICS was released at best.  That's right - Samsung was violating the GPL with I777 UCKK6 and every I9100 Gingerbread build from XWKK5 (November 2011) until they officially released I9100 ICS (March 2012) - Actually, technically they still are, as Gingerbread source corresponding to those kernels was never released, but it just doesn't really matter any more.  Throughout this time, I started spending more time in the I9100 forums, as it became clear exactly what was different for I777 and what from I9100 could be leveraged.  (I was a regular poster on the VillainROM thread, as that was my favorite firmware package for quite a while.)

Around the same time, Samsung launched the Tab 7.0 Plus and Tab 7.7, both based on the same Exynos 4210 SoC found in the GS2.  These were highly attractive, and I nearly purchased one - but I saw things in the communities for those devices that were extremely disturbing.  These devices used an Atheros AR6000-series wifi chip.  Interestingly, Atheros provides source for these devices under a dual-license, GPL and BSD.  (As Atheros holds full copyright to all components of their reference driver, this is legal.)  Samsung chose the BSD license for this driver.  The end result is, when asked for wifi driver source (which was not present in the source drops for these devices), Samsung replied with "code is dual license GPL or BSD.  We choose BSD."  Translation:  HAHA FUCK YOU DEVELOPERS!  ENJOY SPENDING A YEAR GETTING WIFI TO WORK ON THIS THING!  (Wifi on these devices is STILL flaky, which is a major reason why CM still hasn't merged these two devices and kicked off nightlies.) - See http://forum.xda-developers.com/showthread.php?t=1445526 for more details.

Oh, you might see my rant about SamsungJohn in the above post.  That's another frustration with Samsung - Unlike Sony, who puts their devrel guys who can actually do something (like KalleD) front and center, Samsung's publically-facing official devrel contact is just a PR weenie who does nothing but:  Cross-post promises of "something big" all over XDA and fail to deliver (look at his posting history), promise AGAIN that "something big" is coming and fail to deliver AGAIN, then claim that Samsung is going to sponsor 3 developers from XDA to go to a conference (and AGAIN fail to deliver - http://forum.xda-developers.com/showthread.php?t=1291758 ) - All he does is tweet about OSRC releases 2-3 weeks after anyone who is remotely competent has already found them, and shuffle Google I/O Tab 10.1 owners to a special support email.

Around December, Sony announced they were providing an ICS alpha for their 2011 devices, which included kernel source - http://www.xda-developers.com/android/sony-ericsson-releases-official-alpha-build-of-ice-cream-sandwich/ - The Samsung Infuse had been receiving leaks of Gingerbread builds for AT&T with working HDMI for a few months at this point, so I contacted John to see if it might be possible to get a source drop so that Infuse users could get working HDMI on Gingerbread.  No response.

In February, Samsung officially started delivering Gingerbread to users via OTA.  After about a week, the updates stopped due to issues with the update, however, as Samsung HAD officially provided binaries to users, they were obligated to provide kernel source for this build.  However, when contacted, their response was that as they had removed the update from their OTA system, they didn't have to provide source.  Sorry Samsung, it doesn't work this way - If you provide a binary to users, one that they cannot easily revert back from (thanks to Gingerbread requiring a bootloader update), you are obligated to provide source code to those users - even if you have stopped providing binaries to additional users, those who received the binaries officially must be provided kernel source code upon request.  ANOTHER GPL violation from Samsung.

Infuse users didn't see kernel source until March when another build went live.  Those who received UCKL2 never received corresponding source in compliance with the GPL.

Also, around February, ClockworkMod Touch was released, and bricked a bunch of Epic 4G Touches...  Little was known about why back then, and the developer community was as of yet unaware for the nightmare Samsung was about to put them through...  More on this in a later post.

Sometime around this time, XDA announced its Elite Recognized Developer program.  It was the result of discussion about the fact that there was a wide spectrum of skillsets within the RD community - from those who probably didn't deserve the RD title (like Melvin) to some top-notch kernel/hardware hackers.  Somehow, I was one of the 25 chosen - I believe due to my tendency to always document what I can do so that others can leverage my discoveries (important for open source AND especially for users of devices I don't own).  It was good timing, as the ERDs were going to receive a huge challenge (see previous paragraph...)

Eventually, in March, I9100 ICS went live.  A week later, kernel source showed up.  It was go-time for I777 users - we finally had hope of ICS, if I could figure out a way to get call audio to work without I777 libaudio.  Similarly, the CM guys could finally provide useful builds without hacked binary kernels due to kernel source (for the entirety of those months, CM9 on I9100 was in bad shape due to Samsung's blobs being highly nonstandard and failing to work with compatibility wrappers that worked fine on other devices.)  I don't remember much detail about the chronology of this, but I know I did another Hellraiser release for ICS, spent a week reverse engineering the fact that I9100/I777 had swapped microphones, and started coordinating very closely with +Atin M .  Everyone had a lot of work cut out for them, as it took a team of 4-5 kernel developers to fix Samsung's totally broken cpufreq code which led to a system hang any time the cpufreq policy limits were adjusted to be below the current CPU frequency (such as applying a screen-off frequency profile.)

With that...  This post is getting way too long.  Next up - The beginnings of my involvement with the CyanogenMod team.
30 comments on original post
1
Add a comment...

Ken Wong

Shared publicly  - 
 
OCT 15 — Those in the international community may be forgiven for saying, “Is there a problem with the democratic process in Malaysia?” In the international arena, our leaders portray…
1
Add a comment...

Ken Wong

Shared publicly  - 
 
The +HTC One S tested and reviewed by most tech web sites has a Snapdragon S4 processor and shines. However, many One S buyers in Asia and Europe, including the UK, could be getting a different version that has the previous generation Snapdragon S3 processor, and only a small difference in the packaging allows you to tell. The S3 version has worse performance and uses old technology, but is being sold as the same phone for the same price.

My own (S4, bought early) One S was just replaced by HTC (because a repair I sent it in for took too long) with another One S, but I am struggling to easily identify whether it is an S3 or S4 version.

Due to the way HTC have changed it without making the difference obvious (e.g. with a different name), I don't recommend buying this phone any more.
1
Add a comment...
Links
YouTube
I went there with friends to enjoy some coffee together. We all ordered flat whites, and I liked the taste of the coffee a lot - not over roasted like the big chain cafés. The café is quite nicely furnished and I did enjoy the time spent there.
Public - a year ago
reviewed a year ago
A very simple steak and sides menu. They do one kind of steak and they do it really well, at a very reasonable price. Atmosphere was more than satisfactory.
Public - a year ago
reviewed a year ago
Good sized portions for the price. Food was tasty, restaurant spacious and clean, staff responsive.
Food: Very GoodDecor: GoodService: Very Good
Public - 2 years ago
reviewed 2 years ago
6 reviews
Map
Map
Map
Tasty cakes, and very tasty coffee. They have several brewing methods available for their coffee and it is fun trying the siphon brew.
Public - a year ago
reviewed a year ago
Food was tasty and service was reasonably fast although not lightning quick, but that was to be expected on a Friday evening. I was the designated driver of the party so didn't have the beers this time, but there were positive comments all round. We enjoyed our time there and would go there again.
Public - a year ago
reviewed a year ago