Tags related to tag ideas
Saturday, October 21. 2006
Shells Parent Hacks Core Dump
I get an empty journal book for the child every year. I tape or glue memory stuff in there like pamphlets from the zoo, birthday cards, swim lessons certificates etc. I put the dates on them and the dates on important things that happened that year. The rest of the book is open for the child to fill. It is a keepsake and teaches the child to keep a journal or sketchbook which is an important skill at any age.
There is nothing like opening a present on Christmas Eve. A taster for the next morning. I get my kids Christmas pajamas that they can open on Christmas Eve so they are festive for the morning.
Instead of making bottles up ahead of time, I put the powder in a bottle, then when it is time for baby to have bottle, just add warm water. You don't have to keep the bottles in the fridge or cooler, and you don't have to heat it up.
I have a sure fire way of getting a child to sleep through the night at a very early age. Pick a simple short book (Sandra boynton is great) and make that the last thing before you put the child in bed and only at night, never for nap. Do this from a very early age, I started at 3 weeks. This book becomes the cue for bedtime. The child knows what to expect. We did this with my daughter since she was 3 weeks old till she was about 1 1/2. She has always been a great sleeper.
When my kids would fight or have a hard time learning something I would tell them the special bedtime stories. I would change their names just slightly and tell them a story about these kids. I would change the details slightly about the issue they were dealing with. They would get involved in the story and I would ask them questions about how the kids in the story should deal with the issue. They would come up with solutions looking at it from an outsider point of view, which is easier to do without having the emotional aspect to deal with as well. They were able to see both sides. Then I thought these were the last thoughts in their heads before they went to bed so maybe it would sink in. It really seemed to work.
Making bottles ahead of time can be a hassle. I found if I used the gravy maker from Tupperware it was much easier. It has markings on it for the water. Close it up and shake and put it in the fridge.
Instead of babyproofing everything, I leave stuff on the shelves and tables within reach that is adult only but safe and not breakable. When baby starts to play with the items at an early age I teach them no. I say no, that they aren't allowed to play with it and remove them from the temptation. It is almost enough to drive you crazy for a long time, but if you stick to it, they learn at a very early age. I can take my daughter anywhere and people don't have to start moving things as soon as the child walks into their house.
When the child shares I make a big deal out of it. Tell them how wonderful it is that they are sharing with plenty of clapping. They learn that sharing is not something to get upset about, but rather it is something fun that makes everyone happy.
I have a hard time bathing the child in the bathtub. I get a backache leaning over. When the baby is small enough, till they are about 1 or even more, I bath them in the kitchen sink.
When feeding baby I give the baby a spoon of their own so they learn how to use it early.
Don't hide the small arguements from the child. Do it without anger and let them see the resolution as well so that they can learn how do deal with negatives.
Remember that the child is not doing whatever it is that is making you angry "to you" or to be bad. Try to understand "why" they are doing it. For instance, if the child is throwing food on the floor they might be doing it cause it made a really neat sound. This doesn't mean that they are allowed to do it, but it will help with the way you deal with it without anger.
Say please and thank you, sorry and your welcome on a regular basis. You won't have to spend alot of time teaching your child this, they will pick it up from watching you.
I find that if they child has boundries they are much happier. They don't have the skills or the need to make decisions. However, flexibility is just as important. Sometimes, they need to feel that they have a say in what is going on.
Wednesday, October 11. 2006
If every piece of media had a backstory...
So what if every piece of media has a backstory, or even better, given a back story? It wouldn't necessarily have to be public, but it would be an interesting way to get the creative juices flowing. Something to do on the ever-repeating public transit commute that I perform 6 times a week.
Pick a piece of media, and give it a backstory, or (if it is a spoken word podcast for instance) give it a front (i.e. a sketch or something similar).
What a great way to limber up ones creative muscles!
Tuesday, July 25. 2006
Googles Summer of yawn.
Scheme Code and Lists
Here is an example of a "list" in Scheme:(1 2 (3 4))This is a list of 3 elements, the numbers 1, 2, and another list containing the numbers 3 and 4.
Creating a function to create the list looks like this:
(lambda () (list 1 2 (list 3 4)))This perfectly exemplifies how similar code and data really are. There is an amazingly powerful set of functions to cope with and take care of lists, which makes building lists to later execute as code an absolute breeze.
Why does the PHP Preprocessor need to be stuck in a world of #ifdefs and #includes? Instead of blindly copying what the C preprocessor does, why not focus on the languages strengths and deficiencies? The object system of PHP needs to be looked at, and see if it can be improved upon through a method of code transformation. Imagine being able to tell your preprocessor that you were writing a facade pattern, and having it fill in 90% of the details, leaving you with the last 10% of implementation. The reason that the PHP community (and similarly the Java community) are so all upon the pattern bandwagon is that both languages lack the facility to gracefully express the patterns in abstracted code; if there was a way for a preprocessor to deal with this deficiency, then a fundamental flaw of the language is fixed. So why not use a subset of PHP to transform PHP? Just as you use PHP to transform an X(HT)ML document, you could use a speedy subset of PHP to transform a PHP document.
The focus on an inline preprocessor is quite limiting as well. All of the processing capabilities are simply skipping over and replacing small sections of code. Why not take a page from the very powerful syntax-rules processor of R5RS Scheme? In fact, its template matching rules would probably make a lot of sense to PHP developers, it is like using a website template in reverse!
Like I said before, my problem with the macro system as described is that it just copies existing functionality from somewhere else without looking at the problem of creating dynamic, maintainable websites quickly; or looking at the issues surrounding macros and meta programming.
Now a Language on top of Scheme that builds PHP applications would be cool.
Tuesday, May 30. 2006
A New Style of Writing Blog Entries
Normally when I write a blog entry, there are 2 ways that I can go about doing it, I can either slam out an entry in a matter of minutes or I can lovingly craft an entry over a period of what can sometimes be months. As you might imagine, there are problems with both styles.
When I am just slamming out an entry there are spelling and grammatical errors, and it is definitely not my best writing. This is usually because I am pressed for time, or I just want to get something out the door, mostly to say "Hello" to my readers, and let them know I am still alive. Something that is very important as I am pressed for time.
If I lovingly craft an entry, it is basically the exact opposite. Some of my best entries in terms of structure, grammar, and clarity have gone through multiple drafts and revisions. In fact, frequently I will start one of these entries and then finish them off 2 months later. They really are the cream of the crop.
The problem is, that neither style is working for me. I want the speed of option one, with the beauty of option 2. Where is my damn cake, and a fork to eat it with?
IDEA! Outlining...
Back in junior high, we were taught to outline our thoughts, before we wrote our paper. Very complex things—these outlines. First you have to make sure everything is indented properly, and your first level of indentation should be in Roman numerals, the next level uppercase letters... oh the structure! The problem with this method of outlining is that it isn't conducive to writing down thoughts as we think them. Mind Mapping is a great technique, but I don't want to pull out a scratch piece of paper every time I want to write a blog entry.
The thing is, that outlining is a really powerful technique of writing a blog entry (or essay, or book, or..) before actually writing it. It provides a focus and a structure. Because there is a clear delimiter of where the end goes, it is easy to write out an entry in a short span of time, and not get lost half way through, or run out of steam. As ideas come and go, the outline can be added to and subtracted, and there is an easily visible road map of what you are doing and where you are going.
Here is an example outline that I did for this entry (how wonderfully meta):
- what i did in past
- slam one out real quick
- spelling errors
- not best writing
- write revise write revise write revise
- good writing, clear
- takes forever, months even
- new idea with outlines
- speed up entry writing
- make writing clearer
- outline using simple text - this one for example
- see how it goes - maybe publish more entries
I've already written this entry in half an hour, which isn't really that bad. Maybe I can end up publishing more entries and still maintain my extremely busy 2 job with family day. I guess we will just have to "see how it goes".
Thursday, May 25. 2006
Physical Interfaces
I want one that when I smash the desk in fustration, my computer blinks a kawaii sad face and says "I'm sorry" and a cute little tune plays, with bouncing rabbits and flowers. Some kind of digital valium for when Internet Explorer is giving me (and every other web developer in the world) the bum-shaft.
Tuesday, May 23. 2006
Intarweb Filter Sports, Decentralization, and Missing Opportunities
Ryan had apparently set up a so-called Web proxy from his home computer so that when he was at school, he could direct requests for banned sites like MySpace through a Web address at home, thereby tricking the school's filter. (Web, or CGI, proxies can be Web sites or applications that allow users to access other sites through them.)(original story from c|net)
"I eventually tracked down the (Internet Protocol) address, so that it doesn't work for him anymore," said Don Wolff, tech coordinator in the Phoenix-Talent School District, adding that Ryan didn't face disciplinary action. "It's against our acceptable-use policy, but he's not going to quit trying, (and this way) we can keep learning."
"This is a hot new trend among kids for getting around Web filters," Wolff said.
This is really quite interesting, because it is the nature of the web to be decentralized and difficult fo filter. To me, this seems like a missed opportunity. Certainly school IT departments should try their best to filter out "inapropriate content"—and what a can of worms that is, lets sidestep it—but websites like MySpace can be used within an educational setting, both as a way for students across town to share notes, ideas, and collaborate on school projects. Further, resources could be utilized to explain online preditors and how to avoid them.
Just a few thoughts.
Saturday, April 29. 2006
Unit testing CSS and HTML
I crave unit testing. Unit testing is a method where programmers can test the results of any code they create, or (especially) modify, to make sure that it conforms to a set of requirements. It is also called a "test harness" which simultaneously brings images of something that saves your life if you slip and fall down a cliff, and something that binds you.
Unit Testing is practically automatic. When you write code, you write some tests that run along side the code, and when you are ready to "push the change upstream" and make your code live, you run the unit-tests first, to be sure that everything is running well. Running the tests is as easy as clicking on a test button, or launching your favourite build utility; they are painless to run and it only takes just a few mindless seconds.
Web Developers don't have that luxury. Instead, when it is time to test, they have to open at least 2 browsers—though quite likely 4-6 and visually inspect the results. This can get downright physically painful (multiple IEs anyone?). Trying to do any effective CSS refactoring is effectively impossible, because there is no easy way to test the results. Something. Must. Be. Done.
A web development unit tester
A web development unit tester would do something like this:- Automagickally validate the rendered HTML page (rendered because changes are you are using some kind of ASP/JSP/PHP funkiness) for valid (x)HTML, CSS, broken images and broken links
- Visually compare the rendered pages against a set of "templates" to ensure that any changes to the stylesheet or underlying markup don't have any adverse effects.
How can unit-testing happen for CSS?
Not Easily.Essentially what needs to happen is that a visual representation needs to be compared to ensure that everything "looks good". This fuzzy definition really encodes the problem. One solution I have thought of involves opening the page in all of the target browsers rendering engines, rendering the full page directly to an image, and then comparing the images pixel vs. pixel against a known "last-good" result. If the pixels differ, the offending pixels could be highlighted and the developer could choose to specify that the variation is within acceptable bounds and not be warned about it again, or fail the test.
This would be especially helpful when moving style-declarations around a style sheet, for instance, when pushing up a declaration to a parent element, or down to a child element. These kind of refactorings should change nothing in the visual presentation of the page, but should make the stylesheet smaller, easier to read, and easier to parse: for machines and humans.
Who wants to build this?




