tag:blogger.com,1999:blog-192802472014-10-04T22:34:06.863-07:00Troubleshooting David.exe<p align="center">About keeping up with bugs, undocumented features and frequent updates of David <br/>
(batteries not included)</p>Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.comBlogger100125tag:blogger.com,1999:blog-19280247.post-35898506497794167602009-03-06T16:02:00.000-08:002009-03-06T16:09:24.652-08:00We are BorgSometimes David just rocks! A few days ago he presented me this lego sculpture saying: "look dad, it's a spaceship!"<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4_224QQQRAU/SbG6M_EXP_I/AAAAAAAABMk/dPy5FpDv9o8/s1600-h/DSCN1048.JPG"><img style="cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_4_224QQQRAU/SbG6M_EXP_I/AAAAAAAABMk/dPy5FpDv9o8/s320/DSCN1048.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5310230167897456626" /></a><br />Although I know for a fact he has jet to see his first StarTrek the resemblance is uncanny.<br /><blockquote>We are Borg. Resistance is futile. You will be assimilated...</blockquote>Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com0tag:blogger.com,1999:blog-19280247.post-85777282102815172562009-02-27T05:10:00.000-08:002009-02-27T05:13:28.868-08:00Threads are evil<p>Having a child is an exercise in chaos. If you're a software developer you will probably not even notice any change in your daily routine. It's basically all that's wrong with project management at your workplace. Late night refactorings, ever changing specs, volatile project scope, improbable deadlines and virtually no chance of success. Still you probably end up finishing every project no mater how mismanaged. Somehow things get done and the jumbled mess of incomprehensible code produces the desired output. On strings, prayer sand a roll of duck tape, you get through it and you live to fight another project.</p><p>That’s until you encounter concurrency computing.</p><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4_224QQQRAU/SafmmAhHUwI/AAAAAAAABMU/0_55UfZAdbs/s1600-h/evilgenius.jpg"><img style="cursor:pointer; cursor:hand;width: 261px; height: 320px;" src="http://1.bp.blogspot.com/_4_224QQQRAU/SafmmAhHUwI/AAAAAAAABMU/0_55UfZAdbs/s320/evilgenius.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5307464226527728386" /></a><br /><p>If you’re a competent developer you know that threads are <a href="http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-1.pdf">evil</a>. But they pale in comparison with daily challenges of multi-offspring household. Having n > 1 children is a like developing a multithreaded application – with a few twists. In this case you’re the CPU processing the requests (this is where <s>being married</s> dual core pays off!), there’s no logging, exceptions are constant and unrelenting. Fixing a bug just means you’ve neglected to take care of something else. Being used to chaos you persevere – but invariably you burn out and fail.</p><p>It’s amazing how simple the problems you face at work seem to the veterans of n > 1 children families. Everything else is dead simple. Also you learn to appreciate your spouse. At the end of the day – she puts on her cape and turns into a superhero that saves the day. Barely being able to keep your eyes opened you gaze at the better half of your dynamic duo – she looks out of this world. You can finally close your eyes and take a nap. Her multitasking superpowers defeat the chaos. Your final thought before you daze into the never-land is: “She’d be an amazing programmer…”</p>Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com0tag:blogger.com,1999:blog-19280247.post-79843911828224065662009-01-12T06:45:00.000-08:002009-01-12T06:49:53.668-08:00Project FlowchartThis is pretty much every project I've worked on:<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4_224QQQRAU/SWtX8_PZ61I/AAAAAAAABLA/r3MaW0L50wY/s1600-h/Project2.png"><img style="cursor:pointer; cursor:hand;width: 159px; height: 320px;" src="http://2.bp.blogspot.com/_4_224QQQRAU/SWtX8_PZ61I/AAAAAAAABLA/r3MaW0L50wY/s320/Project2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5290418892556594002" /></a><br />And it accurately describes what having kids is all about. Whenever you think you've worked something out the landscape changes. You're back in the wild, it's getting dark and a low roar of the beast is heard in the distance...Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com0tag:blogger.com,1999:blog-19280247.post-50706040216525369152008-11-09T05:38:00.000-08:002008-11-09T05:41:26.259-08:00OT: Why I think Amanda Palmer is semi-goddessCoz she shares <a href="http://www.youtube.com/watch?v=33j1HZIdskY">beautiful</a>, <a href="http://www.youtube.com/watch?v=mUba4aq8imk">wacky</a>, <a href="http://www.youtube.com/watch?v=WQw9Fo8Ji3E">amazing</a> and <a href="http://www.youtube.com/watch?v=KDfIclJ8W24">special</a> moments with us? Because she’s odd? Because she gets Neil Gaiman staying at her place? Because she’s my age, but gives me more food for thought than Seth Godin? Coz she can <a href="http://www.youtube.com/watch?v=YUOgGNaNOxc">Google</a>?<br />Because hearing her voice makes Ema smile in her sleep?<br /><br />Yes.Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com0tag:blogger.com,1999:blog-19280247.post-91753983973947061682008-10-04T16:29:00.000-07:002008-10-04T16:33:36.742-07:00OT: Readable code and Regular updatesJust a quick note to let you know my new blog is online. <a href="http://readablecode.blogspot.com/">readable code</a> is my C# blog and is more technical in nature. If you're interested in checking out the first 3 installments to my Building a Regular Expression Random Data Generator series head over there now and leave some comments!Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com0tag:blogger.com,1999:blog-19280247.post-57226985382225975402008-09-06T11:29:00.000-07:002008-09-06T11:56:50.938-07:00Dad 2.0As I'm sure you are blissfully unaware of - project Ivy is now called Ema. The last internal build was on Monday and we shipped Tuesday. There was no party, no confetti, no champagne (just some prescribed medication for mom). I might be biased but the final product turned out great. We missed the deadline by 4 days which I'm sure you'll agree is practically on schedule but we are feature complete (we've got voice recognition and emission tested, waste management system on-line, food intake running...) so I'm congratulating myself on a job well done!<br />Also we've changed our url, but that's a topic for the next post with the working title: My life is a box, (Boxing Goran?).<br />Also I'm internetless! For the first time in 8 years I'm offline. Well not completely off line as I got my mobile phone and this UMTS card for my laptop. But I feel as if I'm all alone and naked in the dark... OK. That was waaay off topic.<br />So no pictures till I get my computer running again, which is incredibly low on mom's priority list. So as soon as I set up the kitchen, build that rack, fix the sink and move that TV - you'll be the first to know.Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com0tag:blogger.com,1999:blog-19280247.post-88631185703217824002008-08-31T12:33:00.001-07:002008-09-01T07:47:36.190-07:00The return of the lego dinosaursDavid is definitely going through his dino phase. I fondly remember <a href="http://en.wikipedia.org/wiki/Dino_Eggs">mine</a>. Dinosaurs are all he thinks about all day. Here's a wonderful example of a Diplodocus...<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4_224QQQRAU/SLryIuUMUCI/AAAAAAAAAww/5OeAUb6-XAo/s1600-h/diplodok.jpg"><img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_4_224QQQRAU/SLryIuUMUCI/AAAAAAAAAww/5OeAUb6-XAo/s320/diplodok.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5240767348084592674" /></a><br />It's still lego and it's still dino's but I'm much happier with the latest development. I'm sure you'll notice there is no <a href="http://bloganot.blogspot.com/2008/07/lego-horror.html">cave men</a> lurking around eager to play with the diplodocus. Yay! <br /><br />Dad 1 : creationism 0.Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com2tag:blogger.com,1999:blog-19280247.post-40628583827952637252008-08-31T11:58:00.000-07:002008-08-31T12:22:19.652-07:00Index is out of bounds<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4_224QQQRAU/SLrq49qT5aI/AAAAAAAAAwo/hgXxP-JCfnk/s1600-h/cat.jpg"><img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_4_224QQQRAU/SLrq49qT5aI/AAAAAAAAAwo/hgXxP-JCfnk/s320/cat.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5240759380744594850" /></a><br />Our countdown to <a href="http://bloganot.blogspot.com/2008/06/project-ivy-private-beta.html">project ivy</a> has just returned an unhandled exception. We have passed zero and we're counting upwards.<br />On a side note we're also (4 days) late on moving-to-a-new-house project. I'm sure you'll notice that neither of these is my fault!<br />But being a bit late in a project is nothing new to us software developers. Now why is that? I'm sure we've all read books on project estimations, multiplied our estimates by pi, threatened to quit if project scope gets out of hands again. Still none of this makes a difference. The problem is that projects get late by the actions (or lack of actions) of people who have no vested interest in meeting the deadline. The guys that pour concrete don't care about me moving in. My boss keeps forgetting I have a life. And I guess "ivy" will come out whenever she's ready and isn't aiming for the due date.Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com0tag:blogger.com,1999:blog-19280247.post-47023307737650718162008-08-27T15:22:00.000-07:002008-08-27T15:25:58.744-07:00OT: Interface pet peevesWhen talking about badly designed UI’s age verification interfaces surely deserve a few (thousand) words.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4_224QQQRAU/SLXT8WiAd7I/AAAAAAAAAv8/ONozYuaZdv0/s1600-h/VYA.png"><img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_4_224QQQRAU/SLXT8WiAd7I/AAAAAAAAAv8/ONozYuaZdv0/s320/VYA.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5239326775309268914" /></a><br />The basic premise of age verification controls is quite bizarre in itself. Somehow, somewhere, someone got the bright idea that the best way to weed out those not old enough to handle mature content is to ask for their birth date. Yeah.<br />Next up is the fact that 99 out of a 100 controls will use the dreaded drop down menus for day, month and year selection. Drop down menus are the worst UI invention since, well ever – but that’s another story. I guess using a calendar to choose a date would be too radical.<br />And last but not least, the vast majority of controls out there list years in a descending order. This means that 2008 (or the year the page was put up) is the first choice offered. How many less-then-one-year olds are using the internet these days? And are they really looking for mature content?Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com1tag:blogger.com,1999:blog-19280247.post-83185924657932748492008-07-30T13:12:00.000-07:002008-07-30T13:22:22.526-07:00OT: Wiki GamingI'm always on a <a href="http://bloganot.blogspot.com/2007/10/ot-gaming.html">lookout</a> for computer games that David might find interesting in the future. I'm looking for something non-violent that stimulates creativity and perhaps teaches you a few things about the world around you. So invariably most of the games in the selection are physics based.<br />I recently came across this gem of a game called <a href="http://fantasticcontraption.com">Fantastic Contraption</a>. The game simulates a simple 2D world with a few gadgets you can use to create a contraption. The goal of the game is to push, drag, drive or hurl an object from your work area to the goal area. Sounds simple right? Well, it depends on the level you play! And the level I had most fun on was this one:<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_4_224QQQRAU/SJDLlOWDfCI/AAAAAAAAAvs/5x3kZrxbnu4/s1600-h/problem.jpg"><img style="cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_4_224QQQRAU/SJDLlOWDfCI/AAAAAAAAAvs/5x3kZrxbnu4/s320/problem.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5228903007743343650" /></a><br />Your task is to get the ball through the area of falling boulders to the goal. My first successful contraption was a caterpillar that dug through the boulders and used around 30 pieces to get the job done. But soon when enough people completed the first 20 levels new challenges were invented. Something the creator of the game never thought about. One of the challenges was to see what the lowest number of pieces is needed to complete a level. Surprisingly the <a href="http://fantasticcontraption.com/forum/viewtopic.php?f=3&t=28">answer</a> is usually between 0 and 3 pieces!<br />So I got back to work and thought about using the using the boulders and a seesaw to hurl the ball to the goal. Sure enough I made a green solution (not using any of the powered widgets – another user game-play invention!) the level using 8 pieces and proudly posted it to the forums. Took them less then two hours to tweak my design to <a href="http://fantasticcontraption.com/?designId=119514">3 pieces</a>.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_4_224QQQRAU/SJDLlc5dEjI/AAAAAAAAAv0/0Rlk4H5xQDo/s1600-h/solution.jpg"><img style="cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_4_224QQQRAU/SJDLlc5dEjI/AAAAAAAAAv0/0Rlk4H5xQDo/s320/solution.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5228903011649917490" /></a><br />I'm always amazed by the power of collectives. Browsing through the contraptions has got to move you. So many ideas and approaches to solving the same problems, so many brilliant solutions. I'm definitely bookmarking this one.Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com0tag:blogger.com,1999:blog-19280247.post-88862037277487611862008-07-29T09:42:00.000-07:002008-07-29T11:01:11.274-07:00Lego horrorI came home the other day and to my horror found another lego set box in the middle of the hallway. It's not the legos you see. I love the fact David plays with them. Stimulating young minds and all that. But the box showed – ah just look at it.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_4_224QQQRAU/SI9I0zwNo5I/AAAAAAAAAvc/cryUJznPZpE/s1600-h/horror1.jpg"><img style="cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_4_224QQQRAU/SI9I0zwNo5I/AAAAAAAAAvc/cryUJznPZpE/s320/horror1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5228477764483261330" /></a><br />Was I wrong at being horrified by this image? How about this one at the side of the box.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_4_224QQQRAU/SI9I0-3ePrI/AAAAAAAAAvk/paw2PJqu9N0/s1600-h/horror2.jpg"><img style="cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_4_224QQQRAU/SI9I0-3ePrI/AAAAAAAAAvk/paw2PJqu9N0/s320/horror2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5228477767466499762" /></a><br />Dinosaurs and (what I can only gather are) neatherdals playing together? Is that creationists trying to creep their way in my home? Was it wrong that I sat David down and explained (ok, I'm not saying he got it) that dinos and humans never coexisted in the same period (he just smiled and said diinooo!). I continued railing on about Dinosauria, millions of years of evolution and DNA while mom slowly took him out of the room.<br /><br />I guess what I’m getting at is that I fail to see significant difference between making sure David is safe from physical harm and making sure he’s safe from intellectual harm. So I’m doing my best on both fronts but the damn legos sure aren’t making things easy.Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com2tag:blogger.com,1999:blog-19280247.post-77431185775650377912008-07-21T09:17:00.000-07:002008-07-21T09:22:10.596-07:00How do you tell if your boy is a Dilbert or a Pointy Haired Boss?The other day I was watching David play with his Legos. He was putting together a train when he encountered an engineering problem. You see, not all of the undercarriages can be joined together as some are missing their couplings. But just then in an “Also sprach Zarathustra” sound tracked moment he picked up the toy wrench and connected the final train-carriage. <br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_4_224QQQRAU/SIS3IZTxarI/AAAAAAAAAu8/BQIXPsnQAEo/s1600-h/DSCN0420.jpg"><img style="cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_4_224QQQRAU/SIS3IZTxarI/AAAAAAAAAu8/BQIXPsnQAEo/s320/DSCN0420.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5225502822517271218" /></a><br />I’m guessing he’s a Dilbert.<br /><br />Right now David and Mom went to the sea-side and I’m home alone for the week. So I just miss them. A lot.Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com0tag:blogger.com,1999:blog-19280247.post-25631845907406030882008-06-02T12:50:00.000-07:002008-06-02T13:21:26.209-07:00Project Ivy Private BetaProject Ivy has gone from concept phase to private beta. Still the wonders of modern technology make it possible to take a snapshot of the development build. And here's the exclusive!<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_4_224QQQRAU/SERS2DkG6LI/AAAAAAAAAuw/prCp5GM76XE/s1600-h/ema12.jpg"><img style="cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_4_224QQQRAU/SERS2DkG6LI/AAAAAAAAAuw/prCp5GM76XE/s320/ema12.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5207378157770303666" /></a><br />How great is that? It's quite hard to believe we're able to create things like that - even though it's the second time around. And it's quite emotional for me to even look at that picture. I guess evolution wired us to feel like that, so that we might take better care of our offspring. But the other part of me thinks that this just might be on of the two cutest faces on the planet.<br />I'm off to view the rest of the video again (yes, that's why they call it the 4d ultrasound - don't get me started!) and give the Subversion server (mom) a big hug :)Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com0tag:blogger.com,1999:blog-19280247.post-58297091582960212712008-05-20T14:07:00.000-07:002008-05-20T15:00:22.927-07:00Bug Bash And Meta<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_4_224QQQRAU/SDNJ61X43_I/AAAAAAAAAmA/HjUZATWTB2g/s1600-h/300px-IvyMike2.jpg"><img style="cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_4_224QQQRAU/SDNJ61X43_I/AAAAAAAAAmA/HjUZATWTB2g/s320/300px-IvyMike2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5202583269651570674" /></a><br /><br />The amount of news happening in my life is inversely proportional to the frequency of posts on this blog. Since all three of us came down with a flu I've got some time to spare.<br />Our next project is a (fingers crossed!) female version of David codenamed <a href="http://en.wikipedia.org/wiki/Operation_Ivy">Ivy</a>. I'm guessing 10 megatons will compare to the yield of that event. So I'm kinda wondering if I should discontinue David.exe or expand it?<br />I mean - come September I'll have zero time to report and by January I'll have two projects on my hands. And we're moving to a new house! How much will Ivy differ from David? Can they both fit in the same blog? Is it too soon for David to start blogging himself?<br />Leave a note after the beep...Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com0tag:blogger.com,1999:blog-19280247.post-85020108459331110712008-03-02T13:50:00.000-08:002008-03-02T14:06:20.421-08:00A new projectOk, it’s time to come clean. I’ve been absent for a while as we (my significant other and I) were starting a new project. You see David has been going so well lately we somehow got the idea we’re actually good at this. Like - we could launch another startup while not breaking a step at the current one.<br /><span style="font-style:italic;">We’re overly optimistic I know!</span><br />If that wasn’t enough, we decided to move. Yep, when turning your life upside down it’s best to do it thoroughly. Paying obscene attention to detail, we’ve planed the moving date to coincide with the due date.<br /><span style="font-style:italic;">I know, perfect!</span><br />For those of you obsessed with everything David (and those of you not answering your phones!), the codename for this one is Percy. Got that? It’s David’s idea and if you don’t know who Percy is (hint: think locomotives with human faces) you do not have kids, are not around kids, do not like kids and shouldn’t be reading this blog anyway. Now the only officially stable aspect of my life is my job.<br /><span style="font-style:italic;">Don’t worry – it’s under consideration!<br /></span>Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com0tag:blogger.com,1999:blog-19280247.post-36278617481698537192008-01-19T15:38:00.000-08:002008-01-19T15:41:15.788-08:00Teh BugzDespite utilizing the latest and greatest development methodology, being agile, unit tested (Oops - test driven!), aspect oriented, interface based, source controlled, continuously integrated, FXCop-ed, NDepend checked and NBenchmarked, service layered, RESTed and KISSed on a regular basis - there’s this tiny little bug…<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_4_224QQQRAU/R5KKMFhySTI/AAAAAAAAAkw/BuXRzZIxqnE/s1600-h/bug.jpg"><img style="cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_4_224QQQRAU/R5KKMFhySTI/AAAAAAAAAkw/BuXRzZIxqnE/s320/bug.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5157336463539587378" /></a><br /><br />You see, David has no problem putting this puzzle together on his own. Gathering the right pieces, get them correctly aligned and oriented and popping them in. It’s just this one piece he keeps getting the wrong side up. Every time.Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com0tag:blogger.com,1999:blog-19280247.post-41976876493434077752007-12-25T01:09:00.000-08:002007-12-25T04:25:54.705-08:00And I, for one, welcome our new robot overlords!<span style="font-weight:bold;">The best gifts are carefully chosen</span><br /><br />Let’s say it is Christmas season and you need to buy a gift for your geeky spouse. It’s the easiest task in the world! You see, we might have grown up, became parents project managers and all that. But we’re still geeks. So turn on that dusty laptop we bought you a long time ago, google for <a href="http://www.thinkgeek.com/">geek toys</a> and buy anything with robot, usb or led in the description.<br /><br /><span style="font-weight:bold;">The best gifts are gifts that need assembling</span><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_4_224QQQRAU/R3D2Xtm0zfI/AAAAAAAAAkg/yOQAd8YatQo/s1600-h/instr.jpg"><img style="cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_4_224QQQRAU/R3D2Xtm0zfI/AAAAAAAAAkg/yOQAd8YatQo/s320/instr.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5147885261324340722" /></a><br />It appeals to our geeky nature to have to figure things out, to learn what makes stuff tick and to get a gift as a collection of parts is pure heaven. To us the assembly phase is not the means to a goal, it is the goal.<br /><br /><span style="font-weight:bold;">The best gifts come with “spare” parts</span><br /><br />Nothing worries us more then parts that don’t fit. You see, missing a part is not our fault. They forgot to pack it in so it’s their fault. But parts left over from construction – now that’s pure horror. Then again – perhaps we’re so brilliant we somehow managed optimize the construction and saved on parts.<br /><br /><span style="font-weight:bold;">The best gifts are robots</span><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_4_224QQQRAU/R3D2lNm0zgI/AAAAAAAAAko/OmQNogPfNvU/s1600-h/robo.jpg"><img style="cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_4_224QQQRAU/R3D2lNm0zgI/AAAAAAAAAko/OmQNogPfNvU/s320/robo.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5147885493252574722" /></a><br />Period!Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com0tag:blogger.com,1999:blog-19280247.post-41412587053949152142007-11-12T03:31:00.000-08:002007-11-19T00:18:16.091-08:00Two point oh and still in beta<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_4_224QQQRAU/Rzg6JucyclI/AAAAAAAAAjo/6ELdDEPwlAo/s1600-h/David2.png"><img style="cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_4_224QQQRAU/Rzg6JucyclI/AAAAAAAAAjo/6ELdDEPwlAo/s320/David2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5131915714150691410" /></a><br />Yes, we did it! We shipped! You should have been there. <a href="http://us.imdb.com/title/tt0083658/quotes">I’ve seen things you people wouldn’t believe</a>. Parties, beaming with kids dancing to loud music… I watched confetti glitter in the disco light near the plasma TV. All those moments have been captured on digital discs as zeros and ones, to live forever in that which is web. Time to upload…<br /><br />So what’s new in version 2.0?<ol><li>Upgraded to Verbal Communication Foundation (with sl-si language support and reliable messaging services)</li><li>Waste Disposal Adapter (potty)</li><li>Auto navigation (not slamming into walls so much)</li><li>Auto recharging (self cleaning module missing!)</li><li>Voice Directed Action Control™ (stop, don’t, wait, OMG)</li><li>Innumerable bug fixes and corrections</li></ol><br />But the most important thing isn’t visible in the fact sheets and comparison charts. There’s been a fundamental shift in the way this project is developed. Throughout the 1.0 phase it’s been mostly about mom and dad. Everything revolved around us. We controlled the vertical and the horizontal. As we approached the new milestone, we began detecting small foreign inputs, bits and pieces that didn’t fit in our neatly structured curriculum. A paradigm shift not unlike that which happened on the web had begun. <br /><br />David’s progress and development had slipped out of our control. We’re no longer the editors. User generated content now replaces all we tried to teach. With so many information providers out there, you can’t really compete. It’s the kindergarten teacher, it’s his peers, it’s the tubes and the series of tubes, it’s the passerbys and bystanders. Mom and dad still matter, but matter less each day. I know that now and I’ll accept that one day. Till then I’ll take comfort in my zeros and ones captured on digital discs, that live forever in that which is web. Time to download…Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com2tag:blogger.com,1999:blog-19280247.post-41191528090279686422007-10-29T17:01:00.001-07:002007-10-29T18:06:00.652-07:00OT: GamingJust felt like sharing some of my favorite games. Surprisingly, most of them are free or really cheap games. Perhaps it's down to my c64 and amiga upbringing but games based on ideas attract me more then games based on polish and bling.<br />Also, most of the games are physics based. This is only natural as small scale / single developer games can't compete on professionally drawn graphics, orchestrated music, star actor voice-overs... A single guy doesn't have the time to draw all the baddies, but he can program them! So here's a short list:<br /><br /><b><a href="http://www.experimentalgameplay.com/game.php?g=1">Tower of Goo</a></b><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_4_224QQQRAU/RyZ1VzzaAhI/AAAAAAAAAdk/MubnK03jp_c/s1600-h/game_tog.png"><img style="cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_4_224QQQRAU/RyZ1VzzaAhI/AAAAAAAAAdk/MubnK03jp_c/s320/game_tog.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5126914243351413266" /></a><br />Originally an experimental game-play project game (see below) but one that might have spun a <a href="http://www.2dboy.com/">new company</a> for the author. The game is based upon a simple idea of having to build a tower using amorphous substance called goo. All you need to do is pick up a goo blob and stretch it to form a truss. Besides building a solid structure the player is rushed by remaining goo blobs which have a tendency to concentrate on the most precarious, the highest peek of the built structure. This shifting mass makes your buildings somewhat unstable and reaching the target height proves quite challenging.<br /><br /><b><a href="http://www.kloonigames.com/blog/">Crayon physics</a></b><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_4_224QQQRAU/RyZ1UTzaAeI/AAAAAAAAAdM/etC4M8eTJow/s1600-h/game_c.png"><img style="cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_4_224QQQRAU/RyZ1UTzaAeI/AAAAAAAAAdM/etC4M8eTJow/s320/game_c.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5126914217581609442" /></a><br />Another EGP favorite. The basic idea of this game is that your drawings become physical objects in the game. You draw a box and a box of the same size appears in the game, drops down to a see-saw and flings a ball across the screen. The object of each level is to touch a star with your ball.<br /><br /><b><a href="http://www.toribash.com/">Toribash</a></b><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_4_224QQQRAU/RyZ1VDzaAgI/AAAAAAAAAdc/1I7gxz2NJ34/s1600-h/game_tb.png"><img style="cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_4_224QQQRAU/RyZ1VDzaAgI/AAAAAAAAAdc/1I7gxz2NJ34/s320/game_tb.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5126914230466511362" /></a><br />I bought this game a while ago but newer versions seem to be free. Also the rendering engine got upgraded a lot! The basic premise of this game is physics based fighting. You control a 3d fighter through issuing basic commands (relax, stretch, hold, grip...) to his joints. After making your moves the simulation continues a certain amount of frames whereupon you're given a choice to again issue new commands. In multi-player mode you have a limited time to issue your commands before the simulation continues. This results in an amazing combat game with no prefixed moves or combos but simply amazingly realistic action. The game is heavily modded and supports a wide array of game rules (most damage wins or player that touches the ground first looses etc.).<br /><br /><b><a href="http://www.fun-motion.com/physics-games/zen-bondage/">Zen bondage</a></b><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_4_224QQQRAU/RyZ1yTzaAiI/AAAAAAAAAds/KjBrQ_1k5UU/s1600-h/game_zb.png"><img style="cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_4_224QQQRAU/RyZ1yTzaAiI/AAAAAAAAAds/KjBrQ_1k5UU/s320/game_zb.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5126914732977685026" /></a><br />In this game your task is to wrap a wooden object with a thread. Your task is to cover almost 100% of the object so any concave areas must be navigated with care.<br /><br /><b><a href="http://intihuatani.usc.edu/cloud/flowing/">Flow</a></b><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_4_224QQQRAU/RyZ1UzzaAfI/AAAAAAAAAdU/RAIcSXSy3zQ/s1600-h/game_f.png"><img style="cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_4_224QQQRAU/RyZ1UzzaAfI/AAAAAAAAAdU/RAIcSXSy3zQ/s320/game_f.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5126914226171544050" /></a><br />An extraordinarily clever game following a unique game design philosophy. You control a small creature that gains size and speed by eating other creatures in the game. You're given free choice of progressing through the game levels (depth) in sequence or skipping through to the final level at once.<br /><br /><b><a href="http://www.chroniclogic.com/">Bridge construction set</a></b><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_4_224QQQRAU/RyZ1TzzaAdI/AAAAAAAAAdE/87W9H66jtBQ/s1600-h/game_bcs.png"><img style="cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_4_224QQQRAU/RyZ1TzzaAdI/AAAAAAAAAdE/87W9H66jtBQ/s320/game_bcs.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5126914208991674834" /></a><br />My all time favorite (although not free!) game. The history of this game started out with BridgeBuilder which was a 2d bridge building game. Next came Pontifex which moved the game in 3d environment and added different bridge building material. The last of the series called BridgeIt upgraded the graphics engine but for me BCS is still the best in the lot. Your task in this game is to use the available material (iron, steel trusses or cables) and build a bridge capable of passing a test (like having a train pass over it). It's one of those games where creativity rules. <a href="http://www.bridgebuilder-game.com/">BBG</a> still hosts contest where the most efficient bridge (read cheapest) which completes a level wins. Some of the entries just blow you away. Also somewhere along the line we started making walking / moving structures :). This was not something the creators of the game ever envisioned but clearly shows the power of building games as a platform for expression a not a collection of pretty pictures.<br /><br />If you like games like these, then head over to <a href="http://www.fun-motion.com/list-of-physics-games/">Fun Motion</a>, <a href="http://www.experimentalgameplay.com/">Experimental game-play project</a> or <a href="http://www.introversion.co.uk/">Introversion Software</a>. Those should keep you busy for months!Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com0tag:blogger.com,1999:blog-19280247.post-19715732771724699202007-10-25T13:35:00.000-07:002007-10-25T13:41:08.563-07:00The Gnome AchievementAnyone even remotely connected to <strike>gaming</strike> computers has surely heard about <a href="http://orange.half-life2.com/">Half-life 2</a>. While most will agree the game is a brilliant example of what games can be – I for one believe it is much more then that. Half-life 2* is a metaphor for life.<br />Episode one begins with you waking up buried under a pile of rubble (womb). The character dog (your dad) helps you out (birth) at which point you are reunited with Alyx (your mom). You hit the ground running fending of Combine (bad influences), following Vortigaunts (good influences). Most of the game revolves around trying to escape the Citadel (college) and avoiding antlions and zombies (drugs and other dangers of college-life). Your choices are limited and usually directed by Alyx.<br />In episode two you have graduated to adulthood. You’re given more choice and control of movement. And finally, although cleverly hidden, you’re given a choice of ensuring progeny.<br />Of course I’m referring to the now infamous <a href="http://www.kfj.f2s.com/index.php/2007-10-15-gnome-quest">gnome achievement award</a>. The gnome, you get a choice of bringing along through the game, is your child. In this wonderful parable that is episode two, you will be given the task of taking care of it, making sure it gets through to the next level and finally placing him carefully into the rocket thereby ensuring its prosperous future.<br /><br />*1/2 life * 2 = lifeGoranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com0tag:blogger.com,1999:blog-19280247.post-56318909453777625702007-10-24T01:43:00.000-07:002007-11-15T00:39:50.574-08:00About keeping scoreOne thing we parents do obsess about is constantly testing our offspring to see how they measure up to other kids within the same age group. This “friendly” competition used to be quite contained to relatively small groups of friends and families. You could always rely on some smug relative commenting on the fact that his project reached a milestone a full week ahead of yours. “These things matter you know,” he’ll say. “She’s only two but by this time next year, we’ll be enrolling her to collage! She’s a genious like that kid on <a href="http://www.youtube.com/watch?v=r43yCiKlbCo">YourTubes</a>!” (Yes, both misspellings were intentional)<br />While I’ve yet to meet a 5yo who can’t walk or talk (barring illness or birth defect!), it somehow seems crucial our kids start doing those things way ahead of schedule. I wonder why we’re less enthusiastic when our kids start dating at 15… <br /><span style="font-weight:bold;">So the next time you get cornered like that, put on your best casual face and calmly retort with: “How wonderful! Ours just had his first beer.” and walk away.</span><br />Beats the hell out of “saved the rainforest”, “cured cancer” or “finished a new C++ compiler written entirely in javascript”.Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com0tag:blogger.com,1999:blog-19280247.post-9613025453880704612007-10-13T00:51:00.001-07:002007-10-13T00:57:08.201-07:00Mom vs. DadSometimes life gets overwhelming and bloging falls of the daily routine. I know I have lots of catching up to do (there are a couple of posts that are missing parts) but this one takes priority.<br />Mom had to leave on a business trip today. As always, packing was done two weeks in advance. Mom is a <a href="http://en.wikipedia.org/wiki/Waterfall_model">waterfall model</a> proponent. Me? I’m agile of course. I pack on (JIT) my way to the door. Luckily the bathroom is right next to the front door so I rarely forget my toothbrush.<br />Anyways, mom took a week planning the trip, mentally packing the suitcase, integrating various articles of clothes and testing for stylistic mismatch. With no automated regression testing (this is the specification phase of the project!) the only recourse is to mentally construct the model of a finished outfit and check for faux pas. This was followed by a week of separating, washing and rewashing of selected garments and actual packing. My agile approach would consist of grabbing any clean (not necessarily recently washed!) clothes spread out from the bedroom to the bathroom. <br />Special items such as gloves, umbrellas, second and third pair of shoes and other just-in-case objects would be purchased on a need-to-have basis at the airport at my place of destination. I probably need to buy them anyway so I might as well save myself an unnecessary trip to the shoe store. Not to mention the fact that thinking of things you'll bring along, talking them over with your spouse, then writing them down and finally putting them in your suitcase clearly violates the <a href="http://en.wikipedia.org/wiki/DRY">DRY</a> principle!<br />With packing phase concluded it was time to find a lock for the suitcase. Security is the most overlooked part of any project. This is what mom’s idea of a suitcase padlock looks like:<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_4_224QQQRAU/RxB5Nl6CjrI/AAAAAAAAAc0/X7Zy8VPMsCM/s1600-h/lock_mom.jpg"><img style="cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_4_224QQQRAU/RxB5Nl6CjrI/AAAAAAAAAc0/X7Zy8VPMsCM/s400/lock_mom.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5120726050741063346" /></a><br />A puny, tiny padlock hardly worthy of it’s name and clearly no match for the security device I selected:<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_4_224QQQRAU/RxB5Nl6CjsI/AAAAAAAAAc8/-XYD8Y37Hvg/s1600-h/lock_dad.jpg"><img style="cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_4_224QQQRAU/RxB5Nl6CjsI/AAAAAAAAAc8/-XYD8Y37Hvg/s400/lock_dad.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5120726050741063362" /></a><br />Behold the Targus Defcon 1 – Ultra. All in one solution complete with 4 digit security code, status indicator and motion detection alarm. The first image shows the two in comparison. I know – as if there was any...Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com0tag:blogger.com,1999:blog-19280247.post-38815546570457089362007-07-18T02:34:00.000-07:002007-07-18T02:37:18.480-07:00OT: Why I think William Shatner is a demigodWhen you say William Shatner people think Captain James Kirk of the Enterprise. How his <a href="http://en.wikipedia.org/wiki/William_Shatner">amazing</a> career managed to get hidden is unbelievable. Did you know he starred in a movie with all dialog spoken in Esperanto? Did you know he recorded two studio albums (some songs with Ben Folds among others)? If you get a chance go listen to Has Been please do (here’s a live performance of <a href="http://www.youtube.com/watch?v=eISBTBwWKeE">Pulp / Common People</a> from the album) . It’s an amazing album and it’s more serious than it first appears. Did you know he wrote books (yes he, not some ghost writers)? Did you all manage to not see him play Big Giant Head in 3rd rock or Danny Crane in Boston Legal? The guy even has a <a href="http://www.livevideo.com/shatnervision">vlog</a>!<br /><br />Anyways – that’s all I needed to say. You're no common man and I’m your number one fan!Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com0tag:blogger.com,1999:blog-19280247.post-37126618050458480582007-06-20T13:10:00.000-07:002007-06-20T13:26:19.648-07:00Classic mistakes (part I)Having recently been <a href="http://www.codinghorror.com/blog/archives/000889.html">reminded</a> of the <a href="http://www.stevemcconnell.com/rdenum.htm">classic mistakes</a> in software development I decided to see how well they apply to parenting. As this covers a large area I’ll split the posting in three parts covering 12 points each. So here we go:<br /><ol><br /><li><p><b>Undermined motivation</b></p><p>Your parents will (without fail) tell you (in excruciating detail) exactly what you are doing wrong. On rare occasions you'll do something right just to be reminded of the many times you did it wrong.</p></li><li><p><b>Weak personnel</b></p><p>Uhm… I should skip this one.</p></li><li><p><b>Uncontrolled problem employees</b></p><p>See 2.</p></li><li><p><b>Heroics</b></p><p>In this field you’ll need heroism. Especially at 3am while forming the words: “Honey, I think it’s your turn now.”</p></li><li><p><b>Adding people to a late project</b></p><p>Grandparents, friends, babysitters, friendly neighbors will add new behavioral patterns to your baby (they will not correct or improve them).</p></li><li><p><b>Noisy, crowded offices</b></p><p>The emphasis is on noisy.</p></li><li><p><b>Friction between developers and customers</b></p><p>Your baby may feel you are not cooperating and not meeting his/her needs. You may feel your baby is being unreasonable. This leads and is partially caused by poor communication.</p></li><li><p><b>Unrealistic expectations</b></p><p>You may expect to do a good job – give your offspring a happy childhood and all. Fifteen years from now, you’ll get a chance to explain it all to their psychiatrist.</p></li><li><p><b>Lack of effective project sponsorship</b></p><p>There are no sponsors in this business. There are however family members eager to fill the role.</p></li><li><p><b>Lack of stakeholder buy-in</b></p><p>See 9.</p></li><li><p><b>Lack of user input</b></p><p>You need to read this one as lack of meaningful user input. There’s plenty of meaningless user output (also see 6.)</p></li><li><p><b>Politics placed over substance</b></p><p>You’ll receive unbelievable amount of hints, suggestions to follow and vehement criticism for not following some latest parenting model (apparently - Indigo parenting has been renamed Fundamental Communication Parenting).</p></li></ol><br />There’s nothing like taking a word most unrelated to children and stick parenting at the end. I recommend making-up your own parenting model to counter such advice. Lately I’ve had some luck using (well <a href="http://haacked.com/archive/2006/10/09/Software_Development_Is_A_Religion.aspx">Agile </a> and <a href="http://www.geniusdenied.com/articles/Record.aspx?NavID=13_32&rid=11506">Asynchronous </a> parenting were already taken!) <b>Ajax parenting</b>. The idea behind Ajax parenting… well it deserves a separate posting. Keep an eye on your rss reader for the next 12 points though.Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com0tag:blogger.com,1999:blog-19280247.post-45202572474553832022007-06-13T11:15:00.000-07:002007-06-13T11:26:07.405-07:00OT: International Slow Server DayAs a <a href="http://www.bullshitjob.com/titles.html">Chief Paradigm Administrator</a> at my current place of employment I nominate this day - 13th of June as the International Slow Server Day. It's free - I <a href="http://www.unac.org/en/news_events/un_days/international_days.asphttp://www.unac.org/en/news_events/un_days/international_days.asp">checked</a>! <br />You know those days when queries just seem to take forever, when transactions have a way of getting entangled, when every (l)user just has to access just about every record in the database, when rendering a simple "Hello world" is more then the poor ol' web server can handle, when disk access is maxed and constant and there's no free memory left? Well, today was that day...<br />So If you agree with my notion that we need a special day, dedicated to just keeping the servers cool and giving them a day off - sign up below.Goranhttp://www.blogger.com/profile/10139708420826522656noreply@blogger.com3