The Chrome Extension model is amazingly easy to use with just few basic concepts to understand. But there are rather severe limitations. The most important I found so far:
- There is no easy and consistent way to create option page. Developer needs to create option page as any normal HTML page, this is just overkill! See Extension options page, Chrome issue cr25317.
- Attaching action to context menu is limited in many ways:
- You can’t add two items to context menu. Chrome automatically creates a group called after the extension and puts all your items into this submenu.
- Callback method from event gets very limited amount of data about the click – e.g. you can’t easily read the contents of a link (A) tag right-clicked by user.
- There is no way you can modify the title of the link in context menu when it’s being displayed (no OnShow or similar event).
Expect edits here.
I spend long hours reading on-line (don’t we all?). Most of interesting material is available in English only (including en.wikipedia.org which is much superior to my native pl.wikipedia.org), so I tend to read all in that language. And as it is my second tongue, I need to use translator quite often. Google translator is doing pretty good job with helping me, but the manual process (copy->new tab->type address->paste) was just too slow to be comfortable. This is where the idea for extension for Chrome came from.
Basic needs for the plugin were defined as:
- No need to open translate.google.com everytime I need a translation
- No need to copy/paste to translate
- No more than 3 hours to develop (including the ramp up – this was my first attempt to create a Chrome Extension)
The result is quite encouraging – the extension is working and can be downloaded from Chrome Web Store. More information about the extension can be found here (click!)
Having worked with heavy J2EE applications for couple of years I have almost forgot how much fun one get from programming. I got used to massive tools, complicated frameworks and other Very Serious Stuff. And then I decided to give Microsoft Visual C# 2010 a try. It was a love from a first sight! The tool reminded me all the fun I have playing with Delphi in late nineties.
I had no prior experience coding in C#, next to none experience with .net and still in less than two evenings I was able to:
– Create working WPF (Windows Presentation Foundation) application
– Connect to Allegro.pl webapi Web Service using provided WSDL
– Store app’s configuration in Windows Registry
– Use threads – app is using computation thread to keep UI responsive
– Use regular expressions (regexps).
My first impression is that programming in C# and WPF is pure fun!. It utilizes whole power of .net framework but it incredibly smart in hiding all unnecessary details from developer, who just wants to get things done.
WPF uses XML to define UI of the application. The files can be modified using GUI editor in VC# or by manual modification directly in XML, which just couldn’t be easier, see definition of main window of my application.
Learning curve for C# with WPF is flat – you can basically guess most of methods you need. And when you’re stuck, Goggle knows the answer! Note: I’m not advising nor advocating happy cowboy approach to software development. But still it’s fun!
My completed application has been uploaded to github as “Sprawdzacz allegro” project. Maybe someone will find bits of it useful.
Exploiting errors in software and firmware is actually more fun that using the device in first place. Recently I’ve discovered that HB354BS has an error that let’s one skip unskippable parts on dvd. No more annoying ads when I want to see next episode of ‘Allo! ‘Allo!.
When you put dvd in the reader, the player starts with first title. You can’t stop, fast forward or pause it, but the firmware let’s you go to device’s main menu – using home button on remote or playing with Simplink on TV. When in Home menu press “play” and the devices skips to first title after menu. You can now sit and watch or move to dvd title menu!
Out of the box, command prompt (cmd) in Windows 2003 Server has the auto-complete (tab-complete) feature disabled. To fix the problem open regedit and create following DWORD keys:
Open new command window and your TAB completion is working!
I just invented An Ultimate Scrambled Eggs. Here comes the recipe:
1/2 red grilled pepper
1 slice of ham
100g of king prawns
Green Jalapeño peppers
1/2 lrg red onion
1 lrg carrot
1 lrg tomato
Chop veggies and ham and fry with prawns and three drops of Tabasco until carrot is tender. Add eggs and fry a bit more.
I just got a link to a digital edition of NT Insider, paper I used to read during my university studies (it seems pretty hard core stuff now…). Since then I forgot all about IRQs and kernel level debugging, but I remember I always loved “Peter Pontificates”.
See “Pros & Cons of Agile SW Development Methodology” to understand why agile is a temple of stupidity and was designed strictly for idiots, who wouldn’t do anything properly anyhow. Or maybe not? Peter at his best ;)
Here’s a direct link to pdf file.
This Big Nate comic strip just made my day:
And it finally happened! Amazon started UK edition of Kindle Store!. If you have been using US version of Kindle Store, you need to transfer your account, which takes just two clicks. And that’s all.
The new Kindle Store works perfectly with iPad, the prices I checked were are almost exactly the same as in US store. Just check Free Bestsellers list and test for yourself :)
For those of us who have some experience with MySQL exporting the data to sql just just a normal way of working. No big fuss, just start phpmyadmin, select export and it’s done. With Oracle is not as easy – you can create dump using exp and import it using imp. Which is useless if you need to modify some data in between.
Google suggests many shareware tools to do the export, which will cost you at least $49. I, on the other hand, suggest using Free and supported SQL Developer from Oracle. It has tons of great features, one of which is Database Export. Just follow a simple creator and you’re done!