Today I am implementing the LZW data compression algorithm as a toy project.
LZW stands for Lempel, Ziv, and Welch, its creators. It was the first widely used universal data compression method on computers.
Its popularity led it to be included in many file formats people use every day: GIF and TIFF images, PDF files, and files sent to your printer.
Sunday, November 15, 2009
Friday, November 13, 2009
Wednesday, November 11, 2009
Tuesday, November 10, 2009
Early Days

Image source: http://www.flickr.com/photos/27523472@N07/2567400039
Fell into a transcript of an interview with Gerald D. Cohen, founder of Information Builders, Incorporated in 1975, whose first product was FOCUS, one of the leading mainframe databases of that era, from about 1970 to 1980. The whole thing is a fascinating insider's look. The techie part begins around the end of page 13 and continues through RAMIS, then FOCUS.
Link: http://docs.google.com/gview?a=v&q=cache%3AcN6NFyPWZzsJ%3Awww.cwhonors.org/archives/histories/cohen.pdf+WebFOCUS+%2Bacronym+mainframe+%22information+builders%22&hl=en&gl=us&sig=AFQjCNFAMDVyVMp9IGM9tZxJiw_cVk-3cQ
Originally curious what FOCUS stood for. In the interview above, Mr. Cohen remarks, "We labeled this program FOCUS. I guess it stood for online computer users, but we needed was an acronym that was easy to remember. So we gave it a computer type name, and FOCUS was our term for this non-procedural language."
Monday, November 09, 2009
Meltpools
This fall it is cozy to light a candle while coding and manage the wax to create the largest meltpool.
Learning as I go along. Any tips from the reader base? I am currently melting a 4 x 6" Pier 1 ginger peach.
Some tips from a former Yankee Candle manager.
Learning as I go along. Any tips from the reader base? I am currently melting a 4 x 6" Pier 1 ginger peach.
Some tips from a former Yankee Candle manager.
Sunday, November 08, 2009
Monday, November 02, 2009
What I Have Learned About Cooking Duck
- Duck fat. Duck fat. Duck fat. Duck fat.
- It is hard to go wrong with roast duck.
- Trussing.
- Stuffed with one or two peeled potato chunks to absorb any off-taste.
- How to cut off the head, neck, and feet.
- Clipped the wings.
- Salt, pepper, and paprika rub.
- Pour water into the roasting pan so oven does not get splattered.
- About two hours at 190 C (375 F)
- Poke holes into the duck to drain the fat layer.
- Use a roasting rack; do not want the duck absorbing all the drained fat.
- Carving duck does not produce a lot of meat; a bit on the legs, the wings, and breast.
Wednesday, October 28, 2009
Saturday, October 24, 2009
Ethical Problems in Computer Engineering (1965)
A book I want to read:
http://eureka.lib.csus.edu.proxy.lib.csus.edu/record=b1242250~S35
http://eureka.lib.csus.edu.proxy.lib.csus.edu/record=b1242250~S35
| Author | American Society for Engineering Education. Ethics Committee |
| Title | Ethical problems in engineering, by Philip L. Alger, N.A. Christensen [and] Sterling P. Olmsted. Edited by Barrington S. Havens and John A. Miller |
| Publisher | New York, J. Wiley [1965] |
Tuesday, October 20, 2009
Computer Science Topic Generator
At least I will not have to worry about how to pick out my computer science thesis topic:
http://www.cs.purdue.edu/homes/dec/essay.topic.generator.html
http://www.cs.purdue.edu/homes/dec/essay.topic.generator.html
- A meta-level functional architecture related to a high-level secure preprocessor
- A high-level digital network for a high-level mobile theorem prover
- A parallel secure system derived from a synchronized binary architecture
Monday, October 19, 2009
Duck Confit
Somehow in about two weeks I have to learn how to make duck confit.
Necessity is the mother of invention.
What I have learned so far:
UPDATE: This person may have saved the day:
http://www.youtube.com/watch?v=fwpwqtmKcgc
http://www.youtube.com/watch?v=714ifZ-Kgnw
Not traditional by any means (not cured; not poached in rendered duck fat; not cured in fat); but for I bet it approaches the quality of duck confit without quite the cost and ingredient sourcing involved with the rendered duck fat.
UPDATE:
Necessity is the mother of invention.
What I have learned so far:
- Frozen duck is expensive; fresh duck is probably more expensive.
- Several local poultry locations in Sacramento may carry duck; the downtown farmer's market may also carry duck meat. Or the Asian markets. Raley's and Wholefoods carry frozen duck.
- It takes rendered duck fat to make duck confit. A lot of rendered duck fat; about one pound of fat per cup of rendered fat. Good to know! Rendered duck fat is expensive to buy; about $10 per half-pound. :P Unrendered duck fat runs about $10 for 5 lbs.
- I will probably want to have on-hand: metal strainer; candy/deep-fry thermometer; covered baking dish
- It will take time to make: (1) 36 hours to salt cure the meat; (2) anywhere from 1.5-7 hours to bake; (3) curing time in the fat; (4) reheating time prior to serving.
UPDATE: This person may have saved the day:
http://www.youtube.com/watch?v=fwpwqtmKcgc
http://www.youtube.com/watch?v=714ifZ-Kgnw
Not traditional by any means (not cured; not poached in rendered duck fat; not cured in fat); but for I bet it approaches the quality of duck confit without quite the cost and ingredient sourcing involved with the rendered duck fat.
UPDATE:
- The Sacramento Farmer's Market sells "Beef, Pork, Chicken, Fish. No duck or lamb."
- Corti Brothers sells frozen duck for $5/lb. They sell rendered duck fat, 7 ounces for $8.50
- New American Poultry sells frozen duck legs and breasts for $3/lb. They sell frozen ducks for $2/lb. They do not sell rendered duck fat.
Graduate School: Spring 2011
When I last checked in with Dr. Cui Zhang, CSUS computer science department graduate program adviser, we dusted off my graduate school transcript and determined I had one or two classes to retake. This afternoon, I checked in with her again and reviewed my progress.
The bad news is from the cursory analysis she picked out several other classes she suggested I retake. The good news is she seemed upbeat about me getting A's in the two classes I am retaking. She suggested I consider taking four classes:
She seemed relieved when I told her I was considering entering in Spring 2011. The current deadline for Fall 2010 enrollment is mid-November. Some other random notes:
UPDATE: CSC 60 is also ARC CISP 453, MW 10:30-11:50 a.m., and Lab from 12:00-1:20 p.m.
The bad news is from the cursory analysis she picked out several other classes she suggested I retake. The good news is she seemed upbeat about me getting A's in the two classes I am retaking. She suggested I consider taking four classes:
- CSC 60 - Intro System Program Unix (3 Units)
- Spring 2010 TR 1:30-2:45 p.m. (Chung Wang)
- CSC 132 - Computing Theory (3 Units)
- Spring 2010 TR 4:00-5:15 p.m. (Meiliu Lu)
- CSC 139 - Operating System Principles (3 Units)
- Spring 2010 MW 5:30-6:45 p.m. (Senad Busovaca)
- STAT 50 - Intro Probability+Stat (4 Units, gulp)
- Spring 2010 MWF 4:00-5:10 p.m. ("Staff")
She seemed relieved when I told her I was considering entering in Spring 2011. The current deadline for Fall 2010 enrollment is mid-November. Some other random notes:
- The CSC department assigns grad students to an adviser based on last name, after they become fully classified (all entrance requirements met).
- There is no such thing as an unclassified graduate student any longer. Everyone is either conditionally classified or fully classified.
- Graduate students may choose either a thesis or a project. It is student-dependent, and not something to really think about until the student approaches advancement to candidacy.
- Once a student advances to candidacy (begins working full time on the final project/thesis), the student gets to pick their own faculty supervisor. This may be different than the adviser they were assigned when they became fully classified.
UPDATE: CSC 60 is also ARC CISP 453, MW 10:30-11:50 a.m., and Lab from 12:00-1:20 p.m.
Radio Songs
Heard on KYDS, 91.5:
Calgary, Alberta-based Tegan and Sara's "Monday Monday Monday" from their 2003 album, "If It Was You," on the Vapor/Sanctuary label. Video.
Calgary, Alberta-based Tegan and Sara's "Monday Monday Monday" from their 2003 album, "If It Was You," on the Vapor/Sanctuary label. Video.
Sunday, October 18, 2009
CSUS CSC 130 First Midterm Exam Grades
The first midterm grades from my class this semester are in; it was a bloodbath:
Maximum possible points were 100. Out of 57 test takers: 6 earned better than a B (11%); 6 earned a C (11%); 12 earned a D (21%); and 33 earned an F (58%). The test counts for 15% of the final grade.
To repeat: 60% failed using a scale of 90+ = A, 80-90 = B, and so forth.
| Section One | Section Two | |
| 80+ | 3 | 3 |
| 70-79 | 3 | 3 |
| 60-69 | 7 | 5 |
| 50-59 | 11 | 9 |
| 49- | 7 | 6 |
| Average | 58.81 | 59.62 |
| Standard Deviation | 12.84 | 15.48 |
Maximum possible points were 100. Out of 57 test takers: 6 earned better than a B (11%); 6 earned a C (11%); 12 earned a D (21%); and 33 earned an F (58%). The test counts for 15% of the final grade.
To repeat: 60% failed using a scale of 90+ = A, 80-90 = B, and so forth.
Saturday, October 17, 2009
Unicode to the Windows Console
Spent a lot of time refreshing my memory of Unicode this evening, trying to figure out how to get Unicode in Java to appear properly in the Windows console.
Apparently, native calls to the Windows subsystem are suggested as the best way, but how can this be a good thing for a write-once, run-anywhere language?
Running "chcp 65001" to select the Unicode code page for the console, and then executing the Java code as "java -Dfile.encoding=UTF-8 class" barfs all over my screen. The Unicode character I want to print comes out OK, but the rest seems broken.
UPDATE:
Apparently this works:
System.console().writer().print("\u2591");
System.console().writer().flush();
UPDATE #2:
OK, this only works for code page #437. o_O Time to call it a night. Will attempt to print my character tomorrow: http://www.fileformat.info/info/unicode/char/2591/index.htm
UPDATE #3:
This link was informative: http://stackoverflow.com/questions/1272032/java-utf-8-strange-behaviour . Perhaps it is because I am encoding some values and not others?
Apparently, native calls to the Windows subsystem are suggested as the best way, but how can this be a good thing for a write-once, run-anywhere language?
Running "chcp 65001" to select the Unicode code page for the console, and then executing the Java code as "java -Dfile.encoding=UTF-8 class" barfs all over my screen. The Unicode character I want to print comes out OK, but the rest seems broken.
UPDATE:
Apparently this works:
System.console().writer().print("\u2591");
System.console().writer().flush();
UPDATE #2:
OK, this only works for code page #437. o_O Time to call it a night. Will attempt to print my character tomorrow: http://www.fileformat.info/info/unicode/char/2591/index.htm
UPDATE #3:
This link was informative: http://stackoverflow.com/questions/1272032/java-utf-8-strange-behaviour . Perhaps it is because I am encoding some values and not others?
I Heart Java Debugger
I love it, I hate it. OK, I love it!
So far so good. Once I got past the weird quirk with the java compiler not overwriting already compiled classes with debugging information. :P
So far so good. Once I got past the weird quirk with the java compiler not overwriting already compiled classes with debugging information. :P
Java Debugger is Dumb
Took me about 15 minutes to realize the java bytecode compiler was not overwriting all my class files when I compiled with debugging information (-g) turned on.
Removing all the class files, then recompiling worked.
Removing all the class files, then recompiling worked.
Sunday, October 11, 2009
Monday, October 05, 2009
2009 Vision Exam
My last eye exam was in May, 2008. Today I had new results:
SRX (Spectacle Prescription)
O.D. (Oculus Dexter, my right eye):
I went in today because I have been having intermittent vision issues, which after consultation seem to be...migraines. I have never had them before, so apparently they affect vision pretty severely.
SRX (Spectacle Prescription)
O.D. (Oculus Dexter, my right eye):
- SPH: -0.75
- CYL: +1.00
- AXIS: 170
- SPH: -0.75
- CYL: +0.50
- AXIS: 178
I went in today because I have been having intermittent vision issues, which after consultation seem to be...migraines. I have never had them before, so apparently they affect vision pretty severely.
Subscribe to:
Posts (Atom)
