tag:blogger.com,1999:blog-45422402559812983272024-02-20T20:54:56.325+10:00abznakabznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.comBlogger53125tag:blogger.com,1999:blog-4542240255981298327.post-14134459834531721182020-12-18T22:00:00.005+10:002020-12-18T22:14:54.472+10:00Fixing Open AI Retro Gym - Windows Integration UI crash<p> I had trouble getting the <a class="reference external" href="https://retro.readthedocs.io/en/latest/integration.html">Windows Integration UI</a> to work - it kept crashing. It turns out you need to drop the downloaded exe in your python retro package's install directory. You can find that directory using:</p><p></p><blockquote><p>import retro</p><p>print(retro.__file__)</p></blockquote><p></p><p> See also: <a href="https://github.com/openai/retro/issues/159">https://github.com/openai/retro/issues/159</a></p><p><br /></p>abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com7tag:blogger.com,1999:blog-4542240255981298327.post-87152731833538321912020-12-18T21:53:00.005+10:002020-12-18T21:53:57.695+10:00Bookmark all tabs at once in firefox<p>You can bookmark all the tabs in the current window at once in Firefox (in 2020) using ctrl-shift-d.<br /></p><p>via <a href="https://www.askvg.com/how-to-bookmark-all-tabs-in-mozilla-firefox-option-in-tab-context-menu-missing/" rel="nofollow">askvg</a> <br /></p><p><br /></p>abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com1tag:blogger.com,1999:blog-4542240255981298327.post-8056117920887988322020-04-22T08:09:00.004+10:002020-04-22T08:09:49.008+10:00Sharing a mouse and keyboard between computersI wanted to share a mouse and keyboard between two computers today. It happens to be between two Windows PCs, so I tried out Microsoft's <a href="https://www.microsoft.com/en-us/download/details.aspx?id=35460">Mouse Without Borders</a>, instead of my usual Synergy (or US224 USB Sharing Device).<br />
<br />
I like it. It's easy to install, and has the settings I want.<br />
<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheAoTNwQo5XgMpL3JMUsi0LFFCT2-u7dRyhSqcdTZCNo3tMWe7yYpCDw8FLS1rx7b-bMnq16au1cKT3_ZTZo48Pirpk9lQ7utfxOB9PKylWYRgFoMNHH7pHGLXCLPrbTqz-O7F2NIZM_U/s1600/mouse_without_borders.png" imageanchor="1"><img border="0" data-original-height="454" data-original-width="593" height="245" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheAoTNwQo5XgMpL3JMUsi0LFFCT2-u7dRyhSqcdTZCNo3tMWe7yYpCDw8FLS1rx7b-bMnq16au1cKT3_ZTZo48Pirpk9lQ7utfxOB9PKylWYRgFoMNHH7pHGLXCLPrbTqz-O7F2NIZM_U/s320/mouse_without_borders.png" width="320" /></a><br />
<ul>
<li>Benefits over Synergy: It's free (Synergy you need to compile from source, or pay for). </li>
<li>Benefits over my USB Sharing Device: Sharing Device takes several seconds to switch computers, Mouse Without Borders does not. </li>
<li>Downside to Mouse Without Borders: Windows only.</li>
</ul>
abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com3tag:blogger.com,1999:blog-4542240255981298327.post-42548534478291321332017-02-28T15:39:00.003+10:002017-02-28T15:41:32.631+10:00Another shadertoy experiment.Another shadertoy experiment. There is a long and slightly boring story behind it, but I think I'll just show it to you. You can click in different places to change its settings.<br />
<br />
<iframe src="https://www.shadertoy.com/embed/llcXWX&paused=false" style="height: 500px; width: 500px;"></iframe><br />
<br />abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com1tag:blogger.com,1999:blog-4542240255981298327.post-46070698401148961962017-02-22T13:16:00.000+10:002017-02-22T13:16:15.785+10:00wrong bash.exe when installing Windows Subsystem for LinuxIf you're following the instructions at <a href="https://msdn.microsoft.com/en-au/commandline/wsl/install_guide">https://msdn.microsoft.com/en-au/commandline/wsl/install_guide</a> to get Microsoft's Linux environment installed, but you also have a Ruby devkit on your path, the "<span style="background-color: white; color: #333333; font-family: "Segoe UI", "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; font-size: 15px;">Run </span><code style="background-color: #f9f2f4; border-radius: 4px; box-sizing: border-box; color: #c7254e; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.5px; padding: 2px 4px;">bash</code>" instruction doesn't work. Because it runs the devkit bash instead of the WSL bash.<br />
<br />
You want "<span style="background-color: white; color: #333333; font-family: "Segoe UI", "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; font-size: 15px;">Run </span><code style="background-color: #f9f2f4; border-radius: 4px; box-sizing: border-box; color: #c7254e; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.5px; padding: 2px 4px;">c:\windows\system32\bash</code>" instead.<br />
<br />
<br />
<br />abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com1tag:blogger.com,1999:blog-4542240255981298327.post-4550377615152940612016-12-20T23:22:00.002+10:002016-12-21T14:48:49.093+10:00TIL - harvesting energy by radiating heat into spaceToday I learned:<br />
<br />
<ul>
<li>You (well, researchers) can passively cool an object by about 37°C by carefully radiating heat into space. <a href="http://www.nature.com/articles/ncomms13729">Nature - Radiative cooling to deep sub-freezing temperatures through a 24-h day–night cycle</a></li>
<li>They're working on using such systems to generate power: <a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3964088/">PNAS - Harvesting renewable energy from Earth’s mid-infrared emissions</a></li>
</ul>
<div>
<br /></div>
<div>
I like that.</div>
abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com1tag:blogger.com,1999:blog-4542240255981298327.post-19311224227065865852016-08-15T15:14:00.000+10:002016-08-15T16:19:36.538+10:00Shader: Pixel DominanceAnother shader toy:<br />
<iframe allowfullscreen="" frameborder="0" height="360" src="https://www.shadertoy.com/embed/4td3Dr?gui=true&t=10&paused=false&muted=true" width="540"></iframe><br />
So, I wondered what would happen if set up a shader where I flood filled pixels based on a function where every colour beats half of the colour space. I also introduce one new random pixel per frame. I quite like the intricate patterns that show up after a few minutes. Not what I would have expected.
This is the function I used to decide which pixel won:<br />
<iframe allowfullscreen="" frameborder="0" width="540" height="360" src="https://www.shadertoy.com/embed/Mtt3Wn?gui=true&t=10&paused=true&muted=false" width="640"></iframe><br>
X and Y are R+G+B for the two pixels being compared.
abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com1tag:blogger.com,1999:blog-4542240255981298327.post-42963808228417602632016-07-17T20:55:00.003+10:002016-07-17T21:00:13.483+10:00Embedding Shadertoy shaders in web pagesDid you know you can run custom GPU pixel shaders from javascript inside a web browser? I am super delighted by that fact.<br />
<br />
Shadertoy (https://www.shadertoy.com/) is basically Youtube for <a href="https://en.wikipedia.org/wiki/OpenGL_Shading_Language">GLSL</a> shaders. <br />
<br />
You can embed a Shadertoy shader in a webpage using this little snippet:<br />
<blockquote class="tr_bq">
<span style="font-family: "courier new" , "courier" , monospace;"><iframe src="https://www.shadertoy.com/embed/4td3Wn" style="height: 500px; width: 500px;"></iframe></span></blockquote>
<br />
Just change "4td3Wn" in the snippet to the code for your shader. The code is the bit after "/view/" in the URL of the shader you want. You'll also need to set your shader to "public" or "public + api".<br />
<br />
<br />
Here's an example. You can see the code at https://www.shadertoy.com/view/4td3Wn - but you might want to mute your speakers first. I can't find a way to disable the sound on the video that the shader uses as a data source. Also note that this shader in chrome doesn't work if you have two copies open (this embedded version and the shadertoy site, for example).<br />
<iframe src="https://www.shadertoy.com/embed/4td3Wn" style="height: 500px; width: 500px;"></iframe><br />
<br />
<br />abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com1tag:blogger.com,1999:blog-4542240255981298327.post-40189438577821997262014-05-03T00:13:00.000+10:002016-06-29T14:33:57.500+10:00Minecraft and turtles.Today I learned you can <a href='http://turtlescripts.com/premium'>buy(?)</a> software that runs on <a href='http://computercraft.info/wiki/Turtle'>virtual robots</a> (called turtles ala <a href='http://en.wikipedia.org/wiki/Logo_(programming_language)'>Logo</a>) that a <a href='https://minecraft.net/'>Minecraft</a> mod lets you craft.<br /><br />I don't even need to look to know that someone is writing a version of Minecraft in Lua to run on a computer crafted in Minecraft.<br /><br />The turtles can talk to each other, via an in game net or the real internet. I do so hope the <a href='http://en.wikipedia.org/wiki/Technological_singularity'>singularity</a> is triggered by a hivemind of virtual lumberjack robots.<br /><br /><br /><br />Edit: Looks like 'premium' probably doesn't mean 'paid'. Unless they're doing the payment processing in Minecraft. I hope they are.<br /><!--break--><br />abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com1tag:blogger.com,1999:blog-4542240255981298327.post-15925609273990682862014-02-12T23:47:00.000+10:002016-06-29T14:33:57.492+10:00rails - `autodetect': Could not find a JavaScript runtime. I was following this guide: <br />https://devcenter.heroku.com/articles/getting-started-with-rails4<br /><br /><br />To get rails and heroku working.<br /><br />But when I got to:<br /><pre><br />$ rails generate controller welcome<br /></pre><br /><br />I got an error:<br /><pre><br />/home/tims/.rvm/gems/ruby-2.1.0/gems/execjs-2.0.2/lib/execjs/runtimes.rb:51:in `autodetect': Could not find a <br />JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. <br />(ExecJS::RuntimeUnavailable)<br /> from /home/tims/.rvm/gems/ruby-2.1.0/gems/execjs-2.0.2/lib/execjs.rb:5:in `<module:ExecJS>'<br /> from /home/tims/.rvm/gems/ruby-2.1.0/gems/execjs-2.0.2/lib/execjs.rb:4:in `<top (required)>'<br /> from /home/tims/.rvm/gems/ruby-2.1.0/gems/uglifier-2.4.0/lib/uglifier.rb:3:in `require'<br /> from /home/tims/.rvm/gems/ruby-2.1.0/gems/uglifier-2.4.0/lib/uglifier.rb:3:in `<top (required)>'<br /> from /home/tims/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:76:in `require'<br /> from /home/tims/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:76:in `block (2 levels) in require'<br /> from /home/tims/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:72:in `each'<br /> from /home/tims/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:72:in `block in require'<br /> from /home/tims/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:61:in `each'<br /> from /home/tims/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:61:in `require'<br /> from /home/tims/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.5.3/lib/bundler.rb:131:in `require'<br /> from /home/tims/ruby/hsfeb/config/application.rb:7:in `<top (required)>'<br /> from /home/tims/.rvm/gems/ruby-2.1.0/gems/railties-4.0.2/lib/rails/commands.rb:43:in `require'<br /> from /home/tims/.rvm/gems/ruby-2.1.0/gems/railties-4.0.2/lib/rails/commands.rb:43:in `<top (required)>'<br /> from bin/rails:4:in `require'<br /> from bin/rails:4:in `<main>'<br /></pre><br /><br />I fixed this by installing therubyracer gem:<br /><pre><br />gem install therubyracer<br /></pre><br /><br />And then by uncommenting the therubyracer line in the project's Gemfile.<br /><br />(Thanks to http://guides.rubyonrails.org/getting_started.html - <br />"Rails adds the therubyracer gem to Gemfile in a commented line for new apps and you can uncomment if you need it.")<br /><br /><hr><br /><br /><h2>Part 2</h2><br />After starting the server and visiting / I got:<br /><pre><br />Started GET "/" for 192.168.0.20 at 2014-02-12 23:50:54 +1000<br /><br />PG::ConnectionBad (FATAL: Peer authentication failed for user "hsfeb"<br />):<br /> activerecord (4.0.2) lib/active_record/connection_adapters/postgresql_adapter.rb:831:in `initialize'<br /> activerecord (4.0.2) lib/active_record/connection_adapters/postgresql_adapter.rb:831:in `new'<br /> activerecord (4.0.2) lib/active_record/connection_adapters/postgresql_adapter.rb:831:in `connect'<br /></pre><br /><br />This was easily fixed by following the instructions for setting up postgres, later in the document.<br /><br /><hr><br />I'm added <pre>ruby "2.1.0"</pre> to my Gemfile instead of 2.0.0.abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com0tag:blogger.com,1999:blog-4542240255981298327.post-78705487860188751972013-08-08T13:33:00.000+10:002016-06-29T14:33:57.471+10:00Cosplay interviews at PAX Australia - TF2<i>I interviewed some people at PAX Australia. See <a href="http://abznak.com/beam/content/20130808/cosplay-interviews-pax-australia-introduction">Cosplay interviews at PAX Australia - Introduction</a> for details.</i><br /><img src="http://abznak.com/pub/20130808tf2cosplay/IMG_4300.JPG"><br /><i>I have uploaded a <a href=" http://youtu.be/r7JcqhR3NHY">video of the interview</a> for completeness, but the audio quality is poor so here's a transcript.</i><br /><br /><b>Sniper</b>: I'm <a href="http://wiki.teamfortress.com/wiki/Sniper">sniper</a>, obviously, from <a href="http://www.teamfortress.com/">Team Fortress 2</a>.<br /><b>Soldier</b>: I'm <a href="http://wiki.teamfortress.com/wiki/Red">Red</a> <a href="http://wiki.teamfortress.com/wiki/Soldier">soldier</a>, from Team Fortress 2<br /><b>Heavy</b>: I'm <a href="http://wiki.teamfortress.com/wiki/Blu">Blu</a> <a href="http://wiki.teamfortress.com/wiki/Heavy">heavy</a>, from Team Fortress 2<br /><br /><b>Abznak</b>: Does the heavy actually have a <a href="http://wiki.teamfortress.com/wiki/Tutu">tutu outfit</a>?<br /><b>Heavy</b>: He does, it's a Halloween costume.<br /><!--break--><br /><b>Abznak</b>: How have you found cosplaying at <a href="http://aus.paxsite.com/">Pax</a>?<br /><b>Sniper:</b> Very receptive. Everyone taking so many photos, it's been really good. We've found so many other TF2 cosplayers. So, it's been really great.<br /><b>Soldier:</b> It's been actually kind of relaxing because usually conventions are a huge hassle and a bit stressful sometimes, especially with large props and larger items but it's been really, really relaxing and all the staff have been facilitating and everyone has been nice and friendly.<br /><b>Heavy:</b> The best thing about it is the space, we can move around with our props without banging into people all the time.<br /><b>Soldier:</b> And we're not in a sweatbox.<br /><br /><img src="http://abznak.com/pub/20130808tf2cosplay/IMG_4301.JPG"><br /><b>Abznak:</b> Did you make your guns?<br /><b>Sniper:</b> We all made our own weapons. I just made mine out of junk. This is a plastic table leg I just found and its just bits of crap I found. I just painted it with acrylic.<br /><b>Soldier:</b> Mine is mostly wood and PVC. My carpentry teacher helped me lathe this [back end of gun] which is wood. I did the rest myself.<br /><b>Heavy:</b> My gun is mostly PVC pipe. It's powered by a cordless drill, so [demonstrates spinning - <a href="http://www.youtube.com/watch?v=dvSkrAXnOms">15s video demo</a>]. And the speaker is mounted in the front for the sound.<br /><br /><b>Abznak:</b> How much did you spend and how long did it take?<br /><b>Sniper:</b> I didn't spend much for the gun, because it's mostly made of crap. These are just clothes bought from a shop. I'm not good at sewing, so I got someone to sew this for me but I designed the pattern and stuff. It cost not even $200.<br /><b>Soldier:</b> First cosplay I did I didn't know what I was doing, I kinda wasted a lot of money. This one was a lot cheaper in some respects. I think I spent the most money on materials and paint. I spent a lot on paint. My mum helped me. I got the material and I got the pattern and I did the hemming, but she actually made it.<br /><b>Heavy:</b> I probably spent the most on equipment. I had three attempts at getting the thing to spin. I used three different drills to get one that actually worked. The rest was pretty cheap, apart from the boots which are work boots, so like $200.<br /><br /><b>Abznak:</b> Did you learn any lessons in the process? Any recommendations to new cosplayers?<br /><b>Heavy:</b> Keep trying. Eventually you'll get it to work.<br /><b>Soldier:</b> Prop making for conventions is more like a puzzle really, because you have to think about what you're going to be doing all day, where's it going to be going, that sort of thing. It's almost like prop making in theatre. You do want to do more detailed things but you have to take into consideration travel and how much is it going to be knocked around. So really, I should have made this a lot more solidly. Also, I should have made it out of materials that could take more of a shock. Those are considerations to take into the future. Ask around at forums. Ask around prop people, like opera Sydney and theatre groups. They're really helpful.<br /><b>Sniper:</b> This is my first cosplay, so I'm glad I made this so light, because I've been carting it around for two days straight. So if you're going to cosplay and it's your first one make something you'll be happy to carry around with you all day. Because these guys have a lot heaver weapons and they're suffering for it. If you are going to be coming somewhere like a convention... there's this pyro, and they had a mask on, and they were pretty much dying. I'm happy I didn't do anything like that. Just do something easy. Get a feel for it.<br /><b>Soldier:</b> Also materials for your costume, a lot of people don't take into consideration. Say, pleather might look better, but you might need to sew in seams that allow airflow (like ski gear). Consider the effects of layering (If I was outside right now it would be good, because it's freezing [outside]). Also consider what will look the best - for example linen looks fantastic sometimes but creases really easily, so you might need to use backing more or you might need to take more care ironing it and transporting it. There's a lot of things you have to think about.<br /><b>Sniper:</b> If you're taking a flight down, make sure your props are portable. Obviously these aren't, we had to drive down for 16 hours to get here, because we couldn't fly. You might want to take that into consideration if you're building props like this.<br /><br /><b>Abznak:</b> Do you have a website or names you'd like attached to the article?<br /><b>Heavy:</b> http://heavyweaponsguytf2.tumblr.com<br /><b>Soldier:</b> lafayelle<br /><b>Sniper:</b> My Angry Pigeon on Steam.<br /><br /><b>Abznak:</b> Are you planning on going to any other cons?<br /><b>Soldier:</b> I only really like going to smack and supernova in Sydney. But they dragged me here. But I really enjoyed it. They dragged me up to Brisbane as well.<br /><b>Sniper:</b> We're defiantly going next year if they have one.<br /><b>Heavy:</b> It blew EB Expo out of the water. Smash in Sydney if I can make it. If not, Brisbane supernova.<br /><br /><b>Abznak:</b> Thank you all for your time.<br /><br /><img src="http://abznak.com/pub/20130808tf2cosplay/IMG_4304.JPG">abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com1tag:blogger.com,1999:blog-4542240255981298327.post-79234088786332824452013-08-08T13:32:00.000+10:002016-06-29T14:33:57.482+10:00Cosplay interviews at PAX Australia - IntroductionWhile I was at <a href="http://aus.paxsite.com/">Pax Australia</a>, I took photos of cosplayers (because <a href="http://photos.abznak.com/">I'm a photographer</a>). After talking to them about their costumes while photographing, I though "This is interesting, I should record it". So I did.<br /><br />My <a href="http://abznak.com/beam/content/20130808/cosplay-interviews-pax-australia-tf2">next post</a> is the first in a series of interviews with cosplayers. <br /><br />I learnt a few things in the process of these impromptu interviews. Next time, I<br />should:<br /><ul><br /><li>Get people to introduce themselves with names up front.</li><br /><li>Bring a better microphone</li><br /><li>Bring someone else to hold the camera</li><br /><li>Take some reaction shots, in case I want to get fancy and actually edit the videos. (Credit to Mike Moore from <a href="http://en.wikipedia.org/wiki/Frontline_(Australian_TV_series)">Frontline</a> for this tip)</li><br /></ul><br /><br />I plan to do more of these, so I'd love to know what you think of them. If you have any comments, please <a href="http://twitter.com/home?status=Hey+@abznak,+about+your+%23cosplay+articles,">tweet me a message</a> or email me at cosplay@abznak.com.<br /><br />abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com0tag:blogger.com,1999:blog-4542240255981298327.post-11643982885142950562012-07-01T19:42:00.000+10:002016-06-29T14:33:57.463+10:00Some photos not converted in Digital Photo ProfessionalI just figured out my problem with "Digital Photo Professional" (Canon software which converts CR2 (raw) files to jpgs). If software hasn't created the thumbnail yet, the file can't be selected. <br /><br />So if you click on the first photo, then shift click on the last photo, it looks like it selects all, but actually it only selects the photos that it has had time to load. Then you batch convert them to jpgs and wonder why you only have one photo of the flying trapeze.<br /><br />This also explains why the "select all" button is greyed out.abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com1tag:blogger.com,1999:blog-4542240255981298327.post-78690479245804106412012-05-07T22:10:00.000+10:002016-06-29T14:58:58.657+10:00Editing Canon 600D .mov filesThis is the workflow I currently use when I want to edit a video that I shot on <a href="http://www.behance.net/gallery/Experiments-with-new-Canon-600D/3603339">My Canon 600D</a>.<br /><br /><ol><br /><li><br />Re-encode the video with SUPER, using these settings:<br><br /><img src="http://abznak.com/blogfiles/super04.png"><br><br><br />Note that the <a href="http://www.erightsoft.com/SUPER.html">SUPER</a> download page is hard to navigate and that SUPER installs some extra software if you don't pay attention to the questions during the install. Icky, but it does the job better than anything else I've found. (I also tried Handbrake and the software that came with the camera). Oh, here's instructions if you want know <a href="http://www.erightsoft.com/dlhelp.html">how to download SUPER</a>.<br /></li><br /><li><br />The resulting file can be edited in <a href="http://www.virtualdub.org/">VirtualDub</a>.<br /></li><br /></ol><br /><br />I think (and hope) that there's a better way, but this one works.<br /><br />Here's the video, incidentally:<br /><iframe width="560" height="315" src="http://www.youtube.com/embed/vtqFLNBFFD4" frameborder="0" allowfullscreen></iframe><br />The edit was just switching out the soundtrack.abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com0tag:blogger.com,1999:blog-4542240255981298327.post-72026880636598117912012-05-07T21:28:00.000+10:002016-06-29T14:33:57.445+10:00youtube suggested tagsYoutube just suggested I tag a video "Sydney (City/Town/Village)".<br /><br />So I did. Now it says:<br /><pre><br />Suggested tags:<br />+Village (Fictional Organization Type) +Town (Type Of Fictional Setting) +City (Type Of Fictional Setting)<br /></pre><br /><br />Which I though was amusing.abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com0tag:blogger.com,1999:blog-4542240255981298327.post-39901718052389690512012-02-01T10:48:00.000+10:002016-06-29T14:33:57.436+10:00Kaizen Event? Sounds ominous.I just watched this video: (via <a href="http://pipeline.corante.com/archives/2012/01/31/the_future_of_pharma_yikes.php">In the Pipeline</a>)<br /><br /><iframe width="560" height="315" src="http://www.youtube.com/embed/kwVjftMMCIE" frameborder="0" allowfullscreen></iframe><br /><br />Is it just me or does "<a href="http://en.wikipedia.org/wiki/Kaizen">Kaizen Event</a>" sound like the sort of thing that would <a href="http://en.wikipedia.org/wiki/Tunguska_event">level a forest</a> or <a href="http://en.wikipedia.org/wiki/Carrington_event">destroy communications infrastructure</a>?abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com0tag:blogger.com,1999:blog-4542240255981298327.post-36882773798571886042011-10-12T16:39:00.000+10:002016-06-29T14:33:57.427+10:00R - GGplot with white backgroundI wanted to draw a graph without lines and backgrounds. The relevant code is:<br /><pre><br />opts(panel.grid.minor = theme_blank(), panel.grid.major = theme_blank(), panel.background = theme_blank())<br /></pre><br /><br />Example:<br /><pre><br />s = seq(-2*pi, 2*pi, length.out = 1000)<br /><br />dat = data.frame(x = s)<br /><br />ggplot(dat) + <br />geom_line(aes(x = x, y = sin(1*x)), size = 2, color = "red") + <br />geom_line(aes(x = x, y = sin(1.1*x)), size = 2, color = "red", linetype="dashed") + <br />opts(<br /> panel.grid.minor = theme_blank(), <br /> panel.grid.major = theme_blank(), <br /> panel.background = theme_blank()<br />)<br /></pre><br />abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com1tag:blogger.com,1999:blog-4542240255981298327.post-90106146577917963892011-10-06T12:30:00.000+10:002016-06-29T14:33:57.419+10:00Android voice searchAndroid voice search works much better if you change <br /><pre>Settings -> Voice recognizer settings -> Language </pre><br />From <b>English (Australia)</b> to <b>English (US)</b>.<br /><br />For example, "map brisbane" actually brings up a map rather than just doing google search.<br /><br />See http://www.google.com/support/mobile/bin/answer.py?hl=en&answer=168603 for commands.abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com0tag:blogger.com,1999:blog-4542240255981298327.post-37966173560076083972011-09-19T23:20:00.000+10:002016-06-29T14:33:57.410+10:00microwave garlic breadI just made garlic bread following the microwave instructions on the packet (For science!).<br /><br />What the packet said:<br />- Remove from packet.<br />- Microwave on high for 1 minute 10 seconds.<br /><br />What it should have said:<br />- Remove from packet.<br />- You can't microwave garlic bread, don't be stupid.<br /><br />Or possibly:<br />- Remove from packet.<br />- Microwave on high for 1 minute 10 seconds.<br />- Crisp up the resulting soggy blob using creme brule torch for almost passable garlic bread substitute.abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com0tag:blogger.com,1999:blog-4542240255981298327.post-42075171833938994382011-04-20T09:03:00.000+10:002016-06-29T14:33:57.402+10:00Theatre Review: Pirate Rhapsody, Mermaid Requiem<div style="color: #777777; padding: 30px 30px 10px 10px"> Editor's note: Brisbane's <a href="http://anywherefest.com">Anywhere Festival</a> is <a href="http://anywherefest.com/2011/04/12/we-want-you-to-review-the-anywhere-theatre-festival/">looking for reviewers</a>. Because of the style of review Tim wants to demonstrate he can write, he has written this as if he saw an early performance and you could still go see the show. He didn't and you can't. </div> <p><br /><br />I saw <i><a href="http://tix.adelaidefringe.com.au/ticketing/EventDetails.aspx?EventGuid=9985814c-c90e-4813-a16a-26b667bb144b">Pirate Rhapsody, Mermaid Requiem</a></i> on the last day of the <a href="http://tix.adelaidefringe.com.au/ticketing/home.aspx">Adelaide Fringe Festival</a>, 2011. It was funny and strange and great. You should go see it. <a href="http://www.tommybradson.com/index.html">Tommy Brandson</a> plays the audience like a violin virtuoso. Actually, it was a bit cruder than that. Tommy plays the audience like a banjo virtuoso. Even though he was wearing an eyepatch he produced more pathos with one eye than most people could with two. Or more. <p><br /><br />The show is nominally a retelling of <a href="http://en.wikipedia.org/wiki/The_Little_Mermaid">The Little Mermaid</a> but I see it more as a collection of dark jokes and dirty, tragic songs. It is divided into two parts. In the first part Tommy plays a pirate; eyepatch, peg leg and all. In the second he plays the mermaid; fish tail'd and requiring frequent sprays of water from a mister. An audience member is enlisted to do the spraying. On a related note, theater goers that are adverse to a little audience participation should avoid sitting in the front row and in aisle seats. <p><br /><br />The show was played in a tiny theater at the festival. It felt a little like seeing a performance in a shipping container, but I think the cramped conditions fit the mood of the piece. The musical ambiance was understated and effective, kudos to the two musicians. <p><br /><br /><strong>Bonus Twitter version of the review:</strong><br /><pre><br />"Pirate Rhapsody, Mermaid Requiem" was funny and strange and great.<br />You should go see it. #AdlFringe #review http://4gh.es/6tm8X<br /></pre><br /><!--break--><br />abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com0tag:blogger.com,1999:blog-4542240255981298327.post-16690445888606582172011-03-28T18:07:00.000+10:002016-06-29T14:33:57.394+10:00SandcastlesI've been reading <i><a href="http://www.bookdepository.co.uk/book/9781584797678/Sandcastles-Made-Simple">Sandcastles Made Simple</a></i> by Lucinda Wierenga, which I bought after reading <a href="http://www.guardian.co.uk/lifeandstyle/2009/aug/01/how-to-build-perfect-sandcastle">an extract in The Guardian</a>.<br /><br />Here's some photos of my initial experiments:<br /><img src="http://abznak.com/pub/adelaide_sandcastles_2011/IMGP2766.JPG"><br><br /><!--break--><br /><img src="http://abznak.com/pub/adelaide_sandcastles_2011/IMGP2629.JPG"><br><br /><img src="http://abznak.com/pub/adelaide_sandcastles_2011/IMGP2871.JPG"><br><br /><br /><br />You can see a few more (at higher res) at my <a href="http://www.flickr.com/photos/abznok/sets/72157626181309115/">sandcastles flickr set</a>.abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com0tag:blogger.com,1999:blog-4542240255981298327.post-64761362818014816502011-01-25T12:08:00.000+10:002016-06-29T14:33:57.384+10:00sfBehatPlugin - BDD for symfonyI just installed <a href="http://everzet.com/sfBehatPlugin/">sfBehatPlugin</a>, a <a href="http://everzet.com/Behat/">behat</a> plugin for <a href="http://www.symfony-project.org">symfony</a>.<br /><br />Tip: if behat isn't finding the steps that come with sfBehatPlugin and you're getting:<br /><br /><pre style="color: grey"><br /> $ behat features/<br />Feature: auth<br /><br /> Scenario: Index page # features/frontend/auth.feature:3<br /> Given I am on homepage<br /> When I go to /auth<br /> Then Response status code is 200<br /> And I should see "This is a temporary page"<br /><br />1 scenario (1 undefined)<br />4 steps (4 undefined)<br />0.035s<br /><br />You can implement step definitions for undefined steps with these snippets:<br /><br />$steps->Given('/^I am on homepage$/', function($world) {<br /> throw new \Everzet\Behat\Exception\Pending();<br />});<br /><br />$steps->When('/^I go to /auth$/', function($world) {<br /> throw new \Everzet\Behat\Exception\Pending();<br />});<br /><br />$steps->Then('/^Response status code is (\d+)$/', function($world, $arg1) {<br /> throw new \Everzet\Behat\Exception\Pending();<br />});<br /><br />$steps->And('/^I should see "([^"]*)"$/', function($world, $arg1) {<br /> throw new \Everzet\Behat\Exception\Pending();<br />});<br /></pre><br /><br />Try running it from the root of your symfony project, with no params:<br /><pre style="color: grey"><br /> $ behat<br />Feature: auth<br /><br /> Scenario: Index page # features/frontend/auth.feature:3<br /> Given I am on homepage # features/steps/tester_browser_steps.php:13<br /> When I go to /auth # features/steps/tester_browser_steps.php:17<br /> Then Response status code is 200 # features/steps/tester_response_steps.php:13<br /> And I should see "This is a temporary page" # features/steps/tester_response_steps.php:17<br /><br />1 scenario (1 passed)<br />4 steps (4 passed)<br />0.288s<br /></pre><br /><br />abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com0tag:blogger.com,1999:blog-4542240255981298327.post-6494333632803028702010-12-30T20:34:00.000+10:002016-06-29T14:33:57.376+10:00Postprocessing scanned crayon imagesPostprocessing crayon drawings<br /><br />I have some scans of crayon drawings, but the colours are washed out (well, the colours are pretty light on paper too):<br /><img src="http://abznak.com/pub/20101230_enhance_crayon/moon_orig.png"/><br /><br />First, some due dilligence. Google for solutions. (Actually, first fire up GIMP and try a few ideas. But let's pretend I hit the books before hitting the lab).<br /><br />Lit review:<br /><ol><br /><li>google'd: <a href="http://google.com/search?q=post+processing+scanned+crayon+drawings">post processing scanned crayon drawings</a> - no help, but <a href="http://www.hemmy.net/2008/03/12/kids-drawing-reenacted-using-professional-photography/">kids drawing reenacted</a> was entertaining.</li><br /><li>google'd: <a href="http://google.com/search?q=scanning+crayon+drawings">scanning crayon drawings</a> - better, results in <a href="http://answers.yahoo.com/question/index?qid=20100810190809AAuKUg1">a yahoo answers entry</a>... which suggests GIMP. Also a <a href="http://www.threadless.com/submission/151889/My_Summertime_Best_Friend/showmore,designs">couple</a> of <a href="http://archives.hwg.org/hwg-graphics/OJEPKGGJBKPEMGGOEGGIEECPCCAA.mclin@usc.edu">references</a> warning about crayon wax sticking to scanners (I didn't have this problem).</li><br /><li>searched flickr for examples in the hope of finding a discussion in comments. <a href="http://www.flickr.com/photos/tags/crayon+art/">Photos tagged with crayon art</a> was the best of the flickr searches. Several people, including <a href="http://www.flickr.com/photos/steve-brandon/2116736211/">Steve brandon</a>, used a camera, rather than a scanner.<br /></ol><br /><br />Ok, that's enough searching. Let's play with some balances. Here's screenshots of the settings (from GIMP's colour menu) and the changed versions of the image.<br /><br />original<br /><img src="http://abznak.com/pub/20101230_enhance_crayon/moon_orig.png"/><br /><br />take 1<br><br /><img src="http://abznak.com/pub/20101230_enhance_crayon/moon_1.png"/><br><br /><img src="http://abznak.com/pub/20101230_enhance_crayon/take01_settings.png"><br><br /><p><br />take 2<br><br /><img src="http://abznak.com/pub/20101230_enhance_crayon/moon_2.png"/><br><br /><img src="http://abznak.com/pub/20101230_enhance_crayon/take02_settings.png"><br><br />I bumped up blue similarly.<br /><p><br />take 3<br><br /><img src="http://abznak.com/pub/20101230_enhance_crayon/moon_3.png"/><br><br /><img src="http://abznak.com/pub/20101230_enhance_crayon/take03_settings.png"><br><br />Applied these settings after inverting the image.<br /><p><br />take 4<br><br /><img src="http://abznak.com/pub/20101230_enhance_crayon/moon_4.png"/><br><br /><img src="http://abznak.com/pub/20101230_enhance_crayon/take04_settings.png"><br><br /><p><br />take 5<br><br /><img src="http://abznak.com/pub/20101230_enhance_crayon/moon_5.png"/><br><br /><img src="http://abznak.com/pub/20101230_enhance_crayon/take05_settings.png" width=500><br><br />I expanded this settings box out to make fine control easier. <br /><p><br /><br />In the end I went with the first take, as the least abstract of the bunch.<br /><br /><br />abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com1tag:blogger.com,1999:blog-4542240255981298327.post-15088875710656899782010-12-28T21:34:00.000+10:002016-06-29T14:33:57.368+10:00data: list of top sites from alexaAlexa has a free list of the top 1m websites: http://s3.amazonaws.com/alexa-static/top-1m.csv.zip<br /><br />sample:<br /><pre><br />1,google.com<br />2,facebook.com<br />3,youtube.com<br />4,yahoo.com<br />5,live.com<br /></pre><br />A few curiosities: <br /><ul><br /><li>while most entries have are just domains, 10007 have path information:<br /><pre><br />2760,feedproxy.google.com/~r<br />5824,mail.qip.ru/~Inbox<br />7108,xhamster.com/user/video<br />7634,journeyplanner.tfl.gov.uk/user/XSLT_TRIP_REQUEST2<br /><pre><br /></li><br /><li>Two of the entries with path info contain commas:<br /><pre><br />490727,pomoho.com/user/cmuser,1<br />936298,intranet.espace-privilege.leclercvoyages.com/user/eleclerc-voyages,2<br /></pre><br />which causes weirdness when using R's parse.csv() command.<br /><br />Script I used to find where the ranks diverged from the indexes (in before I found the CSV had unescaped commas):<br /><pre><br />#the data from the CSV file is in scores<br />onem = seq(1, 1000002)<br />head(onem[scores$rank != onem])<br />scores[490728,]<br /></pre><br /></li><br /></ul><br /><br />Oh, and here are the two extra rows that parse.csv silently created:<br /><pre><br />> scores[scores$domain == "",]<br /> rank domain<br />490728 1 <br />936300 2 <br /></pre>abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com1tag:blogger.com,1999:blog-4542240255981298327.post-81637039221384853452010-12-01T00:20:00.000+10:002016-06-29T14:33:57.360+10:00The Hive Brisbane, 2010-11-30 - interesting people with exciting projectsI went to a <a href="http://thehive.org.au/">The Hive</a> <a href="http://thehive.org.au/richard-slatter-from-we-are-hunted/">event</a> <del>today</del> <ins>yesterday</ins>, featuring Richard Slatter from <a href="http://wearehunted.com/">We Are Hunted</a>.<br /><br />I enjoyed the event. They talk was good but the best bit of the evening was talking to some interesting people about their exciting projects:<br /><ul><br /> <li>The speaker, Richard Slatter, about <a href="http://wearehunted.com/">We Are Hunted</a> (music charts based on online chatter) and the advantages of <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Release_early,_release_often">RERO</a>.</li><br /> <li>Alice and Leo from <a href="http://www.davinway.com/">Davinway Marketing</a>, who are applying <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Agile_software_development">agile methodologies</a> to marketing (which is an idea that appeals to me).</li><br /> <li>Mike Boyd, part of The Hive's Brisbane team, who's working on <a href="https://www.facebook.com/pages/Cupstart/158139237550205?v=info">Cupstart</a>, a project that will let you "Order your coffee online using Cupstart and collect it as you arrive". Oh, he also has a <a href="http://cupstart.com/">survey.<br /></ul>abznakhttp://www.blogger.com/profile/13729221413642000093noreply@blogger.com0