耀
a
r
o
6
e
d
g
2
l
p
a
n

a
r
o
n
h
s
i
a
o
w
a
s
h
e
r
e

 

 

I started out writing another post on boundaries—in relation to divorce, in relation to careers, and so on. I think that in our society we’ve lost sight of them; all boundaries have fallen, or at the very least are under constant assault and must be defended, largely because we have made it okay—removed any and all related negative sanctions as a culture—to continously test and attempt to surmount the boundaries of those around us, even if they have drawn them consistently and repeatedly.

There was a time when this continuous testing would have been considered at the very least rude, and at most a sign of mental illness or inadequate social development, but our “activist” and “driven” culture has erased all of that.

Now if you fail to constantly push at every boundary you encounter, you are “not living your best life” and “allowing others to make the rules for you.” The sublimated warfare that is the body of social mores becomes ever-less-sublimated as a result.

Now look at me. I’ve started to duplicate my boundaries post again. That’s called a digression.

No.

— § —

Tonight, for reasons related to a friend and their particular ailments, I’m thinking back to all the people I’ve known who have died over the years. All of the sickness and the hospitalization, all of the funerals and the sadness and the comments about how it was “their time” or about “what might have been.”

We all live very close to the edge.

At the same time, we all try all the time to push it from us. I’ve said here before that I think the west spends a great deal of its cultural energy secretly trying to either deny or defeat the fact of human mortality. It is the engine of our society, in many ways.

But I’ll admit that I, too, have spent a great deal of time in life trying to escape it. You keep thinking that if you just play your cards right, with determination and patience, you can “put all of that behind you” and achieve, finally, a state of safety and stability. Standing finally in this state once it has been achieved, you will be able to look forward to a long stretch of no death and no endings, the “regular life of adulthood,” in which you can forget about loss and about death for at least a couple of decades while you “live your life.”

Intellectually, I know that this is a silly sort of imagination. Emotionally, I think I do it as much as everyone else does. Trying to combat death and endings, to push them off into the shadows of decades hence, is a kind of fool’s game that everyone seems to play.

You can’t possibly win. So why do we continue to play? Why do I?

It’s a good way to waste a life, playing a game that can’t be won. And yet those moments of loss are so intense and unbearable that it seems nothing but sensible to try one’s best to avoid them, forestall them, subvert them somehow.

— § —


© Aron Hsiao / 2007

Another fall is about to begin. Time marches on. People suffer. People die. Things end. Yes, new things begin, but the older you get, the smaller the number of beginnings in the world that might actually in some way belong to you.

They belong to others. They belong to the young, which you aren’t any longer.

It’s a funny thing, aging. I can see why people buy sports cars and miniskirts even in the years when such things make them look ridiculous. You don’t imagine yourself to be “older,” and I can’t conceive of ever feeling “old.”

You like stuff. You do it. You buy it. Just like you always did. When you look at tomorrow, “your life” is still ahead of you, even if in some abstract sense you understand that this life is considerably shorter now than it once was. But you don’t feel yourself moving along the path of linear time, positioned somewhere in the middle or beyond, rather than at the beginning of the segment that happens to be your life.

You feel the now, and the presence of possibility that is the yet-to-come. Just like always.

But it is your responsibility as a citizen of the world to look at where you are, and to realize that even if you can’t feel it, your role in the world is changing, and to try to remain young despite your years is to steal youth, in a way, from those that—like you—didn’t ask to be born but are here—and young—right now. It’s their prerogative, not yours.

When you’re old, you have a job. Your job is to be old.

— § —

I want to age gracefully. I want to accept it. I reject as ugly the cultural admonitions (okay, let’s call them ads, for the most part) that this is somehow sad, and that the right position is to “fight it all the way.”

That’s the sad thing. Watching someone “fight all the way” in a game that they cannot win, that no one has ever won. It’s a waste of resources that could be spent elsewhere. And it tends to draw pity.

No, I want to be old and boring, not forever young (and expending more and more energy to appear so) and then suddenly dead, having never experienced much beyond youth and the fight to maintain it.

I’m ready to be late middle age. I’m even ready to be old, I think.

It will take me time to learn how to do it all properly, but I don’t plan to resist along the way.

So as a part of my rediscovery of Daedalus and Ulysses I’ve decided to move back to iOS. That sounds good, except for the fact that the one thing (a simple thing, really, but never underestimate simple things) that I am really attached to on Android is my control over the launcher—time, date, and weather widgets, plus the ability to organize icons to provide a visual cue for which screen I’m on and to help locate the screen I’m looking for.

So I desperately wanted to find a way to reproduce this on the iOS springboard (which I frankly hate) to make the switch more palatable.

I installed iOS 9.3.3 and used the recent Pangu jailbreak. So far, so good. And the Cydia Anchor app provided the ability to position springboard icons in the way that I saw fit. But despite my research beforehand, in practice I found that despite installing iWidgets, no time-day-and-weather widgets I could get my hands on actually worked properly. Apparently they used to work in an assortment of previous iOS versions, but despite installing and uninstalling lots of hacks, I couldn’t get them to work in iOS 9.3.3.

So finally I dug in and got my hands dirty, and this is the result:

 

So what was the problem? The problems are multiple:

  • The Yahoo Weather API, which (as far as I can tell) all of the previous generation of widgets relied on, has been closed, and significant updates are required to use alternatives. Such updates are not yet forthcoming.
  • GPS access is not automatic, but apparently requires the installation of a tweak that is no longer available under the name that most older tutorial posts refer to.
  • Not too many things on Cydia have yet been updated for iOS 9.x.x, and Cydia is of course a terrible mess anyway.

After a lot of chasing wild gooses around, here’s the process that I put together:

— § —

Caveat: All of the terminal stuff I did as root (using “su” command). I don’t even know if that’s necessary. But whatever, I was after quick and dirty and working, not fancy and clean and perfect. N.B. the default Apple root password is “alpine” for those that don’t know.

1. Install these via Cydia:

  • cycript — it’s a dependency for webcycript (not available on Cydia, you’ll have to install manually—more on this in a moment)
  • terminal — probably doesn’t matter which one; you’ll need the command line
  • iFile — says it’s not compatible with iOS 9.x.x but it installs and works, albeit with periodic crashes
  • wget — use it to fetch files from the web directly down to your iOS filesystem
  • unzip — use it to unzip any ZIPs that you download
  • WidgetWeather3 — new infrastructure for driving GPS (don’t even know if necessary, but I’m not messing with what’s working now)
  • iWidgets — for obvious reasons

2. Now, head over to this URL for the first “hard” step—getting the unofficial (i.e. actually works with 9.3.3) webcycript link. The instructions say to use Safari to download the file and iFile to install it. I couldn’t figure out a way to get Safari to download to the local filesystem (presumably this is another tweak that I’m unaware of). And it’s hosted on Dropbox so there’s no easy download URL. So I did this:

  • (desktop:) Download webcrypt.deb file to my desktop.
  • (desktop:) Get the file hosted somewhere with a URL. I used FTP to put it temporarily on my own domain.
  • (ipad:) Fire up terminal, su root, and then:
    wget http://url-and-path.tld/webcrypt.deb
  • (ipad:) Still in terminal:
    dpkg -i webcrypt.deb

3. That got me the latest webcycript with a version hack to enable 9.3.3 successfully installed. With that installed, I could head back to Cydia and download:

  • InfoStats 2 — new infrastructure for getting various kinds of information from your iDevice

Big note—don’t update webcrypt in Cydia, you want the modified version still installed until some future update of the package on Cydia.

4. Now all the infrastructure is in place. It’s time for some iWidgets. But which ones? The ones on Cydia all use old (and non-functional on 9.3.3 and in the post-Yahoo-weather era) resources. Turns out that for some reason (I don’t know the ins and outs about the iOS jailbreak/mod scene) all of the widgets at this URL appear to use the new stuff and to work properly.

That should be great, except that annoyingly they’re all distributed as ZIP files, rather than as packages. Okay, so for each one that you like, you need to:

  • Copy the URL
  • Go to terminal on iOS
  • Use wget to download the ZIP
  • Use unzip to extract the ZIP (they all have relative path information, thank god)
  • Move the extracted folder into Library/iWidgets
  • Remove the ZIP file so as not to clutter up your filesystem

Once you’ve placed the subfolders in Library/iWidgets, they all do appear when you try to add widgets to springboard (by long-pressing on an empty springboard area). Combine with anchor to “make empty space” for widgets, and you’re good to go.

Well, almost.

The new generation of widgets at the URL above are all also sized for phone devices, and are by default sort of tiny on iPad devices. Not to mention that many of them seem to be “in progress” with huge bounding boxes and lots of code that doesn’t do anything yet. Apparently their authors are all building big, complicated widgets that do all kinds of reporting on battery status and so on, and while they’ve implemented some of the HTML and code up to and including time and weather, the rest is yet to come—but they’re already bounded for the full monty, meaning they take up half your springboard screen with half-completed stuff or empty space. Ugh, ugh, ugh.

Happily (well, sort of), you have the HTML in the folder for each widget you’ve unzipped. Now you dust off your CSS and coding skills and iterate with revisions, commenting out js code that isn’t doing anything much, HTML code that is displaying empty or half-completed block-levels, and rearranging CSS to your appearance preferences. And so on.

This is where iFile comes in—you can browse to the widget folder, locate the relevant script, HTML, or CSS file(s), and begin to hack around with the widgets (editing and saving in place) to enlarge their size or change their appearance. Great!

Only—another caveat—someone, somewhere is caching the CSS. So after you place a widget once, none of your future changes appear, even if you edit the CSS file. This makes it hard to iterate with your revisions. My solution?

After each new CSS save, I went back to terminal and just did an “mv widget-folder-1 widget-folder-2” (basically—I renamed the widget folder each time I made a change). The list of widgets is updated automatically, and you can try out the widget again (under the new name) in a way that will reflect your most recent changes.

The end result is what you see above.

Kludge city. But this is at least one way that it can be done, and that’s what I was going for. N.B. that if you’re not totally clear on things I said above, you should probably avoid this process entirely. A genuine comfort with the Linux/*nix command line, HTML/CSS, and with kludge work in general, is pretty much a must.

But it can be done by someone that isn’t intimately familiar with the off-the-path iOS community, if you have basic dev skills and a couple hours on your hands.

Archives »

May 2026
April 2026
March 2026
February 2026
January 2026
December 2025
July 2025
May 2025
April 2025
February 2025
January 2025
December 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
December 2023
November 2023
October 2023
September 2023
May 2023
April 2023
March 2023
January 2023
December 2022
November 2022
August 2022
June 2022
May 2022
April 2022
March 2022
January 2022
December 2021
November 2021
September 2021
April 2021
March 2021
February 2021
January 2021
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
May 2019
April 2019
March 2019
February 2019
January 2019
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
December 2015
June 2015
February 2015
January 2015
December 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
December 2013
November 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
December 2012
November 2012
October 2012
August 2012
July 2012
June 2012
May 2012
March 2012
December 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
December 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
December 2003
November 2003
October 2003
September 2003
August 2003
July 2003
June 2003
April 2003
March 2003
February 2003
January 2003
December 2002
November 2002
October 2002
September 2002
August 2002
May 2002
April 2002
March 2002
February 2002
January 2002
December 2001
November 2001
October 2001
September 2001
July 2001
June 2001
May 2001
April 2001
March 2001
February 2001
January 2001
December 2000
November 2000
October 2000
September 2000
August 2000
July 2000
June 2000
May 2000
April 2000
March 2000
February 2000
January 2000
December 1999
November 1999