Posts
Mylyn is a Task-Focused Interface for Eclipse that reduces information overload and makes multi-tasking easy. It does this by making tasks a first class part of Eclipse, and integrating rich and offline editing for repositories such as Bugzilla, Trac, and JIRA.
See also
Easy Eclipse for LAMP which is fully multi-platform compatible including GNU/Linux & Apple Mac OS X now has add-ons, extensions, plug-ins for :
- DataBase
- Bugzilla, Trac, and JIRA
- SubVersion
- Trac & Subversion integration
- Log Watching
- HTML
- JavaScript
- XML & XSLT
- QA & Testing
and you can find even more Easy Eclipse plug-ins @
to make it one of the best free libre open source IDEs for LAMP web developers !
I've been using the iPhone SDK since its original release way back in March. Many frustrating moment in the beginning but the recent beta 7 and beta 8 release proved to be ready for prime time. Apple has added many helper classes or helper methods to classes to make it far easier to work with the UI components, which is by far the most frustrating things I encountered. I am still having problem wrapping my head around the idea of Interface Builder but since the apps that I am building do not involve very complex UI, I just hand coded all the UI instead.
- Fix the build time being 1 hours off (probably day time saving bug)
- Better status icons
- Create application icon (currently it uses icon from CCMenu)
- Finish coding the 'Force Build' functionality
- Add startup screen bitmap (so it won't be just a black screen)
- Add auto detect of CruiseControl server (Java, .Net, or Ruby)
I first wrote about an SQL Injection attack way back in April. It died down for a while, but that attack is still going on. It broadened in scope to even hit some php and ASP.Net sites, and this week I've noticed several new requests for assistance. If you're wondering how your site would fare, you should check out this article. Here are the steps to take if you find yourself in a position to help fix the issue:
- Take down the site. As it stands now, the site is actively serving malware to it's users. This is not a situation you want to be in. You can put up a temporary page to tell the users what is happening, but you should not allow the site to continue operating until it's fixed.
- Fix the vulnerabilities that allowed the breach in the first place. The nature of the attack is that the site will be infected again inside of a week unless the vulnerabilities are closed. It could be as simple as replacing a single apostrophe with two apostrophes on a few form fields or it could be much more complicated, but it must be done. The article I linked to above has some tools that can help.
- Fix the database. Now we can finally begin to undo the damage. You have a couple options here, including restoring from backup, though that may not be necessary. Instead, I modified the code used for the attack to help with the cure. If this seems cryptic it's because I only changed what was necessary to make it work. Note that you should not run this code if the database contains valid instances of the text "<script" anywhere:
DECLARE @T varchar(255),@C varchar(255)
DECLARE Table_Cursor CURSOR FOR select a.name,b.name from sysobjects a,syscolumns b where a.id=b.id and a.xtype='u' and (b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167)
OPEN Table_Cursor FETCH NEXT FROM Table_Cursor INTO @T,@C
WHILE(@@FETCH_STATUS=0) BEGIN
exec('update ['+@T+'] set ['+@C+']=LEFT(['+@C+'], CHARINDEX(''<script'', ['+@C+'])-1)
WHERE CHARINDEX(''<script'', ['+@C+']) >0')
FETCH NEXT FROM Table_Cursor INTO @T,@C
END
CLOSE Table_Cursor
DEALLOCATE Table_Cursor
Now, finally, you can put the site back up and things should be back to normal.
One of my friend reached out to me last week for help. The photographer she hired for her wedding had gone bankrupted. Since she has not gotten the album now she can't even get her wedding photos in either prints or digital form. All she has access to is the photographer's web site where the people can order prints from. She was hoping that I can somehow retrieve all the photos (~1220) from the site so that at least she would have digital copies of her wedding photos.
I ran across a request in a forum today to create an Excel column name from an index. It sounds simple, but it's harder than it looks.
The obvious solution here is to think about a column name as a base 26 number, with A-Z for digits. Unfortunately, it doesn't quite work like that. The '0' digit is broken. For example, counting the column names from A you wrap around to AA after reaching Z. If this were base 10 it would be like counting from 1 to 9 and then getting 11 instead of 10, or counting from 0 to 9 and then getting 00 instead of 10, depending on whether you treat A as 0 or 1. So it's tricky.
I thought I could get around that but that it would take more work than it's worth, so I decided to look around online. Surely there would be something already out there. What I found was a bunch of over-complicated implementations that all break somewhere on one of the boundaries I described. Even the Microsft support example doesn't work well. What a disappointment.So I ended up writing a new version after all. This one will scale, and it's not even that complicated. I just had to get a little recursive:
Function ColumnName(ByVal index As Integer) As String
Static chars() As Char = {"A"c, "B"c, "C"c, "D"c, "E"c, "F"c, "G"c, "H"c, "I"c, "J"c, "K"c, "L"c, "M"c, "N"c, "O"c, "P"c, "Q"c, "R"c, "S"c, "T"c, "U"c, "V"c, "W"c, "X"c, "Y"c, "Z"c}index -= 1 'adjust so it matches 0-indexed array rather than 1-indexed column
Dim quotient As Integer = index \ 26 'normal / operator rounds. \ does integer division, which truncates
If quotient > 0 Then
ColumnName = ColumnName(quotient) & chars(index Mod 26)
Else
ColumnName = chars(index Mod 26)
End If
End Function
That still needs some basic bounds and error checking, but it works well for a quick sample. It's only 11 lines of code as is appears in my IDE (curse the vox formatter!) so it's pretty easy to follow. It should perform well too, since it would be very odd have more than one or two recursive calls. Now hopefully Google can index this page better than all those bad implementations I saw out there, but I'm not holding my breath.
Unless you have been boycotting reality TV or trapped down a well, you will know by now that Sir Alan has decided that Lee McQueen has what it takes to be The Apprentice. Accordingly, he will be appointing Lee to a position in his organisation, Tottenham Hotspur, pending a short investigation into whether Lee's name really is Lee, or whether he made that bit up.
This is ostensibly a blog about recruitment and work and such like, and I'd been hoping to make up provide occasional tips on how to get the job of your dreams. It looks, though, like I'm going to have to rethink everything I've ever accepted as true.
So what does Lee's appointment teach us about how to get a top job? Here are my initial tentative thoughts.
1. Have a catchphrase.
2. Have a 3-point plan, such as 1) get through the first round, 2) get through any middle rounds, 3) get the job. Planning is all about specifics.
3. Realise the value of a solid education.
4. Give the interviewer exactly what s/he asks for. Apologise later if necessary.
5. Wink wink.
Anything I missed?
Right, I'm off to do some work on my CV.
We have a new hts consultant, Sarah. It’s her first foray into regular 8.30-5.30 office work (like all of our staff, she was originally a circus performer) and so we’re trying to live up to stereotypes by welcoming her with some mock-bullying. (We’ve known Sarah for ages so this is perfectly acceptable.) Accordingly, she has spent the morning receiving HILARIOUS emails: Subject: Tasks for new girl Sent 10:48 Can you ask the new girl to go the hardware shop on Digbeth high street and get a glass hammer. Also can she make a quick call to 01384 215313 and ask for Mr Lyons. Can she have a full report on my desk by 10:50 please. Any suggestions as to where to go from here? We'll be putting her stapler in jelly as a matter of protocol, natch.
My Google Groups !
|
|
AdSense Help | 0 | 48627 | Member | Longer than a week |
| Adword-User-Group | 17 | 988 | Member | Longer than a week | |
| AdWords Help | 0 | 17623 | Member | Longer than a week | |
| Analytics Help | 0 | 13997 | Member | Longer than a week | |
| Android Beginners | 68 | 3825 | Member | 3 days ago | |
| Android Developers | 137 | 9004 | Member | 3 days ago | |
| Android Discuss | 10 | 1420 | Member | 3 days ago | |
| Android Internals | 2 | 1672 | Member | 3 days ago | |
| architecture-rules-users | 0 | 7 | Member | Longer than a week | |
| Best Practices | 0 | 19942 | Member | Longer than a week | |
| Blueprint CSS | 26 | 927 | Member | Longer than a week | |
| Carnival of the Mobilists | 3 | 83 | Member | Longer than a week | |
| Cloud Computing | 100 | 902 | Member | Longer than a week | |
| codesite-discuss | 2 | 1275 | Member | 3 days ago | |
| comp.lang.php | 513 | 7873 | Member | Longer than a week | |
| comp.lang.ruby | 857 | 7175 | Member | Longer than a week | |
| comp.os.linux.advocacy | 2939 | 2416 | Member | Longer than a week | |
| comp.os.linux.setup | 68 | 2143 | Member | Longer than a week | |
| Django users | 503 | 9374 | Member | Longer than a week | |
| Foresight Linux Commits | 0 | 9 | Member | 22 minutes ago | |
| Foresight Linux Documentation | 0 | 15 | Member | 9 minutes ago | |
| Foresight Linux Marketing | 0 | 25 | Member | 21 minutes ago | |
| Foresight QA | 0 | 8 | Member | 22 minutes ago | |
| Gmail Help Discussion | 0 | 251078 | Member | Longer than a week | |
| GNOME Do | 0 | 207 | Member | 21 minutes ago | |
| Google AJAX API | 140 | 3316 | Member | Longer than a week | |
| Google App Engine | 635 | 3090 | Member | Longer than a week | |
| Google Apps Discussion Group | 14 | 27473 | Member | Longer than a week | |
| Google Base Data API | 32 | 864 | Member | Longer than a week | |
| Google Calendar Data API | 58 | 2289 | Member | Longer than a week | |
| Google Calendar Help | 14 | 34498 | Member | Longer than a week | |
| Google Checkout Developers Forum | 2 | 5707 | Member | Longer than a week | |
| Google Data Protocol | 21 | 1007 | Member | Longer than a week | |
| Google Labs | 0 | 1799 | Member | Longer than a week | |
| Google Labs - Code Search | 10 | 1172 | Member | Longer than a week | |
| Google Maps API | 1229 | 30862 | Member | Longer than a week | |
| Google Page Creator Discussion Group | 0 | 26096 | Member | Longer than a week | |
| Google Page Creator Guide | 2 | 687 | Member | Longer than a week | |
| Google Search Engine Optimization SEO Google - MSN - Yahoo | 8 | 1842 | Member | Longer than a week | |
| Google SketchUp Help | 15 | 11348 | Member | Longer than a week | |
| Google Translate | 37 | 2665 | Member | Longer than a week | |
| Google Visualization API | 46 | 197 | Member | Longer than a week | |
| Google Webmaster Help | 0 | 33909 | Member | Longer than a week | |
| GOOGLE YAHOO SEARCH ENGINES | 30 | 778 | Member | Longer than a week | |
| Google-Labs-Picasa-for-Linux | 31 | 1278 | Member | Longer than a week | |
| Hosting at Google Code | 69 | 1814 | Member | Longer than a week | |
| iGoogle Developer Forum | 108 | 4167 | Member | Longer than a week | |
| KML Developer Support | 0 | 2552 | Member | 29 minutes ago | |
| Linux Users Group | 25 | 3780 | Member | Longer than a week | |
| MAMBO OPEN SOURCE - CMS | 0 | 64 | Member | Longer than a week | |
| microsoft.public.sqlserver.security | 32 | 409 | Member | Longer than a week | |
| microsoft.public.sqlserver.server | 455 | 3317 | Member | Longer than a week | |
| microsoft.public.sqlserver.tools | 23 | 541 | Member | Longer than a week | |
| MochiKit | 8 | 1688 | Member | Longer than a week | |
| News & Updates | 0 | 19996 | Member | Longer than a week | |
| Nonprofit Salesforce.com Practitioners | 29 | 326 | Member | Longer than a week | |
| OpenOffice Ads Action | 0 | 91 | Member | 2 minutes ago | |
| OpenSocial | 0 | 3606 | Member | Longer than a week | |
| Pardus | 0 | 19 | Member | 20 minutes ago | |
| Pardus-Linux | 0 | 6 | Member | 20 minutes ago | |
| pclosdocs | 0 | 68 | Member | 4 minutes ago | |
| petite anglaise book news | 0 | 316 | Member | Longer than a week | |
| PownceAPI | 7 | 398 | Member | Longer than a week | |
| Provider for Google Calendar | 8 | 164 | Member | Longer than a week | |
| rBuilder Music Player Appliance Commits | 0 | 3 | Member | Longer than a week | |
| SOFTplus GSiteCrawler | 15 | 2606 | Member | Longer than a week | |
| stopbadware | 33 | 1299 | Member | Longer than a week | |
| TurboGears | 132 | 3384 | Member | Longer than a week | |
| Tuttle Club (Social Media Café) | 0 | 46 | Member | Longer than a week | |
| Ubuntu Linux | 15 | 985 | Member | ||