Home made weed killer

Spring is here and it's time to get rid of the pesky weed.  In my opnion, those weed killer sprays that are sold in big retail stores are simply overpriced.  Well, basically aussies do pay more for everything. Sad? I know!

I've been looking for cheap solutions online and this would be the easiest to make.
1L vinegar
1 cup salt (seems like a lot, so you can maybe go 3/4)
Few drops dishwashing liquid (this makes the mix stick to whatever you spray)

According to the post, it takes 1 - 7 days to kill weed and grass once you've sprayed on them.  It's best NOT to spray on rainy or windy condition.

If you find measuring is cumbersome, this is what I do:
3 bottles of rice vinegar that you can buy from asian grocery store ($1.30 x 3 = $3.90)
1 small cup of Selley's sugar soup liquid concentrate ($3.83 x 10% = $0.40)
1 small cup of salt ($1.00)
All you need to do is pour everything into a bucket, mix it up and spray away~~  I've tried this 6 months ago and it works pretty well, but I've no idea how long more it can keep the weed away.

Source: Homemade weed killer

Transfer region locked Borderlands save file on PS3

PIC1.PNG from save file

While most people are playing Borderlands 2 which released last week, I'm still stucked with the first game.  Ming and I were having a gaming marathon last weekend, finally killed the last boss at Level 34 soldier class, sweeeeet!! Next thing to do is to finish the DLCs, another 10 hours to spend?!

Case:

- Own an Asia version of Borderlands GOTY game
- Wish to play in Australia server
- Create a new PSN ID using Australia address and sign in
- Copy Borderlands save file from Asia's PSN profile to Australia's PSN profile
- Load save file in Australia's PSN profile, able to see the save file (when you choose "Existing Character") but fail to load

Solution:

Step Description
01 Remove Borderlands game save file (NOT the profile data) under Australia's PSN profile.
02 Copy the original save file under Asia's PSN profile and transfer it to computer. You will notice this folder structure: "PS3 > SAVEDATA > BLExxx-SAVE-SAVE0001", you will find 5 files, which consists of:
  • SAVE00001.SAV
  • ICON0.PNG
  • PIC1.PNG
  • PARAM.PFD
  • PARAM.SFO
Remove save file from thumbdrive and pop it back to PS3.
03 Run Borderlands game on Australia's PSN profile, start a new game and level up once. Then, press "Start", choose "Exit". This will create a new save game file, copy it to the thumbdrive.
04 Here's the important part!! Copy ONLY the "SAVE00001.SAV" in step 02 (Asia profile) and overwrite the one in thumbdrive (Australia profile).
05 Remove the new save file under Australia PSN profile. Then, copy the modified save file from thumbdrive to PS3.
06 Run the game again, choose "Existing character" to load the modified save file. You may notice the game character info is not updated (Level 2 in this case) but it's totally fine. Once it's loaded, your game character is carried forward from previous account. Hit "Exit" to save necessary bits to this profile. Enjoy!

As the filenames indicate, PARAM.* files are storing values for validation and summary purpose while SAVExxx.SAV contains the main saved game data.

Myth: Blowing into game cartridges can fix glitching

I was once a proud owner of the NES Family Computer which was bought by dad during primary school days.  Game cartridges are definitely not cheap, RM60.00 (equivalent to RM120 nowadays), but games in those days had high replayability and challenging.

Source 
On weekends, brother and I would ask parents' permission to play games ONLY after we finished schoolwork.  If everything went well, we would then take out the console from a birthday cake box, set it all up and had some quality co-op action time.  Those were the days, we spent hours and hours playing Mario, Contra, Ice Climbers, Soccer, Double Dragon etc.  I still have the box and console back in hometown, will definitely take a photo next time.

Not the exact Fajar Supermarket, but close
After a few months of constant slotting the cartridge to the console pins, you might encounter cartridge fail reading or graphic glitch.  According to the sales assistant at a local game shop in Fajar Supermarket, "Oh, it's because dust collected on the cartridge's pins" he said confidently.  He then blew and shaked it a few times, put it back to the console slot *voila* it worked like a charm.  And so it all began, whenever the console can't read the cartridge properly, we would follow these steps:

Step 01: Take out the cartridge
Step 02: Inhale air into your mouth
Step 03: Blow it straight to the cartridge's pins
Step 04: Give it a few weak shakes to make sure dirt drops out
Step 05: Slot it back to console
Step 06: Still not working?? Back to Step 01.

It's working so well that I didn't give it a second thought...until I read this article.

TL;DR

Nintendo designed its NES connector using nickel pins bent into a position so that they’d give slightly when a cartridge was inserted, then spring back after it was removed. These pins became less springy after repeated use, which make it hard for them to firmly grasp the game cartridge’s connectors.

Myth busted and mind blown...

Ewww....  Source


Related:

4 things that you should never put in the database

Read this article by Frank Wiles,

TL;DR version

  • Images, files and binary data.  Solution: Use file system.
  • Ephemeral data: Usage statistics, metrics, GPS location, session data or anything that is only useful for a short period of time.  Solution: Use redis, statsdgraphite, Riak
  • Logs. Solution: Use Splunk, Loggly
  • Plain text passwords. Solution: Encryption

Last but not least,
But wait, you're a unique snowflake and your problem is SO different that it's ok for you to do one of these three. No you aren't and no it really isn't. Trust me. - Frank Wiles

Serviio - DLNA media server

#UPDATE 20130114
Recommend to update to version 1.1 for better stability and major bug fixes.

This week, I'm going to fix just one thing. A web service which I can use to share my videos, images either on Playstation3, Xbox360 or Samsung TV. I noticed the Samsung 3D plasma TV has DLNA feature equipped but I never bother to find out what it is.

After a quick google search, I instantly knew that I've missed out a lot on such technology. It's time to bring my problem solving skill to good use. After spending some time digging, I came across a free media server which ticks all my requirements:
  • Stream media files directly from PC to TV or game consoles, eliminating the use of media player
  • Easy to setup server
  • Simple user interface, easy to browse files
  • Lightweight software

What is Serviio?


According to the official website, it's developed by Petr Nejedly.
Serviio is a free media server. It allows you to stream your media files (music, video or images) to renderer devices (e.g. a TV set, Bluray player, games console or mobile phone) on your connected home network.

Serviio works with many devices from your connected home (TV, Playstation 3, XBox 360, smart phones, tablets, etc.). It supports profiles for particular devices so that it can be tuned to maximise the device's potential and/or minimize lack of media format playback support (via transcoding).

Serviio is based on Java technology and therefore runs on most platforms, including Windows, Mac and Linux (incl. embedded systems, e.g. NAS).

Steps to Setup

Operating System: Windows 7
Modem/Router: Netcomm NB6Plus4W
Display device: Samsung 3D Plasma TV (PN50C8000)

[01] Go to this page to download the latest version  (v1.01)
[02] Click on .exe file and install it to Windows
[03] Open serviio console, click on "Library" tab.
[04] Under "Shared Folders", choose the folders that you want to share within the network.  On the right side, click on the type of files you want to share.
[05] Turn on the TV, click on 'Source', you should see "Serviio DLNA device".
[06] Choose "Videos"/"Pictures" depending on what you've shared in step 04.

Troubleshooting

[01] If your device can't see Serviio
This could be caused by you having multiple IP addresses on the machine and Serviio binding to the wrong one. Insert the IP address of the machine running Serviio into 'Bound IP address' field in Network Settings section in the console or pass the system variable serviio.boundAddr including the IP address when starting the server.

- Make sure that TCP port 8895 and UDP 1900 are open in your firewall.
- If you are on a Linux based OS, make sure you set up multicast routes properly.
- If on Windows, you can push the Serviio service down in starting order.

[02] Networking error after reboot
This could be another serviio starts before the network adaptor has start so serviio sees the wrong adaptor.
- In window services manager, select the serviioservices.exe
- Go into its properties and select "Delayed Start" and that should fix your issue.

[03] How to setup Live stream folders
http://wiki.serviio.org/doku.php?id=live_stream_folders

[04] Linux workaround for supporting chinese characters
http://forum.serviio.org/viewtopic.php?f=14&t=692&p=5572&hilit=hebrew#p5832

[05] Other user interface is available for web and mobile
http://www.serviio.org/component/content/article?id=21#q7

[06] How to switch to other audio track
http://forum.serviio.org/viewtopic.php?f=7&t=8481#p62564

Related:

How to retrieve "Key" and "Value" pairs from GET method?

Title speaks it all.  This method can deal with empty value as well.



Related:

What on earth is Parallax effect p(*o* )?!

On Wiki, Parallax is a displacement or difference in the apparent position of an object viewed along two different lines of sight, and is measured by the angle or semi-angle of inclination between those two lines. You don't quite get it, do you? Yea, neither do I. Let's have a look at some examples instead.

Name Description File Size
Parallax-JS Developed by razorfish
A simple vertical page scroller, <section></section> tag is parsed for parallax effect. Side navigation bullet list is automatically generated if side-nav.js is included. One thing that I'm picky of is scrolling between pages doesn't really snap the page to the browser viewable pane. Sample doesn't fully demonstrate the controls offered by the javascript.
19.1 KB
Demo
Superscrollorama Developed by johnpolacek
The webpage has good demonstration of what the script can do, jam packed with scroll animation. It's most suitable for working with font effects.
171.44 KB
Demo
Plax Developed by cameronmcefee
I first saw the parallax effect on github 404 page, and yeap, it's done by him. Lightweight, and does the job well. It's very easy to have parallax effect on elements based on mouse position. Best for moving objects on mouse's movements.
9.23 KB
Demo

I decided to give Plax a quick run on fonts.  Below is the source, remember to put plax.js on the same file path as the html.


Related:

"If you leave this page, data you have entered may not be saved"

After receiving a request ticket today for the intranet system which my team has been developing, I'm set to look for a solution.

Stay or Leave

Criteria

Implement a "navigate away from browser" protection to prevent users from accidentally closing tabs or windows in Edit mode.  If user chose to stay on page, no changes should be made.

Solution

In the above example, a global variable, 'isDataChanged', is used to check whether any data is changed when the page is loaded.

Just remember to reset the variable whenever possible, you don't want to piss off users with the confirmation dialog box.  If you're not fancy of global variables, you may want to consider checking whether 
- The main edit pop-up dialog is not hidden
- Form element which stores the current mode is not equals to 'view'




This method is tested on the following browsers:
  • Firefox 15.0
  • Chrome 21.0
  • Internet Explorer 9.0

Lots of interest but lack of direction in life

Have you ever wondered that what's the point of working if the main purpose of earning money is to pay off the mountainous bills which are piling at the corner of your desk?  And you notice that things that you enjoy doing just doesn't generate revenue to reward or motivate yourself to move further.  

Occassionally, you have the gut feelings that you can definitely contribute more to work or society so that you've a better quality of life in return.  But in fact, things are just not going the way you want it to be, FML moments.

Life Span
Here's one quote from Quora

Resident Evil 6

Resident Evil/Biohazard series has come a long way since it first introduced in 1996 as Playstation game.  It makes me aware of the Japanese company who developed these survival horror/action titles - Capcom.  When RE1 was released on Playstation, I have trouble playing it after I watched the infamous zombie head-turning cutscene in the mansion (yea, that's 15 minutes into the game).  In the end, my brother got hold of the controller, gunning down zombies while I helped him to solve puzzles.

Are you alrig...ARGH!!

Fast forward to present, Shinji Mikami, the creator of the series, left Capcom in 2007 after the critically acclaimed 4th instalment.  5th and 6th games have different directors to inject new elements to the horror franchise.  Despite the upcoming logo looks like a giraffe getting happy sack (judge for yourself from the image below) and Capcom's evil on-disc DLC strategy, it won't hinder long-time fans from purchasing the game on day one.

What's been seen cannot be unseen

Thanks to the earlier purchase of Dragon's Dogma,  I'm able to redeem a code for Resident Evil 6 demo.  I finished the 3 short single-player campaigns within an hour.  Below is my review solely based on the demo, final copy might have addressed some of the issues.

First Impression

Leon S. Kennedy & Helena Harper
Classic Resident Evil vibe, dark indoor environment with strong light source from the windows

Jake Muller & Sherry Birkin
Escape from boss and fight him afterwards in a confined place

Chris Redfield & Piers Nivans
Located in an asian city, just shoot everything that moves!

Improvement

+ Characters can finally strafe and aim simultaneously, no more stand-still-to-shoot
+ Using an modified version of the MT framework engine, lighting and graphic quality has improved
+ Thanks to Uncharted series, character's animation seems to be more human-like.  This can be noticed in Leon's campaign where he would hold on to the side of the door when he walked out a room
+ Shortcut control for accessing inventory
+ Interesting design of monsters, bigger action sequence

Issues

- Bad lip-synching
- Weird camera angles interfering gameplay, make me nauseous at times
- Big chunk of space is allocated for UI, displaying user's health, quick item slots etc
- Linear corridors shootout, the marked path in Leon's campaign spoilts the exploration even more

Day 1 Purchase?

If you've the patience, wait a year for the inevitable Gold or Platinum edition.  For me, it's just too hard resisting the urge to play the campaigns after the game releases on 4th October.  I will definitely skip the upcoming movie, Resident Evil: Retribution (released on 14th September), I just couldn't bring myself to watch another sucky RE's movie adaptation by Paul W.S. Anderson.  However, I love the CGI movies, Resident Evil: Degeneration (2008) and Resident Evil: Damnation (2012), it's like watching game HD cutscenes all the way.

Trivia:

Q: Who voiced "Resident Evil" at the game's title screen?
A: Joe Whyte (Chris Redfield) source

Are you the guy who says, "RESIDENT EVIL!" at the title screen in that demonic voice?
[laughter] Yeah. Yeah, that's me. At the end of all the sessions, they asked me to do some little extra lines. There were just some little extras - some little pick-ups that weren't actually Chris Redfield; they were just sort of in the game. I also did some of the vo for Richard in the game. The scene where Richard gives the radio to Jill and Chris is my voice. Pretty funny to hear my voice coming from two characters.

Q: Is there a variety of ink ribbons in the series?
A: Yes, I'm surprised to know that.  source

  • In Resident Evil, if played on original, the ink is white, if played on Training, the ink is Green. In REmake this is changed slightly. On all difficulties the ink is white unless the player is playing on "Once Again..." Mode, in which case it is green on Easy mode, white on Normal mode and red on Hard mode. On Real Survival Mode, the ink is blue, and on the special "Invisible Enemy" mode, it is Orange.
  • In Resident Evil 2 is played on Easy mode the ink is white for both characters, while in Normal the ink is red for Claire and blue for Leon. In Extreme Battle, the ink is green for everyone.
  • In Resident Evil 3: Nemesis is played on Easy mode, you can get an unlimited amount, and the ink is blue while in Hard mode the ink is white.
  • In Resident Evil Code: Veronica, there is always an ink ribbon right of the first typewriter and three ink ribbons per saving point (typewriter).
  • Resident Evil Outbreak and Resident Evil Outbreak File 2 as well as Resident Evil 4 did not include any ink ribbons but still used a typewriter as the save point.
  • Resident Evil 5 ditched the typewriter altogether, and replaced it with a more "modernized" automatic checkpoint save system. When asked in an interview for Official Xbox Magazine, the game's producer commented that "They simply couldn't find a way to fit them into the game.".


UPDATE on 21 October 2012

Progress:
✔ Finish 5 chapters of Leon Kennedy & Helena Harper story
✔ Finish 5 chapters of Chris Redfield & Piers Nivans story
✔ Finish 5 chapters of Sherry Birkin & Jack Muller story
✔ Chapter 1 of  Ada Wong story
✘ Agent Mode
✘ Mercenary Mode

Impressions:
☻ The most ambitious game settings in RE universe
☻ The updated MT Framework provides excellent lighting to the environment and slight update to graphics, I don't have any too-dark-to-see issue as seen in message boards
☻ Characters' animations are smooth
☻ Save point system is good, fast revive after death cut scene
☻ Partner's AI is improved compared to RE5 but they can be annoying sometimes.  E.g. outside of the cathedral which was overrun with zombies, I've trouble getting Helena to open the door
☻ Story is cleverly bound together among the 3 pairs of characters

Gameplay:
☻ Points obtained can be spend on skills which is similar to the perk system in Cod: Modern Warfare series
☻ Melee combat is enhanced and it's tied to stamina
☻ Player can shoot while strafing, awesome
☻ Innovative, apart from the familar Mercenary mode, they added Agent Hunt mode which lets other players to join the game as monsters and take down the main human characters, can't wait to try this mode
☹ Melee and shooting controls are standard. But mixing herbs and dodging require a combination of buttons
☹ In some sequences which require the player's attention, camera angle is fixed, making the player hard to navigate, E.g. running /sliding through obstacles while escaping from the claws of the gigantic B.O.W in Chris's story is pain in the arse
☹ Expect to have good coordination of eyes + hands and fast fingers as there're a lot of QTE (Quick Time Events)


Things to improve:
  • Die hard big boss: I know they're meant not to be killed easily but it's ridiculously for a player to kill it again and again and again in a single story.  What worse is they died cheaply in the end.
  • Player's UI occupies a large chunk of screen space: I don't mind characters have unique on-screen UI (User Interface) but it's taking too much space.  What I would do is removing the life bar indication, different level of health can be shown on character's animation.  E.g. Character will be limping on low health
  • Optimise controls: Holding L analog stick (L3 button) for more than 3 seconds will initiate run animation instead of pressing [L3] + [x] button. Clicking on L3 will run in the direction that the player is facing.  [x] button + [L3] can then be used as dodging instead of pressing [L1] + [L3] + [x]
  • Remove the idea of destroying crates to find ammunition:  I understand crate is served as placeholder to make the environment less empty and it's easy for players to identify where to get ammo supply.  But in a linear gameplay, it should somehow encourage the player to explore these fantastic game environments by checking out drawers, cars, boxes or even plants.

No doubt that Resident Evil franchise, particularly in game industry, is getting bigger by every release.  I wouldn't say it's still heading in the action horror direction, at least the people in Capcom are taking the risk to bring in various changes.  Looking at their first foray into open world game *Dragon Dogma*, I would very much hope that Resident Evil 7 will be a major overhaul to the PS2's Outbreak series which could be played in single or multiplayer mode in a semi-open world.  Fingers crossed.



Related:
- Resident Evil theme park in Japan's Universal Studios
- Resident Evil wikia
- Resident Evil Wikipedia
- Angry Joe plays Resident Evil 6 demo

Now everyone is a cryptographer of CAPTCHAs


Ahhhh...CAPTCHA - a tool which is designed to fence off spam and trolls (bad guys) is unfortunately, punishing potential customers, users (good guys) as well.  In fact, it's so common to come across one in websites nowadays, you would think it's a norm even though you made several wrong guesses, trying to figure out what're the characters.


captcha-impossible
Superscript, subscript, newline?
and the best goes to,
captcha-knows-best
As you wish, my lord

Below is some creative CAPTCHA methods I've found:

Name Tech Notes
MotionCAPTCHA HTML5, jQuery Simply my favourite, match drawing of a pattern
Qaptcha jQuery Similar to iProduct's screen unlock slider. Please note that the demo doesn't work properly, would recommend you to download the files and try it out.
Ajax Fancy CAPTCHA jQuery This is a fancy looking one but it's not hard for the bot to figure out which element is draggable.



More readings:

CSS3 Gradient Background


The days of creating a (1pixel * height/width) of image for a gradient background is over. Modern browsers are supporting CSS3 to an extent that you can create nice-looking backgrounds for button or wallpaper entirely from stylesheet.

Webkit
Syntax -webkit-gradient(, [, ]?, [, ]? [, ]*)
Example background: -webkit-gradient(linear, 0 0, 0 100%, from(red), to(blue));
Params - Gradient Type: linear / radial
- X and Y axis coordinates of where to begin: (0 0 – or left-top corner)
- X and Y axis coordinates of where to conclude: (0 100% – or left-bottom corner)
- Color to begin with: (from(red)) Color to end with: (to(blue))
Mozilla
Syntax -moz-linear-gradient( [ || ,]? , [, ]* )
Example background: -moz-linear-gradient(top, red, blue);
Params - Type of gradient "linear" is specified within the vendor extension
- Where to begin? (top – we could also pass in degrees, as in -45deg)
- Color to start with? (red)
- Color to end with? (blue)



As for HTML,
<button class="orange" id="test" name="test">Press me</button>

Click here for demo 


For more information: 


HTML code is escaped using htmlescape.net

Hide/Show DIV when input element is focused

Yesterday, I was browsing Play-Asia for a game (Resident Evil Chronicles HD by the way), the website is packed with so many text and images that they've found out a way to display the search box's extra options elegantly, as shown below:

Before

After: User clicks on search textbox

Tasks:
  • Textfield with placeholder
  • When user clicks on the textfield, an outer DIV will display with more search options and a submit button/image
  • If user clicks anywhere outside of the search dialog box or the 'X' button, the outer DIV will be hidden.
  • Avoid user from spam-clicking on the textfield that may cause unexpected behaviour of the toggle show/hide feature.
  • Able to put the textfield anywhere within a webpage and have the same effect
Eager to find out how they code such effect, I have successfully used jQuery to replicate it and improve on the element positioning.

HTML part


Javascript part


Explanation:

  • The hidden outer DIV will have absolute positioning while its parent will have relative positioning so that their positions will be adjusted accordingly.  Click here for more information about css positioning.
  • event.stopPropagation() is used to stop the click queue.  If this is omitted, clicking on the "X" button will trigger the fadeOut() effect initially, then it will proceed to trigger the parent's fadeIn() effect (in 'else' statement).

Click here to download the files (ZIP).