Sunday, July 31, 2011

Eclipse and ctrl-space

I've been plagued by this problem for years now. And it has been a pain in the neck.
Basically, windows XP chinese IME had a bug where you couldn't switch off the ctrl-space code assist button regardless of what you set the control panel settings to be.
I used to stop the chinese input method when I coded, and enabled it when writing chinese (not that I really know what I'm typing!)

Solution? Registry hack:
  • open "regedit.exe" in run dialog
  • Browse the registry editor to the location: HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\
  • Now delete registry entries that with the name: 0000007x (x indicates any number)


HK Life: Disable ctrl space for language bar switch

Wednesday, June 22, 2011

The worst decision Google ever made | ZDNet

The worst decision Google ever made | ZDNet

Agreed. Google should have bought Sun. Then all the Sun java team wouldn't have left Oracle and left java in a big hole.
Then all the android.* api's will eventually become javax.* instead :-)
Would google android then implement Java ME? LOL.

Five Word tips that could change your life | TechRepublic

Five Word tips that could change your life | TechRepublic

Wow, I love these tips!
1. vertical text selection: hold alt key down
2. Use ctrl-z to remove autocorrect stuff
3. Use --- for horizontal line. See also ~~~, ___, ***, ===, ### for other styles. Again, use ctrl-z to remove if accidentally created
4. Move text (in table, a row, else a block of text). Click, then Hold alt-shift then use the arrow keys
5. Save All. Hold shift. Then pull down File menu. Save All appears.

More quickies:
Keystroke Function
Ctrl + Shift + D Double underline the selected text
Ctrl + ] Increase the size of selected text by 1 point
Ctrl + [ Decrease the size of selected text by 1 point
Ctrl + Shift + A Make selected text all caps
Ctrl + = Toggle subscripting for selected text
Ctrl + + Toggle superscripting for selected text
Ctrl + Shift + Q Apply Symbol font to selected text
Ctrl + Shift + N Apply Normal style to current paragraph
Ctrl + Alt + 1 Apply Heading 1 style to current paragraph
Ctrl + Alt + 2 Apply Heading 2 style to current paragraph
Ctrl + Alt + 3 Apply Heading 3 style to current paragraph
Ctrl + Shift + L Apply List Bullet style
Ctrl + 0 (zero) Apply or remove space above current paragraph
A line break Shift+Enter
A page break Ctrl+Enter
A column break Ctrl+Shift+Enter
An optional hyphen Ctrl+- (hyphen)
A nonbreaking hyphen Ctrl+Shift+- (hyphen)
A nonbreaking space Ctrl+Shift+Spacebar
A copyright symbol Alt+Ctrl+C
A registered trademark symbol Alt+Ctrl+R
A trademark symbol Alt+Ctrl+T
An ellipsis Alt+Ctrl+. (period)
An em dash Alt+Ctrl+\
An en dash Ctrl+- (on numeric keypad)
The page number Alt+Shift+P
The current date Alt+Shift+D
The current time Alt+Shift+T
Keystroke Function Notes
Shift + F3 Toggles through capitalization options. This one isn’t perfect — for instance, it insists on capitalizing articles and prepositions in Title Case mode — but it’s still a big timesaver.
Ctrl + Shift + N Applies the Normal style. If you work with documents that are riddled with obscure and specialized styles (typically other people’s), it’s handy to turn them into Normal paragraphs on the fly.
Ctrl + Shift + C Copies the formatting of selected text. Once you’ve copied the format, you can press Ctrl + Shift + V to paste the formatting onto a new selection. Yeah, I know — Format Painter does this, too. But Format Painter forgets the formatting as soon as you’re finished with it. This shortcut remembers what you copied until you close out of Word.
Alt + F9 Toggles the display of field codes on and off. Unless you work with field shading turned on — and I don’t know many users who do — you can’t necessarily tell what’s literal text and what’s being generated by an underlying field code. A quick peek using this shortcut can prevent the headache of inexplicable changes and unwanted editing consequences.
F4 Repeats your most recent action. This might be the all-time best shortcut (except for Undo, which I’m not including in this list because for me, at least, it’s like breathing and requires no conscious thought). The F4 shortcut will repeat nearly all the actions you take on document text: typing: formatting, deleting.It will also let you repeat the action of adding or removing table rows, but it isn’t well implemented with tables overall. For instance, changing table properties is not replicable via this shortcut.
Ctrl + H Opens the Find And Replace dialog box with the Replace tab selected. Replace functionality is my constant companion, so this one is essential for me. Ctrl + F opens to the Find tab if you just want to locate something in a document (or make sure something isn’t in there).
Ctrl + drag text or an object Creates a copy of the text or object. Apologies to the keyboard purists, but this useful trick does require mouse action. It’s handy when you need to copy an object and control where that copy ends up. For example, a picture or other object that has certain positioning attributes may land in some unpredictable location if you use the standard copy and paste functions. This shortcut lets you drag it exactly where you want it.Just make sure you drop the text or object before you release the Ctrl key or Word will move the original instead of copying it.
BONUS: If you hold down Shift along with Ctrl as you drag, Word will keep the copy aligned with the original.
Ctrl + Q Removes paragraph formatting that isn’t part of the style assigned to a selected paragraph. When you want to strip out manually applied formats and return to only those characteristics defined by a paragraph style, this is the quickest way to get there. Ctrl + Spacebar works the same way for character formatting.
Ctrl + 0 (zero) Applies or removes 12 points of space above the current paragraph. This sounds a little lame, but you can improve readability of selected text in about two seconds using this trick. For instance, table text is often jammed up against top borders. Select the table and hit Ctrl + 0 and you’ll get an instant improvement.
Alt + drag the mouse vertically Make a vertical text selection. Another keyboard/mouse hybrid, this one is obscure but useful. Some users have trouble making it work, but the problem is usually sequence. Just make sure you press Alt before you press the mouse button and drag. Then, release Alt before you release the mouse button.

Security or convenience: Does it have to be a choice? | TechRepublic

Security or convenience: Does it have to be a choice? | TechRepublic

Parno's thesis "Trust Extension as a Mechanism for Secure Code Execution on Commodity Computers "is that we can make security more convenient by leveraging the security possessions we have - the Trusted Computing Module in my thinkpad, the new Flicker architecture in the latest x86 architecture, a USB keyfob.
We specifically ask for elevations of security when we need it, not the all-in-one approach of logging in.
Finally, remote execution via Yao’s Garbled Circuits and homomorphic encryption.

nice thesis

Wednesday, June 08, 2011

Eclipse Helios vs Netbeans 7 for PHP development

I'm currently trying to install PDT on top of Eclipse WTP Helios SR2 for university. Pain trying to set up minimal configurations.
This guy's blog has a very good compare and contrast between them!

Sunday, May 01, 2011

xkcd: Fairy Tales

xkcd: Fairy Tales

I like the "Inductive White and the (n-1) dwarfs"
or the "lim[x->infinity] (x) Little pigs" fairy tails seem a bit weird...

or the time management comic: http://xkcd.com/874/

Friday, March 18, 2011

The dead grandmother syndrome

being an academic, I get to see bright and enthusiastic students every day who cheer me up with their joy, their views of life and wonder at the future. .... except...

now I am also the course coordinator for the BSc(Information Technology) and academic advisor for the faculty of engineering and IT for IT undergraduates. This means, apart from my normal teaching and research workload, I have the additional joy of dealing with special considerations, misconduct appeals, exclusion "suspension" appeals, heaps of paperwork and administrivia and ... blarghhh!!!

Normally it's great. But one thing I have noticed (and my fellow coordinators and directors) is the dreaded .... drumroll ... DEAD GRANDMOTHER SYNDROME.

It seems that for some unknown reason, grandmothers start to get sick just before the final assignments are due at the end of semester, then die just before the exam. In fact, sometimes students claim all 5 grandmothers   have died over their past 3 years at uni. Oh, wait, was that the other grandma? Oh, sorry, we don't have death notices or records in vietnam. Oh, I meant my girlfriend's grandmother.

But seriously, here is a paper on the dead grandmother syndrome, also called the "The Toadstool Waxing Plan" in bulgaria. See http://www.cis.gsu.edu/~dstraub/Courses/Grandma.htm


Further research is needed over why grandfathers don't have the same problem...

Wednesday, October 27, 2010

Callan Park - OUR plan, OUR say

This website is the worst example I have ever seen of 'push polling' - your options are only to 'support this plan' or do some minor tinkering with 'my options' questions which are specifically designed so you can't change the major parts of the plan.

As an academic, I find this planning/survey question process quite un-transparent and would violate/fail our ethics committee on the structure of the questions.

I would almost laugh at this attempt to push an opinion, except instead I am crying since I am a local resident.
How on earth did this so-called survey occurred? Who approved it?

Monday, September 20, 2010

TinEye Reverse Image Search

TinEye Reverse Image Search

Tried this out today - you can upload an image, or provide an image URL and it will detect (using image recognition) where else in the web is the picture. It's quite remarkable and works quite well. I'm using it to track where students are copying images and diagrams from, without acknowledgements..

Now only if turnitin does the same thing for essays/reports ...

Wednesday, September 08, 2010

Bug in Helios - J2EE Module dependencies KAPUT!

Those idiots in charge of Eclipse WTP have done it again.

Apparently they have removed the J2EE module dependencies feature in Eclipse 3.6 Helios WTP 3.2.0
What this means that if you have user libraries which your project will depend on (like.. say... JSTL or JDBC or something like that) normally under the old Galileo version you would:

1. Add a user library (or external jar or whatever) to the Java build path (Libraries -> Add External Jars).
2. Modify the J2EE Module Dependencies to export this (so it will get copied into the WEB-INF/lib directory or / depending on whether it's a WAR, JAR or EAR project)

Helios way:
They removed J2EE module dependencies, and now have a new feature called "Deployment Assembly" - which by itself looks interesting (directly map the source paths to deployment paths - this is goodness indeed). However, it forgets completely about the Java build path - ahem folks, how the F^*(^ do you mark the libraries to be exported to WEB-INF/lib ?? ooops... bbzzztt... epic fail.


Effectively, the missing libraries will appear due to the "Classpath dependency validator" which will indicate which libraries will be missing from the Webapp. You then select each miscreant and press QuickFix (Ctrl-1) to fix - ie: "Mark the associated raw classpath entry as a publish/export dependency"
(or the negative case: Exclude the associated raw classpath entry from the set of potential publish/export dependencies")

From what I gather, this is the ONLY way to do this until this bug is fixed.

The referenced bug may be fixed in Helios SR1: https://bugs.eclipse.org/bugs/show_bug.cgi?id=306462

Pain.

UPDATE: New way around this stupidity
Choose Deployment Assembly:
Click Add > Classpath Container > User Library > whatever
Now it will work. Geez!!


Wednesday, August 25, 2010

Android still sucks - still no WPA2 enterprise support!

Now I am running android 2.1, update 1, and still Google have not updated their fricking UI for WPA2 Enterprise.
Are they mad? Are they INSANE?
Even worse my wireless no longer works - their update overwrote my /etc/wifi/wpa_supplicant.conf with a dummy WRITE PROTECTED one so my old wifihelper app (and wifinder) can't write to it.

This means my Motorola Milestone does not work with most common university/corporate networks. My ipod touch seemlessly works. Android developers - I HATE YOU.

Oh, of course, I could ROOT my phone so I could update it myself (or use wifinder again). Pain in the (*^(*^(!

What is so embarrassing is that we teach android at this uni and our students can't connect to the network here - we use UTS-WPA (a WPA2 Enterprise network - simple set up,  just use WPA2 + AES for stage one, and EAP = PEAP for stage 2. Just use student/staff number and your email password)

For eduroam, you use EAP-TTLS, and use the PAP (nnnnn@uts.edu.au, password) instead.

SIMPLE EH?

Monday, August 02, 2010

Quality-oriented teaching of programming

Quality-oriented teaching of programming

Worth reading. I see this all the time too.
Why is there a double hump marks distribution with programming subjects?

This post is a good reason why.

mmm...

Tuesday, July 27, 2010

What is your personal organisation style?

Love this quote:
Schlenger and Roesch describe five distinct styles to organizing time:


 

  
  • The Hopper quickly and and frequently switches tasks throughout the day. Hoppers often enjoy variety and like to feel the gratification of completing small tasks, but they may be easily distracted by other people or technology. This is the most common of the temporal organizing styles.
  • The Perfectionist Plus seeks excellent performance in every activity, sets very high standards for herself and others, and may have difficulty distinguishing between valuable and less-valuable uses of her time.
  • The person who is Allergic to Detail enjoys thinking about the big picture and new ideas, sometimes neglecting smaller details or follow-through.
  • The Fence Sitter can see both sides of an issue and thoroughly researches upcoming decisions, both large and small, sometimes to the point of forestalling action.
  • The Cliff Hanger thrives on adrenaline, deadlines, and external pressure, but sometimes loses track of all the commitments he's juggling.
 
Schlenger and Roesch describe five styles of organizing physical space:


 

 
  • The Everything Out likes to have reminders, mementoes, and project materials in plain sight and within easy reach.
  • The Nothing Out prefers to have surfaces cleared off and materials stored away.
  • The Right Angler enjoys having things look a certain way, with the appearance of precision.
  • The Pack Rat keeps almost everything.
  •  The Total Slob believes that organizing things is a waste of time that could be spent on creative pursuits.

Chinese spam

Recently there have been a large number of chinese spamsters hitting my website with comments about their hackware websites (or some just plain strange ones). naturally these are blocked by me since I moderate every single comment.

But why do they pick on me, not the other ones I am aware of?

If you are a chinese blog-spamster,  F*** off!!

Blackboard aka UTS Online - how I hate thee

Our learning management system here at UTS is a pile of dog poo. It's so tedious to do anything and adds a lot of work to make life as an instructor painful.

There are so many websites and blogs  (google it)  bemoaning the pile of crap Blackboard inc. have written.

Sigh.

Tuesday, July 13, 2010

App Inventor for Android

App Inventor for Android

Oh dear, does this make us programmers redundant?

Apps for Android made easy - I now see a million iFart applications appearing...

Incidentally, It's amazing how your mind explores links - from this website I got to Kawa, then qexo (Xquery) which then leads back to HTML + JSP vs HTML generation via Xquery (http://www.gnu.org/software/qexo/XQ-Gen-XML.html) ...

Monday, June 14, 2010

Go Ahead: Next generation Java Programming Style

Code Monkeyism: Go Ahead: Next Generation Java Programming Style

here is a brief summary of style changes recommended:
Final is your new love
No setters
Do not use loops for list operations (hint: Use functional programming style)
Use one liners
Use many, many objects with many interfaces (ie: domain driven design)   
Use Erlang-Style Concurrency (huh?)
Use Fluent Interfaces (and Domain Specific Languages)
Data Transfer Objects without setters and getters (yeah, makes your code look simpler)