Showing posts with label simple. Show all posts
Showing posts with label simple. Show all posts

Friday, November 23, 2012

Review The 4 Hour CHEF


I've just finished reading Timothy Ferriss' book The 4-Hour CHEF. It's a strange cooking book, to say the least. It's the only book I've read so far that includes not only recipes for various meals, but also catching food in the wild or even pigeons in the park. Also mentioned in there is memorization techniques good for developing vocabulary and random numbers.

I suppose it all dove in with his goal of "Meta Learning." As a jack of all trades myself, I approve. True that the book will not make you a Master Chef, as opposed to Joy of Cooking, but that's what the references are for. There's a lot of links in the book that goes back to his website. I have yet to check them all.

There's a lot of interesting tid bits, including how to win eating contest (he didn't, not exactly) and still be thin (he is). I'm not too happy about the fried rice meal. My favorite is the chicken fried rice, and although he has chicken, and fried rice, the featured fried rice featured mealworms, instead of chicken. Well, I suppose adapting his recipes is a given.

I am also not too happy with his tool selection. Way too many tools for what is supposedly a simple chef. I suppose now I have to get myself a 7 inch chef knife. That and a thermometer. Not to mention Modernist Cuisine book by Nathan Myhrvold. He also didn't mention my favorite cooking implement: Rice cooker. Using rice cooker effectively is what enables me to write 1000 words essay while the food is cooking. To be fair, he did mention 2 hour chicken meal, and I can fit in more than 1000 words with that kind of meal, but I digress.

A section of surviving catastrophe, like San Francisco earthquake is very interesting. Apparently, you need to be able to survive on your own for about 7-10 days without electricity or water. Get out a generator, because that is what you need to power your refrigerator! Very interesting and important knowledge to have. I just didn't expect to find it in a cookbook!

If Timothy Ferriss would come down my way sometimes, I'd like to ask him if he's interested in learning computer languages. After all, I learned my first computer language, the Applesoft Basic, in 3 hours. That's one hour shorter than his 4 hours learning. Admittedly, the subsequent computer language took longer than that, at about 2 days to one week. It's still relatively fast approach, though, compared to the traditional computer programming learning.

Maybe I'm an outlier. My life has never been an easy conformance. I sure want to know whether that 5 minutes per week weight-lifting exercise is any good. I suppose I'll need to add his other book to my library as well. Sigh. I'm supposed to be writing Nanowrimo right now! I wonder if Barry Ross wrote a book? Will have to check that out.

This book review was written while my food is cooking on rice cooker. It just beeped me, so I’m done!

Tuesday, August 14, 2012

Small Basic Soroban Abacus


'Soroban - Japanese Abacus - SKH302
'Harry Hardjono
'August 2012
'
'These Unicode Characters draw Card Suits: Spade, Heart, Diamond,Club
'TestStr=Text.GetCharacter(9828)+Text.GetCharacter(9825)+Text.GetCharacter(9826)+Text.GetCharacter(9831)
'
'Over one hour is wasted because the Unicode characters for CharCL (empty bead) DO NOT LINE UP.
'


InitLoop:
GraphicsWindow.MouseUp=OnMouse
GraphicsWindow.Title="Small Basic Abacus"
GraphicsWindow.Width = 400
GraphicsWindow.Height=400
GraphicsWindow.FontSize=20
'GraphicsWindow.FontName="Courier"
GraphicsWindow.Clear()
GraphicsWindow.Show()
GraphicsWindow.BrushColor="white"
GraphicsWindow.FillRectangle(0,0,GraphicsWindow.Width,GraphicsWindow.Height)
GraphicsWindow.BrushColor="black"


CharCL=text.GetCharacter(9508)  '+text.GetCharacter(9474)+text.GetCharacter(9553)


SKB[0]=Text.GetCharacter(9556)
SKB[1]=Text.GetCharacter(9553)
SKB[2]=Text.GetCharacter(9553)
SKB[3]=Text.GetCharacter(9568)
SKB[4]=Text.GetCharacter(9553)
SKB[5]=Text.GetCharacter(9553)
SKB[6]=Text.GetCharacter(9553)
SKB[7]=Text.GetCharacter(9553)
SKB[8]=Text.GetCharacter(9553)
SKB[9]=Text.GetCharacter(9562)
DGT=" "


For i=1 To 15
  SKB[0]=Text.Append(SKB[0],Text.GetCharacter(9572))
  SKB[1]=Text.Append(SKB[1],Text.GetCharacter(9830))
  SKB[2]=Text.Append(SKB[2],Text.GetCharacter(9830))
  SKB[3]=Text.Append(SKB[3],Text.GetCharacter(9578))
  SKB[4]=Text.Append(SKB[4],Text.GetCharacter(9830))
  SKB[5]=Text.Append(SKB[5],Text.GetCharacter(9830))
  SKB[6]=Text.Append(SKB[6],Text.GetCharacter(9830))
  SKB[7]=Text.Append(SKB[7],Text.GetCharacter(9830))
  SKB[8]=Text.Append(SKB[8],Text.GetCharacter(9830))
  SKB[9]=Text.Append(SKB[9],Text.GetCharacter(9575))


IBB[i]=0
ISB[i]=0
DGT=Text.Append(DGT,(5*BB[i]+SB[i]))
EndFor


SKB[0]=Text.Append(SKB[0],Text.GetCharacter(9559))
SKB[1]=Text.Append(SKB[1],Text.GetCharacter(9553))
SKB[2]=Text.Append(SKB[2],Text.GetCharacter(9553))
SKB[3]=Text.Append(SKB[3],Text.GetCharacter(9571))
SKB[4]=Text.Append(SKB[4],Text.GetCharacter(9553))
SKB[5]=Text.Append(SKB[5],Text.GetCharacter(9553))
SKB[6]=Text.Append(SKB[6],Text.GetCharacter(9553))
SKB[7]=Text.Append(SKB[7],Text.GetCharacter(9553))
SKB[8]=Text.Append(SKB[8],Text.GetCharacter(9553))
SKB[9]=Text.Append(SKB[9],Text.GetCharacter(9565))




DrawLoop:
GraphicsWindow.FontSize=32
DKB=SKB
BB=IBB
SB=ISB
x= GraphicsWindow.MouseX
y= GraphicsWindow.MouseY
DGT=""


DoMouse()
DoBead()


For i=1 To 15
  DGT=Text.Append(DGT,(5*BB[i]+SB[i]))
EndFor


GraphicsWindow.FontSize=32
  GraphicsWindow.BrushColor="white"
  GraphicsWindow.FillRectangle(30,254,334,35)
  GraphicsWindow.BrushColor="black"
GraphicsWindow.DrawText(35,250,DGT)


GraphicsWindow.FontSize=40
For i=0 To 9
  If (ODKB[i]<>DKB[i]) Then
  GraphicsWindow.BrushColor="white"
  GraphicsWindow.FillRectangle(39,14+i*25,315,25)
  GraphicsWindow.BrushColor="black"
  EndIf
  GraphicsWindow.DrawText(20,i*25,DKB[i])
  ODKB[i]=DKB[i]
EndFor


Program.Delay(150) 'Wait 150 miliseconds
Goto DrawLoop


Sub DoBead
  For i=1 to 15
      DKB[2-BB[i]]=Text.Append(Text.Append(Text.GetSubText(DKB[2-BB[i]],1,i),text.GetCharacter(9553)),Text.GetSubTextToEnd(DKB[2-BB[i]],i+2))
      DKB[4+SB[i]]=Text.Append(Text.Append(Text.GetSubText(DKB[4+SB[i]],1,i),text.GetCharacter(9553)),Text.GetSubTextToEnd(DKB[4+SB[i]],i+2))  
  EndFor
EndSub




Sub DoMouse
  map_var="mx1=39;mx2="+x+";mx3=354;my1=1;my3=16" 'Xcoord mapped to 1-15
  map()
  cx=Math.Floor(map_var["my2"])
  If (cx>=1 and cx<=15) then
    If (y>39 And y < 85) Then
      map_var="mx1=39;mx2="+y+";mx3=85;my1=2;my3=0" 'Ycoord mapped to 1-0
      map()
      cy=Math.Floor(map_var["my2"])
      If (cy>=0 And cy<=1) Then
        BB[cx]=cy
      EndIf
    EndIf


    If (y>114 And y < 237) Then
      map_var="mx1=114;mx2="+y+";mx3=237;my1=0;my3=5" 'Ycoord mapped to 1-0
      map()
      cy=Math.Floor(map_var["my2"])
      If (cy>=0 And cy<=5) Then
        SB[cx]=cy
      EndIf
    EndIf
  EndIf


EndSub


'----------------------------------------------
'map function
'----------------------------------------------
Sub map
  'x1-x2-x3 y1-y2-y3
  '(x2-x1)/(x3-x1)=(y2-y1)/(y3-y1)
  'y1+(y3-y1)*(x2-x1)/(x3-x1)=y2
  map_var["my2"]=((map_var["my3"]-map_var["my1"])*(map_var["mx2"]-map_var["mx1"])/(map_var["mx3"]-map_var["mx1"]))+map_var["my1"]
EndSub
  
'----------------------------------------------
'event function
'----------------------------------------------
Sub OnMouse
IBB=BB
ISB=SB
EndSub  

Monday, June 4, 2012

Wario Ware DIY Review (short version)

Originally posted on Amazon.com. I figure I'll need to refer to the game development steps later. A more complete review is at Amazon.com



The designers have selected a very clever set of instructions. These aren't the traditional game development algorithm set, but they do provide most of the capabilities desired. There are some instructions missing. Namely "Tap Screen" can use area parameter, and "Switch object" can use "Switch OTHER object". You can do a work-around the limitation, so those aren't strictly necessary, but the designers sure miss an easy way to define Hotspots, IMHO.

The package does provide all that a game designer needs. Namely, screen and objects, paint program, music program, storyboard (actually comic strip, but who's nit-picking?), and distribution channel. All you game designers wannabe, this is your chance to have your creation showcased to the world!

I managed to re-create my very first computer game (Cowboy shoots red dots) on the Amiga. The difference is, instead of 12 hours of work, on WarioWare DIY, it was only 1.5 hours, graphic included! Even though the options and animation are necessarily more limited, I daresay that the fun level is quite high! This is the natural result from the ever-increasing game speed as the play progressed. Granted, the design is fixed, and that is the hardest thing, but still, 1.5 hours! Including learning the package? I'm getting sick. I wish I had this "game" then!

My usual step is:
1. Idea (I use comic strip program provided)
2. Technical (Objects, AI, and programmer's art)
3. Presentation (Better graphics, color, animation)
4. Sound and Music (I use automatic music generation, and fiddle it a bit)
5. Playtesting (As a complete game)
6. Refinement (Trying out different ideas)

As you probably can tell, those steps are usually fielded by different hats. They are: Game Designer, Programmer, Artist, Musician, Play-tester, User (feedback). The really nice thing about this, is that you do not have to be everyone. Thanks to the sharing feature, you can choose to be an artist only, and draw graphics (Wario jobs). Or you can be a programmer (Advanced Dojo Skill). Or perhaps a game designer with great idea (comic strip as storyboard). Maybe you're just an avid gamer, and want to participate in game evaluation and give feedback? Friend code and Wii Showcase.

You can also use the sharing feature as a "Save" feature. I know I have modified a game several times, after I shipped it. Also, I have no hesitation to provide a game filled with programmer's art (colored boxes, really) knowing that somebody with a better artistic skill can put good graphics. Perhaps some comic book artist who don't know how to program, but want to put his characters in a game? Done!

More importantly, I think that this is a great program to share among friends. You are not limited to just games, after all. How about animated greeting cards? Or a Jack-in-a-Box surprise? Vocabulary builder type of games? Math skills? The sky is the limit.

In conclusion, this program is a very versatile, yet easy to use creativity program, limited only to your imagination. Its utility is far reaching, and yet another "must-have" in your Nintendo DS library. Sharing is highly encourage and that's a good thing.