Saturday, March 15, 2008

Polish flashcards

I have recently created flash cards for the teaching Polish alphabet. The flash cards are designed for toddlers, so they have simple, colorful pictures and simple words containing each letter. I've created a separate web page for "resources for teaching Polish to kids" but chances are that those flash cards are the only thing I will ever put on the site.

It was surprisingly easy to find images that I could use. I downloaded most of them from the public domain clip art repository (http://www.wpclipart.com). One exception is the picture for "ź" which is from http://commons.wikimedia.org. Letter "ź" is by the way the one that was most difficult to find a good word for. Some Polish words can never be at a start of a word, so I could easily give up for them but in general, I wanted for each letter a word that starts with this letter. For "ź", I considered following words: "źdźbło", "źrebię/źrebak", "źródło" i "źrenica". I liked most "źródło" but couldn't find a good image for it (if you have one you can suggest, please let me know). I didn't want to use "źrebię" because my daughter (she was 2 when I started working on the cards) would easily confuse it with the word "koń" or "kucyk". Similarly I didn't want to have to explain the difference between "źrenica" and "oko". So, I ended up using "źdźbło" but this word has four consonants in a row which doesn't really make it the best choice for one of the first words you learn in Polish.

Labels:


Tuesday, December 04, 2007

Partial hAtom support in my blog

I don't have right now enough time to go all the way but I have just converted my blog's template to partially support hAtom. I think that hAtom is great and some time ago Kevin Marks and I implemented support for hAtom in Blogger templates. Our work means that all new blogs that are created on Blogger and hosted on Blogspot have hAtom enabled by default. But my blog uses an old template that does not benefit from this new code.

It is hard or perhaps even impossible to support hAtom completely with the old templating system but I did as much as I easily could. Here are template elements I modified in my blog (the template used by me is called "Herbert"). In my quick-and-dirty notation below I use bold font combined with underline to show new things added to the template.

  • <Blogger><span class="hentry">

  • <span class="entry-content"><$BlogItemBody$></span><br />

  • <BlogItemTitle><h2 class="entry-title"><BlogItemURL><a href=">$BlogItemURL$>"></BlogItemURL>
    <$BlogItemTitle$><BlogItemURL></a></BlogItemURL></h2></BlogItemTitle>

  • <a href="<$BlogItemPermalinkURL$>" title="permanent link" rel="bookmark">permalink</a>

  • I replaced <$I18NPostedByAuthorNickname$>
    with <span class="vcard">Posted by <span class="fn"><$BlogOwnerFullName$></span></span>

  • </span></Blogger>

This gets me most of the way to supporting hAtom but those pesky timestamps are more tricky and I will live without them until I completely change my blog's templating system.

Friday, May 18, 2007

Bike ride to work

I already had a similar post but now I want to write about since this has been the first week in two years that I biked every day. Usually there's at least one day a week that I need a car or have to go somewhere else, so I have never achieved this until now. To celebrate, I took a camera with me and took a few pictures. I am also testing the new Picasa Web feature and including a slide show from the ride.




Tuesday, May 01, 2007

JavaOne 2007

I will be again at JavaOne this year. I am co-presenting JSR 277: Java Module System. I should be around at JavaOne all of Thursday because I also plan to attend the JSR-294 session (Java Language Modularity with Superpackages) and on Tuesday night to attend the BOF that will talk about both JSRs (Modularity in the Next-Generation Java Platform, Standard Edition (Java SE): JSR 277 and JSR 294).

If you are interested in chatting about Java modularity and will be at JavaOne, drop me a line.

Labels:


Saturday, December 09, 2006

Publishing videos using Flash

I wanted to publish some videos on my web site in a way that is embeddable in a web page. An additional constraint was that I didn't want to spend much time to learn how to do it. It turns out that quite quickly I found the right tools using Google search.
The first step is a conversion to the FLV (Flash Video) format. For Windows there is a free encoder called Riva VX. I downloaded it and in a few minutes I converted one of my videos to the FLV format.
Next I found the Flash Video Player that makes it possible to embed a video without Flash authoring tools. The player consists of one .swf file, one Javascript file. Those two files and the video are connected together with a little of HTML. I played with it for a few minutes and in my attempts, all four files (.swf, .js, .flv and .html) had to be in the same directory. Since I wanted to embed the video in a file whose location I didn't know and I couldn't assume that it was in the same directory as the other files, I ended up using an iframe that let me embed the video in places like blog posts. Here's the result of my experiment:

Labels:


Tuesday, May 09, 2006

JavaOne 2006

After many years, I will be coming to JavaOne again this year. The main reason is to co-present some early information about the Java Module System (JSR-277) at a BOF on Tuesday night. You can see a bit more details in Stanley Ho's blog.

JSR 294: Improved Modularity Support in the Java Programming Language is closely related and if modularity in Java interests you, you should also consider going to a presentation by Gilad Bracha at JavaOne about that JSR.

Wednesday, April 05, 2006

CGO 2007

I am in charge of the web site for next year's CGO (International Symposium on Code Generation and Optimization). This year's conference just took place in NYC and next year we are moving back to San Jose.

The submission deadline is Friday Sept. 8, 2006 and here is a list of areas suggested in the call for papers:
  • Compilers, back-end code generators, translators, binary optimization tools and runtime environments; static, dynamic, adaptive, or continuous techniques
  • Innovative analysis, transformation, and optimization techniques
  • Profiling and feedback-directed methodologies
  • Memory management, including data distribution, synchronization and GC
  • Thread extraction and thread-level speculation, especially for multi-core systems
  • Vertical integration of language features, representations, optimizations, and runtime support for parallelism (including support for transactional semantics, efficient message passing, and dynamic thread creation)
  • Phase detection and analysis techniques
  • Mechanisms and optimization techniques supporting the efficient implementation of security protection models, reliability and energy efficiency
  • Traditional compiler optimizations
  • Intermediate representations that enable more powerful or efficient optimization
  • Hardware mechanisms and systems that implement or assist in any of the above
  • Experiences with real dynamic optimization and compilation systems, particularly with large, complex applications
  • Explorations of trade-offs concerning when (static/dynamic) and where (software/hardware) to optimize
  • Particularly novel ideas of interest to this community

Tuesday, February 21, 2006

PPPJ '06

PPPJ'06 (the 2006 International Conference on Principles and Practices of Programming in Java) will take place in September in Mannheim, Germany. Abstracts of papers for the conference are due on 8 May 2006. The conference range is quite interesting:

  • Optimization
  • VM Design
  • Java Verification
  • Aspect-Orientation
  • Java-specific metrics
  • Software Engineering with Java
  • Program Design and Implementation
  • Design Patterns through Java
  • Testing of Java Programs
  • Performance of Java Programs
  • Tools for Java Programming
  • Java-based MDD/MDA
  • Applications in science, engineering, and business
  • Novel Applications of Java
  • Domain-specific Frameworks
  • Java-based Tools
  • Java-based Enterprise Computing
  • Mobile Java
  • Practice and experience
  • Java and Financial Services
  • Java and the Manufacturing Industry
  • Teaching Java Programming
  • Teleteaching Applications
  • Teaching Methods
See the CFP for more details.

Sunday, November 06, 2005

Onboard gambling may lead to free flights on Ryanair

This is pretty amazing: the European airline Ryanair made claims that it might offer gambling on its flights and that gambling would generate enough revenues to make flights themselves free. It's hard to say if this is just a publicity stunt or the future of cheap flights.

W Szczebrzeszynie chrząszcz brzmi w trzcinie

I have discovered by accident that Wikipedia has an entry about the Polish poem Chrząszcz which contains the most famous Polish tongue-twister. They even have an audio recording. Even more amazingly they have a whole list of tongue twisters in many languages including quite a few in Polish. I keep being amazed by the breadth of Wikipedia.

529

529 is a name of a college-savings plan in the US. I don't really know much about them but I've just happened to read an article about them in the Newsweek.
The whole point of using 529 is the fact that you do not pay taxes on investment gains of the money you put in a 529 funds (some states let you even deduct the contributions). This is a little complicated because while you always are free from the federal tax, you have to use your state's 529 plan to avoid the state income tax. The Newsweek article points out that if your state's 529 plan has high fees, it may be better to forgo the state income tax advantage and get a fund with lower fees. Here's a quote from that article on the fees that are common today:
Each state levies a program fee for maintaining the plan. (Under 0.3 percent of
the assets in your account is good. Over 0.5 percent is bad. These fees are
dropping fast.) The mutual-fund companies charge management fees. (Under 0.5
percent is good. Over 0.8 percent is bad.) If you buy from a broker or planner,
you also pay sales commissions (sales costs may be hidden; generally, they're
going up).

California's 529 plan is the Golden State ScholarShare College Savings Trust. So do this plan's fees compare with the Newsweek guidelines on fees? The combined two fees should be under 0.8% and for the ScholarShare they are exactly 0.8% which probably means that if you pay the California state income tax and you plan to invest in a 529, you should choose the ScholarShare.

Saturday, October 15, 2005

A-Code: code generation for Ada

During my last trip to Poland, I have been going through my old papers. One of the things I found was a copy of my MSc thesis from the Silesian University of Technology. Unfortunately, I couldn't find the electronic copy of the dissertation but I scanned parts of it and created a pdf file. The thesis is entirely in Polish but I have just created a short abstract in English. The title can be translated into English as Code Generation in the IIPS/Ada Compiler (original Polish title is: Opracowanie i wykonanie modułu kompilatora języka Ada systemu IIPS/Ada generującego kod wynikowy w postaci P-kodu). Unfortunately, as far as I know the IIPS/Ada system was never finished. I guess there were not enough graduating students who wanted to write parts of an Ada compiler system. For the curious, IIPS stands for Instytut Informatyki Politechniki Śląskiej (which means the Computer Science Institute of the Silesian University of Technology). I haven't really stayed in touch with anyone from my alma mater but I can see that my advisor, dr inż. Przemysław Szmal is still there and apparently he is still teaching compilers.
Here is the text of the English abstract of my thesis I just wrote:

This dissertation describes one module of a larger system that was supposed to be a complete set of development tools for Ada. The code generation module described here took the output of earlier compiler phases in the form of the DIANA intermediate language and generated low-level code for an abstract Ada machine. A major part of the works was the design of a language for a virtual machine for interpreting Ada programs. We took the P-Code designed with a similar purpose for Pascal (it was used in the UCSD p-System) and extended it into a language we called A-code.
The dissertation consists of 7 chapters. Chapter 1 presents motivation and describes the overall IIPS/Ada compiler system. Chapter 2 describes the DIANA intermediate language. The bulk of the text is in Chapter 3 that describes the A-Code language. The Turbo Pascal implementation of the code generator is described in Chapter 4. Chapter 5 is the user manual for the code generator and Chapter 6 describes which features of Ada have been implemented and which have been omitted. Conclusions are presented in Chapter 7. Appendix 1 contains the grammar of DIANA. Appendix 2 describes all new A-Code instructions (i.e. those that are not part of the P-Code language). Appendix 3 defines a compiler runtime library that is given in the form of A-Code procedures that can be called from the generated code. Appendix 4 gives the DIANA encoding of (parts of) the STANDARD package. Appendix 5 shows examples of test runs. The tests consist of small Ada procedures or packages manually translated into DIANA. These DIANA representations of the Ada source code were translated by the code generator and the generated A-Code representation is included in the text.

Tuesday, October 04, 2005

VEE Call For Papers

I forgot to write about this earlier but the Call For Papers for next year's Conference on Virtual Execution Environments has been posted. The submission deadline this year is on 15 December 2005. VEE 2006 will bo co-located with PLDI.

Friday, September 30, 2005

Biking to work

Sometimes when I ride my bike to work, I pass right next to birds that do not seem to mind people that much. For instance this flock of geese is pretty nice.

Sunday, September 04, 2005

Reading books

I have been reading books for a while with a group of friends in our small "book club". Today I decided to look back at the books we have read in the last few years. I went through the email sent to our mailing list and created the following table.
BookWhoSelected onDiscussed on
The Wind-Up Bird Chroniclemjc2002-06-122002-07-20
Name of the Rosejms2002-07-252002-09-20
Disgracejls2002-10-042002-11-08
The Russian Debutante's Handbookdt2002-11-252003-01-24
Life of Pikm2003-01-292003-03-21
The Pickupan2003-03-302003-05-21
Guns, Germs, and Steeljls2003-05-272003-07-31
The Lovermjc2003-08-102003-09-25
Perfumets2003-09-302003-11-01
Hyperionjms2003-11-022003-12-21
The Radetzky Marchdt2004-01-052004-03-20
The Known Worldmw2004-04-132004-07-31
I Spit on Your Gravesmjc2004-08-042004-10-02
Essays of E.B. Whiteme2004-10-042005-02-26
White Ravenrg2005-03-142005-05-20
Her Husbandkl2005-06-022005-07-16
Saturdaykm2005-07-202005-09-03

A morning picture

As I was having breakfast, I noticed that sprinklers created pools of water in various places including our shoes. I experimented a little with reflections in these water pools and I managed to get a picture that I liked although I really wished I could set focus manually in my camera.

Tuesday, August 02, 2005

MPOOL proceedings

You can now download proceedings from the MPOOL'03 workshop. One of our LIL papers (Object-Model Independence via Code Implants) has been published there.

Tuesday, July 12, 2005

Saving Face

Last weekend I watched Saving Face. This movie was quite interesting to me since interactions of cultures have always fascinated me. The Chinese concept of face that has to protected at any price is quite powerful and if you understand it, you will be less surprised by the reaction of Chinese people in some situations.

Monday, July 04, 2005

Bog Trail

Yesterday we happened to by in Daly City and since we were already in the area, we decided to check out the San Bruno Mountain State and County Park. We didn't have much time, so we took a very short hike on the Bog Trail. The hike is short but quite beautiful. The park seems to be also a great place for a picnic.
Here are a few of my pictures from the hike.




Tuesday, June 14, 2005

HPCS languages

I am attending VEE and PLDI - two somewhat related conferences in Chicago. I attended quite a few presentations and talked to a ton of people. One thing I found out is that now more information about the languages designed for HPCS (High Productivity Computing Systems) is available. HPCS is a project sponsored by DARPA. I had heard of HPCS before but I didn't realize until now that recently more and more information has been made public about three new programming languages developed for HPCS. These three languages are Fortress (developed by Sun), X10 (IBM) and Chapel (Cray). I did a quick search online and here are a few links to presentations and documentation about these languages. I had no time to read any of this yet but in the day or two since I did this search I was asked by many people at the conference about this links, so I thought that even though I have nothing to do with HPCS, I will put these links in a single place, so that others can find it without much effort.


I've had problems accessing this web site but apparently there are also slides about HPCS languages at the Language Runtimes 2004 site.

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]