Everyone often raves about apple design. How sleek they look. How cool they look. However, there are sometimes practical design aspects that people complain about. Namely, I remember the first generation Nanos would have a faceplate that scratched easily.
However, I wonder if there is a side to the design that hadn't been considered. For a device like the iPod, it had the requirement of storing large amounts of data, but flash devices weren't that big in size yet. Therefore, hard drives were the only choice. However, we all know that electronics and especially hard drives are sensitive to shock. It would lose its performance and its ability to store data if it was knocked around all the time.
Whether it is intentional or a consequence of making it look sleek, the exterior of the iPod, and perhaps its vulnerability, leads people towards behavior that make them take care of it. They buy protective accessories for it, and I'm sure they throw it around less than their phones.
It would be brilliant if that was part of the requirements and spec: to get people to take care of their iPod by making it both sleek and vulnerable. It's much the same way (in function, not in emotion) that a certain instinct gets triggered when we see cute fuzzy things, except Apple managed it without fur or a large forehead.
Wilhem has built Annologger, a tool that lets people worship your dentist appointments.
Saturday, September 30, 2006
Sunday, September 17, 2006
Waiting for camera manufacturers
Jeffrey Veen
You know I'm not writing code since I've been posting a lot, and also reading feeds. But one last post...
spoke to me. I have been thinking about this, and was wondering if geo metadata was in pictures. My initial thought was, camera vendors really need to move beyond just taking pictures. Cameras should send photos to a repository automatically over wifi, or cameras should record not only when but also where you took a photo.
Sometimes, you can't, because you don't have any control over those products. Therefore, you make due with whatever interface is available to tie things together first, and then slowly make it better.
You know I'm not writing code since I've been posting a lot, and also reading feeds. But one last post...
"But simplicity isn't just interface improvements, but acknowledging the right tool for the job. One of the things that has always impressed me about the iPod, for example, is that the devices have no capacity for editing metadata, deleting or moving songs, or any of the other mundane tasks of maintaining your music library. Instead, designers at Apple moved all those tasks to iTunes, exploiting your computer's keyboard, mouse, and screen real estate. Flickr takes the same approach. They could have waited for camera manufacturers to add GPS chips or asked cameraphone users to thumb in their location. They chose, however, to exploit the fact that metadata can be added asynchronously without much penalty."
spoke to me. I have been thinking about this, and was wondering if geo metadata was in pictures. My initial thought was, camera vendors really need to move beyond just taking pictures. Cameras should send photos to a repository automatically over wifi, or cameras should record not only when but also where you took a photo.
Sometimes, you can't, because you don't have any control over those products. Therefore, you make due with whatever interface is available to tie things together first, and then slowly make it better.
Simple yet deep
Point and shoot software - Signal vs. Noise (by 37signals)
I think 37signals has it right with making things simple, and emphasizing simplicity, at least on a first use basis. But I still maintain something that Guy Kawasaki said in his book, art of the start...
I'm paraphrasing, but basically simple for new users, but deep for veteran users. There's something to be said about keep mastering a product over time.
New users, no matter how tech savvy, like simple to use. But there's something to be said for the constant exploration of a device (or domain for that matter). I liken it to driving stick after learning to drive automatic.
It's often hard to build the two conflicting things in a product...control vs simplicity. But I think it's important to think of deepness as well.
I think 37signals has it right with making things simple, and emphasizing simplicity, at least on a first use basis. But I still maintain something that Guy Kawasaki said in his book, art of the start...
I'm paraphrasing, but basically simple for new users, but deep for veteran users. There's something to be said about keep mastering a product over time.
New users, no matter how tech savvy, like simple to use. But there's something to be said for the constant exploration of a device (or domain for that matter). I liken it to driving stick after learning to drive automatic.
It's often hard to build the two conflicting things in a product...control vs simplicity. But I think it's important to think of deepness as well.
Too little focus in the information we get
My Whole Life in Happy Little Folders, by Jeffrey Veen
Jeffrey Veen was complaining that it seemed like all he did was un-bold things in RSS feeds. There's just so much info that you get overwhelmed. This was one of the primary reasons I unsubscribed to ridiculously prolific blogs like smartmobs, and now signal vs noise has hell of a lot more noise now. I still subscribe due to the few gems that get dropped occasionally. But once I find others that are more quality and less quantity, I'm ready to drop them off my feed reader.
But other than complaining about blogs, this was the primary reason that I moved from bloglines to reader google. I found that having the number of unread items just felt like I was being a slacker by not reading it. Google reader is much more unforgiving. News you don't read just become that--news you don't read, and it just scrolls on by as the days past by.
It's not something foresight would have seen, unless you've actually used a feed reader before. But I'm glad that google got that right with their feed reader.
I think there's always phases to technology, as others pointed out. But beyond the adoption curve, there is the phase where the users are over-saturated, and need some type of filter. This is often overlooked in my opinion.
Jeffrey Veen was complaining that it seemed like all he did was un-bold things in RSS feeds. There's just so much info that you get overwhelmed. This was one of the primary reasons I unsubscribed to ridiculously prolific blogs like smartmobs, and now signal vs noise has hell of a lot more noise now. I still subscribe due to the few gems that get dropped occasionally. But once I find others that are more quality and less quantity, I'm ready to drop them off my feed reader.
But other than complaining about blogs, this was the primary reason that I moved from bloglines to reader google. I found that having the number of unread items just felt like I was being a slacker by not reading it. Google reader is much more unforgiving. News you don't read just become that--news you don't read, and it just scrolls on by as the days past by.
It's not something foresight would have seen, unless you've actually used a feed reader before. But I'm glad that google got that right with their feed reader.
I think there's always phases to technology, as others pointed out. But beyond the adoption curve, there is the phase where the users are over-saturated, and need some type of filter. This is often overlooked in my opinion.
Saturday, September 16, 2006
The FIRST keynote of Steve Jobs 1984
cyberian.nomad.blog: The FIRST keynote of Steve Jobs 1984 - a Legend !
I often wonder what it'd be like to go back to the past knowing what you know. It's been a good 22 years since 1984. The technology back them seems primative, although you recognize a lot of the same elements that you do now.
Could some people envision 2006 if we were to tell them about it in 1984? I think some would. And others, were probably more optimistic about certain things. Notice the AI thing with the Macintosh talking.
What would it be like in 20 years? I have to admit, I am optimistic about the advance of technology. I have dreams for the future. I dream that computing will really be ubiquitous, and that mobile computing and information gathering will be more common. I dream that augmented reality will come to be common place, whether on PDAs, cell phones, eye glasses, contacts, VRDs, or ocular implants. Devices, whether microwave to cell phones, will really begin to interoperate on open standards, and have a collective intelligence for the whole house. I dream that bio interfaces will allow the blind to see, to store information, or to access information. I dream that quantum computers will start to appear on the market. And I dream that code will be modular, reuseable, simple to read, and simple to maintain. haha.
I often wonder what it'd be like to go back to the past knowing what you know. It's been a good 22 years since 1984. The technology back them seems primative, although you recognize a lot of the same elements that you do now.
Could some people envision 2006 if we were to tell them about it in 1984? I think some would. And others, were probably more optimistic about certain things. Notice the AI thing with the Macintosh talking.
What would it be like in 20 years? I have to admit, I am optimistic about the advance of technology. I have dreams for the future. I dream that computing will really be ubiquitous, and that mobile computing and information gathering will be more common. I dream that augmented reality will come to be common place, whether on PDAs, cell phones, eye glasses, contacts, VRDs, or ocular implants. Devices, whether microwave to cell phones, will really begin to interoperate on open standards, and have a collective intelligence for the whole house. I dream that bio interfaces will allow the blind to see, to store information, or to access information. I dream that quantum computers will start to appear on the market. And I dream that code will be modular, reuseable, simple to read, and simple to maintain. haha.
Friday, September 15, 2006
First Principles of Interaction Design
AskTog: First Principles of Interaction Design
To be honest, this is a boring list of things to read through. Some seem obvious and common sense. But you'll find that in design, often times, obvious is shadowed by functionality and common sense is hard when you have constraints. This might have been better reading if it contained examples, like in The Design of Everyday Things.
But what I noticed was that these principles were very similar to those of game design. I can't pinpoint the article this afternoon, since I read it close to six years ago. But there was an article on gamasutra that talked about how hard it was to design games to make the player happy.
The game designer has to balance the hardness of the game. Too challenging, the game will be unobvious and frustrating (like this game was purported to be). Too trivial, the game will lose the interest of its players quickly (like Eat the stick.
I remember another thing about consistency. One game designer was talking about how he met a gamer, and the gamer had the idea that once you go to another section of the game, all the properties of the spells you could cast would change. The game designer went into detail about how this was one of the worst mistakes that early game designers make. Consistency affords a sense of building up a knowledge of the world around you from a player point of view.
If every time you went to another section of the game, and you had to relearn the mechanics of the game all over again, it would probably piss you off.
In a lot of ways, there are parallels between game design and application design. I also remember all those comic strips in the 90's satirizing how kids can't get jobs playing video games growing up. I think that's more and more untrue, with the way the gaming industry is unfolding. The idea the games are a diversion and are for children will be a thing of the past.
To be honest, this is a boring list of things to read through. Some seem obvious and common sense. But you'll find that in design, often times, obvious is shadowed by functionality and common sense is hard when you have constraints. This might have been better reading if it contained examples, like in The Design of Everyday Things.
But what I noticed was that these principles were very similar to those of game design. I can't pinpoint the article this afternoon, since I read it close to six years ago. But there was an article on gamasutra that talked about how hard it was to design games to make the player happy.
The game designer has to balance the hardness of the game. Too challenging, the game will be unobvious and frustrating (like this game was purported to be). Too trivial, the game will lose the interest of its players quickly (like Eat the stick.
I remember another thing about consistency. One game designer was talking about how he met a gamer, and the gamer had the idea that once you go to another section of the game, all the properties of the spells you could cast would change. The game designer went into detail about how this was one of the worst mistakes that early game designers make. Consistency affords a sense of building up a knowledge of the world around you from a player point of view.
If every time you went to another section of the game, and you had to relearn the mechanics of the game all over again, it would probably piss you off.
In a lot of ways, there are parallels between game design and application design. I also remember all those comic strips in the 90's satirizing how kids can't get jobs playing video games growing up. I think that's more and more untrue, with the way the gaming industry is unfolding. The idea the games are a diversion and are for children will be a thing of the past.
Monday, September 11, 2006
Friendships aren't binary
I feel old. Partially because social networks separate me from friends that are merely two years younger. I am part of the 'Friendster' generation. I was able to sign up for that, before the meteoric rise of 'MySpace', and 'Facebook'. I ignored MySpace invitations, writing it off as 'nothing special' (I also thought that Britney Spears was going to be a one-hit wonder), and by the time facebook rolled around, I had already left graduate school.
While I'm excited about social network applications, my opinion of social network apps was that they didn't actually DO anything. Beyond the novelty of being able to see my network, trouncing about the network didn't actually let me get anything DONE. No wonder why people called them the biggest waste of time. Perhaps, like bad TV, it was just a reaction to a guilty pleasure.
However, it was recently that I was able to sign on to Facebook, because I found that there is an alumni web mail service that I was able to utilize. I liked the Facebook interface immediately. Unlike friendster, it was clean, and it was fast. It didn't feel cluttered at all.
On the friends page, it would tell you that a profile was updated, and yet, I didn't know what. So I never really browsed, knowing that I won't want to spend time trying to find it. Therefore, I was pleasantly surprised by the mini-news feeds: now I knew exactly what was updated, so I don't have to look around for it.
Here, I was able to see what my network was doing. What groups they were joining, what messages they were posting. Perhaps here-in lies the utility of a social network; an individual would know what's going on with his or her friends. The flipside of this feature was that most people felt like their privacy was invaded.
It's odd, because I, as a newcomer, didn't have much expectations of how things worked, so I more readily accepted the mini-news feeds. Therefore, I wonder if facebook had this feature in the beginning, would there be as much of a protest? Perhaps it would have had slower growth?
I think the assumption that facebook developers had was that
Given that, I can definitely see how they went ahead and did it. And often times, as a developer, if you don't simplify things, you'll never get anything done.
One, facebook's reaction to the backlash was a pretty good one, in my opinion. They put out a major announcement, as well as give one-click options to remove it by choice within two days. I applaud them for it. However, they managed to keep things simple. Choice can easily come with its strange bedfellow, complexity.
Second, perhaps, the model for naming friends should be changed. Perhaps it shouldn't be activated by individuals, but rather, inferred through activities. Then, you can be able to tell between active friends, and long lost friends. You would also be able to tell the context of the relationship, as well as which domain it falls under. Then perhaps, privacy would be less of an issue with a selected multicast of information, such as photos, who I'm dating, and where I'm going.
Wilhem has built Annologger, a tool that lets people worship your dentist appointments.
While I'm excited about social network applications, my opinion of social network apps was that they didn't actually DO anything. Beyond the novelty of being able to see my network, trouncing about the network didn't actually let me get anything DONE. No wonder why people called them the biggest waste of time. Perhaps, like bad TV, it was just a reaction to a guilty pleasure.
However, it was recently that I was able to sign on to Facebook, because I found that there is an alumni web mail service that I was able to utilize. I liked the Facebook interface immediately. Unlike friendster, it was clean, and it was fast. It didn't feel cluttered at all.
On the friends page, it would tell you that a profile was updated, and yet, I didn't know what. So I never really browsed, knowing that I won't want to spend time trying to find it. Therefore, I was pleasantly surprised by the mini-news feeds: now I knew exactly what was updated, so I don't have to look around for it.
Here, I was able to see what my network was doing. What groups they were joining, what messages they were posting. Perhaps here-in lies the utility of a social network; an individual would know what's going on with his or her friends. The flipside of this feature was that most people felt like their privacy was invaded.
It's odd, because I, as a newcomer, didn't have much expectations of how things worked, so I more readily accepted the mini-news feeds. Therefore, I wonder if facebook had this feature in the beginning, would there be as much of a protest? Perhaps it would have had slower growth?
I think the assumption that facebook developers had was that
- users wouldn't mind that their friends knew what they were up to because of #2
- everyone named as friends were trusted
- all friendships are created equal
Given that, I can definitely see how they went ahead and did it. And often times, as a developer, if you don't simplify things, you'll never get anything done.
One, facebook's reaction to the backlash was a pretty good one, in my opinion. They put out a major announcement, as well as give one-click options to remove it by choice within two days. I applaud them for it. However, they managed to keep things simple. Choice can easily come with its strange bedfellow, complexity.
Second, perhaps, the model for naming friends should be changed. Perhaps it shouldn't be activated by individuals, but rather, inferred through activities. Then, you can be able to tell between active friends, and long lost friends. You would also be able to tell the context of the relationship, as well as which domain it falls under. Then perhaps, privacy would be less of an issue with a selected multicast of information, such as photos, who I'm dating, and where I'm going.
Wilhem has built Annologger, a tool that lets people worship your dentist appointments.
Sunday, September 10, 2006
Cavets for doing what you love
The usual thing that you hear we tell kids is "you can be whatever you want to be" when it's really not entirely true. A more accurate saying might be, "you can be whatever you work hard at, even if you might not be the best." For adults, the line is, "do what you love."
What if you suck at what you love? If American Idol is any indication, passion doesn't always equal aptitude. Beyond American Idol, there are plenty of people that are always 'striking it out on their own' that are still doing so. There's plenty of actors and actresses that are waiters and waitresses. I suppose the assumption is that when you do what you love, you will spend time doing it, instead of going out, instead of playing video games, instead of watching TV. You'll keep going at it even after failure and rejected. And the biggest assumption is that you'll get better as you keep going at it.
So keep at it. And get better.
Wilhem has built Annologger, a tool that lets people worship your dentist appointments.
What if you suck at what you love? If American Idol is any indication, passion doesn't always equal aptitude. Beyond American Idol, there are plenty of people that are always 'striking it out on their own' that are still doing so. There's plenty of actors and actresses that are waiters and waitresses. I suppose the assumption is that when you do what you love, you will spend time doing it, instead of going out, instead of playing video games, instead of watching TV. You'll keep going at it even after failure and rejected. And the biggest assumption is that you'll get better as you keep going at it.
So keep at it. And get better.
Wilhem has built Annologger, a tool that lets people worship your dentist appointments.
Thursday, August 31, 2006
Getting Started - UIDWiki
Getting Started - UIDWiki: "Turn on Javascript errors for extensions. Normally the Javascript console only displays errors for web pages, not for Firefox or its extensions. Go to the URL about:config and turn on javascript.options.showInConsole."
This'll help speed development.
This'll help speed development.
Sunday, August 27, 2006
Moving people versus building things.
My sister often marvels at my ability to build things.
Looking at the number of projects that I've done, the programming languages I knew, the liberal arts majors exclaimed "Wow, you actually have skills!"
However, I find that the ability to move people is just as important. There are many things you can do as an individual nowadays. We have plenty of tools and information available for us to do that, more than ever. And yet, there are certain types of things where you need a group of people to move forward with together. And in order to do that, one has to be able to guide people in the same direction, to be able to move them in the same direction.
That, I find to be a skill more enviable.
You know, I always feels useless around you because you have tangible skills.Being an engineer, I often found envy from the liberal arts majors on having 'tangible skills'. I was in a business writing class that was required of all majors, where we learned the basics of writing letters, resumes, and memos. During the resume writing session, we were doing peer critiques.
Looking at the number of projects that I've done, the programming languages I knew, the liberal arts majors exclaimed "Wow, you actually have skills!"
However, I find that the ability to move people is just as important. There are many things you can do as an individual nowadays. We have plenty of tools and information available for us to do that, more than ever. And yet, there are certain types of things where you need a group of people to move forward with together. And in order to do that, one has to be able to guide people in the same direction, to be able to move them in the same direction.
That, I find to be a skill more enviable.
Friday, August 25, 2006
Temporal Expressions as a cousin to Regular Expressions
When thinking about recurring dates, I realized that it's actually a pretty tough problem. How do you represent recurring dates in a database? Ideally, you don't want all the instances of recurring dates from the epoch until the End of Time. I had an inkling that it should be possible to express a generalized sense of a range of dates, but I didn't really know exactly how that would manifest itself.
That's when I started looking for what people had done before me, since I dislike reinventing the wheel. The first thing I came upon was this recurrence python module. Reading his comments in the code, I thought being able to express dates as an equivalent of a polynomial made a lot of sense.
In fact, functions are condensed form of a set of numbers. Not all sets of numbers can be expressed by functions, but most of the ones that we care about can usually be. That makes them useful. Are there equivalent of 'functions for dates'?
That's when I ran into Runt, a ruby library that deals with recurring dates, which are based off of temporal expressions pattern by Martin Fowler.
But it wasn't exactly what I had in mind when I read 'temporal expressions'. I was thinking that Martin Fowler came up with something like regular expressions, but for time. After reading the tutorial, it wasn't exactly what I had in mind. It used classes and patterns to represent recurring dates, rather than an expression, like a function.
So we come to the crux of my musing. Are there the equivalent of regular expressions for time, and would it be a good idea to use it?
When I first started using regular expressions, I thought it was hard to use. Not only could I not remember what some of the symbols meant, but it was dense and not easy to read. A complicated regex quickly got out of hand. I wondered if there were alternatives to regex. And apparently I wasn't the only one either(and that post was from 2001).
If I were to use something like regex for date and time, like a temporal expression--tempex*, I wouldn't want something syntactically like regex. It's really rather hard to read, even if it's powerful (read "dense": can say alot with a little).
In drawing the parallel between regex and functions, that could be the reason why people find math arcane: the expressions in math and regex both can say alot with a little.
One should be able to represent dates and times in a matter that you can express sets of dates succinctly, and event better, be able to do operations on them, such as union, intersect, and difference.
I was surprised that it seems like there's nothing out there that I can find that is a regular expression for time. This shouldn't be the case. Runt is the closest thing that I can find so far. Anyone else know of anything else out there?
* I'll have to pick some other name later. people already use the term for natural language processing of time-related phrases, in addition to Martin Fowler's usage for the pattern
That's when I started looking for what people had done before me, since I dislike reinventing the wheel. The first thing I came upon was this recurrence python module. Reading his comments in the code, I thought being able to express dates as an equivalent of a polynomial made a lot of sense.
In fact, functions are condensed form of a set of numbers. Not all sets of numbers can be expressed by functions, but most of the ones that we care about can usually be. That makes them useful. Are there equivalent of 'functions for dates'?
That's when I ran into Runt, a ruby library that deals with recurring dates, which are based off of temporal expressions pattern by Martin Fowler.
But it wasn't exactly what I had in mind when I read 'temporal expressions'. I was thinking that Martin Fowler came up with something like regular expressions, but for time. After reading the tutorial, it wasn't exactly what I had in mind. It used classes and patterns to represent recurring dates, rather than an expression, like a function.
So we come to the crux of my musing. Are there the equivalent of regular expressions for time, and would it be a good idea to use it?
When I first started using regular expressions, I thought it was hard to use. Not only could I not remember what some of the symbols meant, but it was dense and not easy to read. A complicated regex quickly got out of hand. I wondered if there were alternatives to regex. And apparently I wasn't the only one either(and that post was from 2001).
If I were to use something like regex for date and time, like a temporal expression--tempex*, I wouldn't want something syntactically like regex. It's really rather hard to read, even if it's powerful (read "dense": can say alot with a little).
In drawing the parallel between regex and functions, that could be the reason why people find math arcane: the expressions in math and regex both can say alot with a little.
One should be able to represent dates and times in a matter that you can express sets of dates succinctly, and event better, be able to do operations on them, such as union, intersect, and difference.
I was surprised that it seems like there's nothing out there that I can find that is a regular expression for time. This shouldn't be the case. Runt is the closest thing that I can find so far. Anyone else know of anything else out there?
* I'll have to pick some other name later. people already use the term for natural language processing of time-related phrases, in addition to Martin Fowler's usage for the pattern
Friday, August 18, 2006
Back to coding
I've been getting back into the swing of things after a brief haitus. Currently, there's a code freeze, so I can catch up with the tests. I know I'm not suppose to do it backwards like this, but when you're sketching out how things should work, updating both code and tests are tedious.
I figured this is a good time to update all the tests, so code freeze for about 3 days. Code coverage at...53%
I'll do more tonight. Then it's off to do more cool and exciting features!
I figured this is a good time to update all the tests, so code freeze for about 3 days. Code coverage at...53%
I'll do more tonight. Then it's off to do more cool and exciting features!
- RSS feeds
- iCal publishing
- better date/time selector
- end dates that matter
- photo posting
- "I'll go if I can"
Friday, August 04, 2006
Major Nelson's Xbox 360 can blog
Major Nelson's Xbox 360 can blog
devices can blog...it's a readable log, really. Machines often log events that happen to them, but never really in a human readable form with style and prose. This illustrates that it's definitely amusing and possible, especially if personality engines were invented and utilized.
But in the end, the devices reflect its owner, and how they live their lives. As more and more devices log your life, you can compile stats and see how you actually live it in the long run, and be able to make changes and adjustments if you wish. This, to me, would be the ultimate personal information. Privacy in this term would have to be strictly protected.
devices can blog...it's a readable log, really. Machines often log events that happen to them, but never really in a human readable form with style and prose. This illustrates that it's definitely amusing and possible, especially if personality engines were invented and utilized.
But in the end, the devices reflect its owner, and how they live their lives. As more and more devices log your life, you can compile stats and see how you actually live it in the long run, and be able to make changes and adjustments if you wish. This, to me, would be the ultimate personal information. Privacy in this term would have to be strictly protected.
Wednesday, August 02, 2006
Wheel robots makes designers rethink cars
This article about Smart Cities Team at MIT excited me a bit, not so much because of its potential (which is neat), but more the fact that they rethought the engineering of the car.
A traditional engine puts engineering and design restraints on what type of wheel rotations and movements are available. Because of this restraint, we've gotten so use to the idea of a car only having steering in the front two wheels.
With wheel robots, all the wheels can rotate independent of each other. That means that you can rotate while you're going forward, or slide into a parallel parking space. When new technology becomes available, we should take a step back and rethink why design and engineeering decisions were made in the first place.
The MIT concept car is a complete re-think of vehicle technology. For a start, there is no engine, at least in the traditional sense. The power comes from devices called wheel robots. "These are self-contained wheel units that have electric motors inside,"
A traditional engine puts engineering and design restraints on what type of wheel rotations and movements are available. Because of this restraint, we've gotten so use to the idea of a car only having steering in the front two wheels.
With wheel robots, all the wheels can rotate independent of each other. That means that you can rotate while you're going forward, or slide into a parallel parking space. When new technology becomes available, we should take a step back and rethink why design and engineeering decisions were made in the first place.
Saturday, July 29, 2006
Annologger update: now with pretty templates
Post and publish a schedule of events for your friends, your readers, your fans, no matter who you are.
![]() | ![]() |
I've just released v0.3 of Annologger. Now it supports pretty templates, as well as tweaks on UI interface. There are lots of little things that I've changed here and there to facilate ease of use.
The templates are from OpenWebDesign.org. These templates are all public domain, thanks to Chris Pearson, James Koster, and Pat Heard(template not shown) for submitting their fine work to OWD. Hopefully, the more people use annologger, the more exposure they'll get as designers.
It's been hard work in the past week, and I had lost track of all time. I had thought it was Weds when it was really Friday.
Tuesday, July 25, 2006
How to apply min-height in IE and other browsers � WordPress Support
How to apply min-height in IE and other browsers � WordPress Support:
Another common problem with IE. This is a good fix for having min-height supported on both firefox and IE.
#insideWrapper {
min-height: 500px;
height: auto !important;
height: 500px;
}Another common problem with IE. This is a good fix for having min-height supported on both firefox and IE.
Announcing Annologger
Post and publish a schedule of events for your friends, your readers, your fans, no matter who you are.
I'm officially announcing Annologger. It is now up and running on beta. It's free to join.Annologger lets you post and publish a schedule of events to the web. Each schedule listing not only displays the events in an organized matter, but also facilitates interaction between you and your readers.
This is a sample of a live annolog that is generated by Annologger. Try it out, and give me feedback.
PNG in Windows IE
PNG in Windows IE
This has been a pain in my butt for some time now. No more GIFs! I think lots of people probably already know this trick, but it's definitely worth mentioning.
However, it still doesn't fix the problem of using transparent PNGs for backgrounds in IEs.
This has been a pain in my butt for some time now. No more GIFs! I think lots of people probably already know this trick, but it's definitely worth mentioning.
However, it still doesn't fix the problem of using transparent PNGs for backgrounds in IEs.
Monday, July 24, 2006
What sucked about getting your feet wet in J2ME
The last two days were spent on trying to get the JavaME Wireless Tookit from Sun up and working with EclipseME. It's been a frustrating experience, to say the least.
I did find this webpage with a lot of information on hacking and modding your V3 RAZR. It's got a neat little story on the history behind the RAZR.
But aside from the cute diversion, I found on a forum at MotoX, that RAZR V3 isn't capable of upgrading its Java CLDC from 1.0 to 1.1, even if you flashed the firmware.
So it looks like I'll have to go find a phone with CLDC 1.1 to get anywhere.
I did find this webpage with a lot of information on hacking and modding your V3 RAZR. It's got a neat little story on the history behind the RAZR.
But aside from the cute diversion, I found on a forum at MotoX, that RAZR V3 isn't capable of upgrading its Java CLDC from 1.0 to 1.1, even if you flashed the firmware.
So it looks like I'll have to go find a phone with CLDC 1.1 to get anywhere.
Patching tests for Salted Login Generator
It's odd, but I was having problems with the SaltedLoginGenerator for Rails. I wasn't able to run the tests at all with rake. I was getting:
and then later on, after a fix (I'll describe it later), I was getting:
I think that problem was that I had an older version of rails and ruby, so I've updated to both ruby 1.8.4 and rails 1.1.4. And because I didn't generate rails with the new version, I had to insert these two lines requiring both 'rubygems' and 'time' into my test_helper.rb under test/, before requiring the environment file in config
/usr/local/bin/ruby -Ilib:test "/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake/rake_test_loader.rb" "test/unit/entry_test.rb" "test/unit/user_test.rb" "test/unit/localization_test.rb" "test/unit/stencil_test.rb" "test/unit/publisher_test.rb" "test/unit/annolog_test.rb"
/usr/local/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:74:in `load_specification': undefined method `parse' for Time:Class (NoMethodError)
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/specification.rb:307:in `date='
...clipped...
and then later on, after a fix (I'll describe it later), I was getting:
/usr/local/bin/ruby -Ilib:test "/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake/rake_test_loader.rb" "test/unit/entry_test.rb" "test/unit/user_test.rb" "test/unit/localization_test.rb" "test/unit/stencil_test.rb" "test/unit/publisher_test.rb" "test/unit/annolog_test.rb"
/home/wil/proj/3cgworkspace/annologger/config/../test/mocks/test/time.rb:5: undefined method `cattr_accessor' for Time:Class (NoMethodError)
I think that problem was that I had an older version of rails and ruby, so I've updated to both ruby 1.8.4 and rails 1.1.4. And because I didn't generate rails with the new version, I had to insert these two lines requiring both 'rubygems' and 'time' into my test_helper.rb under test/, before requiring the environment file in config
ENV["RAILS_ENV"] = "test"
require 'rubygems' # patch to fix undefined 'cattr_accessor'
require 'time' # a patch to fix undefined `parse'
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
require 'test_help'
class Test::Unit::TestCase
# Transactional fixtures accelerate your tests by wrapping each test method
# in a transaction that's rolled back on completion. This ensures that the
Subscribe to:
Posts (Atom)

