Profile

Cover photo
Dan Wallach
Works at Rice University
Attended Princeton University
1,021 followers|646,932 views
AboutPostsPhotosVideos

Stream

Dan Wallach

Discussion  - 
 
Here's a weird one. These are screendumps of two instances of TimePickerDialogs. The shiny Material one is on the LG G Watch. The classic Holo version is on the Moto 360. Same app, same Wear version, on both of them. The Holo-style picker works. The Material-style picker doesn't work at all. Bug? Feature? For what it's worth, I've set my "styles" to be Material all the way through. So I guess the G Watch is giving me what I asked for, but it doesn't work, and the Moto 360 is giving me the wrong thing but it actually works.

Color me baffled. Anyone have suggestions?

https://github.com/danwallach/XStopwatch/blob/master/wear/src/main/java/org/dwallach/xstopwatch/TimerActivity.java
https://github.com/danwallach/XStopwatch/blob/master/wear/src/main/res/values/styles.xml
1
Aladin Q's profile photoDan Wallach's profile photo
6 comments
 
Workaround now pushed to the Play Store. I basically reimplemented the dialog from scratch, so it's the same everywhere.
Add a comment...

Dan Wallach

Discussion  - 
 
At Google IO, they talked about the new Android M permissions model, where apps make runtime requests rather than doing it up front in the manifest. How will this play out with Wear? If we ask on one device, like the phone, does it reflect automatically on the other? How about when one device is running M and the other isn't? 
2
Davide Corrà (KoRRo)'s profile photoSteven Mattera's profile photoJohn Doe's profile photo
3 comments
 
Interesting question, there is no detail about this aspect on wear devices, but I think it should be the same.
Add a comment...

Dan Wallach

Shared publicly  - 
 
Ten cent review, Harry Potter and the Methods of Rationality (HPMOR). I'm not normally one for "fan fiction" but this was a fun read. The setup is that young Harry Potter, rather than growing up in a broomcloset, instead was adopted by loving academic parents, and self-educated as a prodigy of science and philosophy; he also developed a deep love of science fiction. The rest of the cast is largely the same. Hermione is still outrageously talented. The Weasley twins are still pranksters. But change up Potter and you've now got a scientific mind trying to experimentally understand wizardry.

I don't want to spoil the HPMOR plot progression, so I'll just say that Potter manages to pull some very impressive and decidedly unlikely rabbits from his hat. Also, there are many page-long digressions where Potter is explaining to some character or other what intellectual fallacy they happen to be suffering, really just a thin veneer over the author lecturing the reader, albeit on an interesting topic. Regardless, the story is enjoyable and throws many an in-joke at the reader of the real Rowling books, never mind groan-inducing references to Lord of the Rings, Star Wars, and even Ender's Game.

HPMOR recently wrapped up after being released serially. There's all sorts of Internet chat around it, of which I've read exactly nothing. It's free, and you can download MOBI / ePub files for your Kindle or equivalent.
http://HPMOR.com
1
Add a comment...

Dan Wallach

Shared publicly  - 
 
TTAC published my rant about Tesla haters.
You’d think that, after all these years, I’d have a tougher skin for people who say stupid things on the Internet. And I’m pretty good about that, but now that I own a Tesla, it strangely gets under my skin when people write ill-informed drivel about the car. Here at TTAC, we’re all about well-informed …
2
1
Kevin C's profile photoDan Wallach's profile photoLarry Smarr's profile photo
3 comments
 
There isn't enough data yet to really talk about depreciation in any meaningful way, at least on the Tesla. When I bought mine, used, we scoured eBay "completed" auctions and used that data to triangulate on the price.
Add a comment...

Dan Wallach

Shared publicly  - 
 
TTAC ran my article comparing the 2013 Tesla P85 to the 2015 P85D.
I’ve got a buddy who was once a titan of industry, a computer geek in the C-suite who never forgot his roots. Let’s call him Professor Zorkmid. He never needs to work another day in his life, but he enjoys hanging out with students, telling grand tales of his adventures in the Great Underground Empire, …
2
Perry Metzger's profile photoDan Wallach's profile photo
2 comments
 
Don't get eaten by a grue.
Add a comment...

Dan Wallach

Android Wear Watch Face  - 
 
CalWatch, which renders your day's agenda around the watchface, now has support for XStopwatch & XTimer. When you start a stopwatch or a countdown timer, you'll get the usual notification peek card, but the watchface will also render it around the outside. All free of charge and open source. Enjoy!
https://play.google.com/store/apps/details?id=org.dwallach.xstopwatch
https://play.google.com/store/apps/details?id=org.dwallach.calwatch
This watch face reads your calendar and displays your events for the next t...
1
Add a comment...
Have him in circles
1,021 people
Yuliy Pisetsky's profile photo
Amin Vahdat's profile photo
elliot parker's profile photo
Alison Cook's profile photo
Rongrong Tao's profile photo
bhuthesh r's profile photo
Syd Polk's profile photo
Bill Pugh's profile photo
Ghodsieh Shahsavan's profile photo

Dan Wallach

Discussion  - 
 
A handful of notes from updating CalWatch for Wear 5.1 (still open source, still free: https://play.google.com/store/apps/details?id=org.dwallach.calwatch / https://github.com/danwallach/CalWatch)

- CalWatch used to use the MessagingAPI, including the standard loop over all available nodes to send the same message to each one. When I connected two watches to my phone, only one of them ever got the message. I switched to the DataAPI and everything is now working as intended. This also let me get rid of a bunch of "hey I need a message" / "okay, here you go, did you get it?" nonsense. (Bug: if you're using the MessagingAPI and haven't tested yet with multiple watches on the same phone, don't expect the obvious code to work in the obvious way.)

- I used +Nicolas Pomepuy's Wear crash reporting library. Works like a charm, although if your watchface doesn't have a companion app on the handheld, it won't do anything for you. (https://github.com/PomepuyN/AndroidWearCrashReport

- I updated my icon. The update appeared everywhere except for the Android Wear app on my phone. Uninstall. Reinstall. The old icon was still there. Rebooting finally fixed it. (Bug: hey Google, please invalidate the Wear App's image cache when a new APK arrives for an existing app.)

- For a user with only a single watch, the only observable change they'll see is transparency of peek cards over the watch face. I don't know when they added that option in, but it definitely looks better than fully opaque peek cards.

- I also removed a bunch of code that never did anything useful. I would really prefer an update frequency greater than once per minute while in ambient mode, but too bad, so sad, that stopped working in Wear 5.0 and it's not coming back.

- The newer Android Studio integrates all this new lint functionality. It was notably unhappy with the way my Handlers worked, so I fixed the ones that seemed most likely to cause trouble. It also found some very subtle opportunities for NullPointerExceptions that have never happened in practice, but which could have maybe perhaps happened. No longer!

Anyway, that's all there is to it. Meanwhile, if any of you want to integrate stopwatch and timer functions into your watchfaces, XTimer / XWatchface continue to work just fine on Wear 5.1, publishing data that you can use to render timers and such. http://www.cs.rice.edu/~dwallach/xstopwatch/
This watch face reads your calendar and displays your events for the next t...
3
Harry T's profile photoShiek Yerbooti's profile photoWayne Piekarski's profile photo
3 comments
 
For your Messaging API problem, make sure you are specifying play-services 7.5 and above in your build.gradle, on both the phone and wearable side. If you don't do this right, you will only see a single wearable to ensure compatibility for old apps.
Add a comment...

Dan Wallach

Shared publicly  - 
 
OffTheKuff ran my piece on solar power, net metering, and storage batteries. http://offthekuff.com/wp/?p=66944
1
1
Moshe Vardi's profile photo
Add a comment...

Dan Wallach

Shared publicly  - 
 
Freedom to Tinker ran my piece about the CIA's interest in hacking app developers. https://freedom-to-tinker.com/blog/dwallach/on-compromising-app-developers-to-go-after-their-users/
In a recent article by Scahill and Begley, we learned that the CIA is interested in targeting Apple products. I largely agree with the quote from Steve Bellovin, that “spies gonna spy”, so of course they're interested in targeting the platform that rides in the pockets of many of their ...
3
1
Moshe Vardi's profile photo
Add a comment...

Dan Wallach

Discussion  - 
 
Here's a weird one. I've got a Moto 360 running the latest 5.0.2 with ambient mode turned on. I looked down at the watch earlier today and it was reading 1:28 or thereabouts, in ambient mode, and with some sort of peek card pushing up from below. The actual time was 1:43. Uh oh! I bumped the watch, waking it up, and it refreshed properly to the current time. 

I extracted the logcat when I got home (https://github.com/danwallach/CalWatch/blob/master/logdumps/refreshrate-01mar2015.txt). You'll see that precisely nothing was logged from 13:28 to 13:43. My CalWatch watchface is built from the standard demo template and does all the same things as the SweepFaceWatchService example from Google. So, at least in theory, this shouldn't be happening. 

(Actually, CalWatch tries to refresh every 12 seconds in ambient mode, using a Handler, so the minute hand is more communicative. This only ever works sporadically. The handler, demonstrably, does nothing to wake up the watchface if it's deeply asleep, so at least I'm not being anti-social with overusing the battery.)

Has anybody else run into something like this? Back before we had the official watchface API, it was standard practice to use AlarmManager to wake you up once a minute. Is anybody still doing that?
1
Aladin Q's profile photoDan Wallach's profile photo
2 comments
 
This is the first I've ever noticed this at all.

Charging for the Moto 360 brings up its dedicated screen, so I don't get to see odd behavior that might otherwise be driven by the state change. 
Add a comment...

Dan Wallach

Shared publicly  - 
 
In my intro computer security class today, I was scheduled to introduce buffer overflows: stack canaries, W⊕X, static analysis patterns, and all that. Now, I think I'm going to have to curtail that discussion to break down this latest Lenovo adware SSL proxy stupidity. #teachablemoment
Lenovo is in hot water today after potentially significant security breach was found to affect its consumer PC range.
14
1
Dan Wallach's profile photoRabimba Karanjai's profile photoSean Channel's profile photoLea Kissner's profile photo
10 comments
 
I want to go to there. 8)
Add a comment...

Dan Wallach

Shared publicly  - 
 
Freedom to Tinker ran my piece on Android WebView security and how it interacts with mobile advertising. https://freedom-to-tinker.com/blog/dwallach/android-webview-security-and-the-mobile-advertising-marketplace/
4
Add a comment...
People
Have him in circles
1,021 people
Yuliy Pisetsky's profile photo
Amin Vahdat's profile photo
elliot parker's profile photo
Alison Cook's profile photo
Rongrong Tao's profile photo
bhuthesh r's profile photo
Syd Polk's profile photo
Bill Pugh's profile photo
Ghodsieh Shahsavan's profile photo
Work
Occupation
Professor
Employment
  • Rice University
    Professor, 1998 - present
Basic Information
Gender
Male
Links
Other profiles
Contributor to
Story
Tagline
Deptartment of Computer Science, Rice University
Education
  • Princeton University
    Computer Science, 1993 - 1998
  • University of California, Berkeley
    Electrical Engineering/ Computer Science, 1989 - 1993
Contact Information
Work
Phone
713-348-6155
Email