Feeder.co is now my employer and full time job. I’m really looking forward to the journey!
Are you getting “Failed to start transaction 1546 disk I/O error”? Here is what you should do:
- Go to the URL: chrome://version/
- Under the “Profile Path” you will see a path, in your operating system’s file browser, visit that path, and then the directory inside that directory:
- <profile path>/databases/chrome-extension_pnjaodmkngahhkoihejjehlcdlnohgmp_0/
- That folder will contain two files. One file with only a number as name, and another file with that number and -journal added. (If you only have one file in that directory, go to step 8)
- Make a copy of both files and put them on your desktop (just in case!)
- Remove the file ending with -journal
- Restart Chrome
- It should work now. If not, please contact me: firstname.lastname@example.org
Uh-oh! You’re RSS Feed Reader is still not working! After following the steps in the previous blog post you’ll probably find this page.
Until we can figure out what causes this issue, we’ll have to manually fix it. So, the problem: When updating the Feeder extension, not all files are downloaded and installed correctly, so the extension cannot run (We have notified the Chrome team about it, but they are still investigating it). The solution: Manually add all the missing files. All you have to do is follow these simple steps.
- Please visit this URL: chrome://version/
- On the bottom of that page, you should see “Profile Path”. Take the path next to it, and open it in the file Explorer.
- Within that directory, go to the folder “Extensions”, then “pnjaodmkngahhkoihejjehlcdlnohgmp”, so the full path should be:
- Within that folder you should see another folder, with a version number. Perhaps something like “4.0.9_0”. Open that folder.
- Here comes a tricky part: You must download the following ZIP-file:
- This contains the correct files needed to run the extension.
- unzip that file and copy all those files, and paste them into the version-number directory. Press “Yes I want to overwrite files with the same name” if a prompt asks you about it
- Restart Chrome
Hopefully, it should work after that. If you have any questions regarding any of the steps, don’t hesitate to contact me at: email@example.com. It’s a bit of a tricky operation.
Good luck out there.
Uh-oh! You’re RSS Feed Reader is not working. You’re getting an error message when trying to open the popup. Luckily you found this page!
A lot of the time this is because of a corrupt Google Chrome installation. What you will do is try to diagnose this problem, and then contact me, so we can take it from there.
1. Go the following URL: chrome://extensions/
2. On that page, you will see a list of your extensions.
3. Check the “Developer mode” checkbox in the top right corner:
4. Find the RSS Feed Reader entry in your list of extensions, and press “reader/main.html” link.
5. This will open a popup window. Press the “Console” tab in the top navigation.
6. Take a screenshot of this page. It will have a different list of errors, or it might even be empty. This is the screenshot you should e-mail to me. It can look something like this:
7. Check which version of Chrome you have, by going to: chrome://version and checking the Google Chrome:-entry.
— Interlude —
Does the error message look like this?
Then please follow the steps outlined in this post. If not, please follow the steps below.
So e-mail this screenshot, and your Chrome version, to me at firstname.lastname@example.org.
Most of the time you will see errors in your RSS Feed Reader popup because of a Chrome issue, which I have yet to diagnose. To help me diagnose this error and perhaps take it up with the Chrome team, it would be invaluable if you could follow these bonus steps so I can debug why this issue occurs.
1. Go the following URL: chrome://version
2. Take the “Profile path” value, and open that in your Explorer/Finder. (Press cmd+g to paste the path in Mac OS X)
3. In that folder, navigate to the following path: Extensions > pnjaodmkngahhkoihejjehlcdlnohgmp
4. Make a ZIP-archive of the contents of that folder, and e-mail that to me. email@example.com
So hopefully after you have e-mailed this to firstname.lastname@example.org, we can fix your RSS Feed Reader for Chrome.
I love Google Chrome. It’s the best damned web browser out there. It has everything. It demonstrates that for Google, the web is there home. To enter the browser race this late and still be lightyears ahead of the competition is no easy task. It is the perfect match between simplicity, design and speed. But it doesn’t have everything, like a decent RSS feedreader. So I built one using the technologies I already knew and was accustomed to.
Then when I try to update it they require screenshots. Fine. (First problem: Require) It’s not like the previous screenshots aren’t good enough. I totally understand. Oh, right, it’s because they redesigned the webstore and the previous screenshots were the wrong size. I mean, it really is difficult to design for a variety of screenshot sizes this day and age. But sure, I’ll upload some screenshots.
This is the image I’m trying to upload.
Dimensions: 441 × 280
Why is this wrong?
- There is enough computing power in Google’s datacenters to resize this image by one pixel.
- Image editors take time to start up, and when I have a critical bug fix to get up it’s not the thing I want blocking me.
- It’s bad design. If you’re designing a site where thousands of developers will post stuff, you should have already designed for that fact.
- They had these kind of restrictions before. We conformed to them. Now they are redesigning the webstore and require new screenshots. Do we really have to upload new screenshots everytime Google decides to redesign a site like that?
- It’s just plain dumb.
Today I had some time over and decided to work on my RSS Feed Reader extension for Chrome (I do think it needs a new name, don’t you? Or maybe it’s too late for that?). Certain things have been on the drawing board for a long time now: scrollbars, notifications, design issues, etc. I decided I’d write some tests instead.
Why? Because testing is awesome
One thing that always has left me with a bad-gut-feeling is pushing new releases to the public. This kind of extension should be able handle anything out there. How many poorly written RSS feeds aren’t there? And just how many different formats and interpretations of those format’s are out there? My guess is many. It’s hard to test all those different formats myself, especially whenI only subscribe to about 10 myself! So changing the parsing code is a big leap of faith for my soon-to-be 10 000 strong userbase.
In come the tests. They are designed to be run before each release as a sanity check that the code I’m shipping is bug-free. Or at least that it hasn’t introduced any new bugs in old previously working code. Sweet heaven. Can you imagine that? Running a command that assures you that it will work and that you can sleep worry free. It’s an enticing thought.
Writing tests is boring
The benefits with tests are many. The problem however that writing tests is tedious work. Instead of implementing cool features you write code to test what in your mind already is perfect. So choosing the right test framework is important. For RSS Feed Reader I’ve decided to use QUnit in a Node.js environment. Installing and everything is dead simple thanks to uptodate instructions and the Node Package Manager (NPM). The hard part is acquiring a large enough database of feeds to be relevant. Luckily developers before me have tackled this problem. A quick Google turned up this git repository of links to feeds – called Popular Feeds.
So now I’m going to scrape those to my harddrive and start writing the test code for all this. It won’t be as difficult and comprehensive as tests I’ve written for other projects. All I’m testing now is the parsing engine, so just attempting to parse all the feeds and checking that it doesn’t throw any exceptions should be fine. It might also prove to be a nice opportunity to optimize the process!
Wish me luck.
I have been quite bored lately. When you are bored you want to make things. One thing I have always wanted to do is programmatically take a photo (that means to have my code use the built-in camera to take photos and use in my application) using my Mac’s built in iSight-camera for some fun manipulation.
A simple search on Google returns some outdated results on old programs and other stuff related to capturing video using old APIs. However, when I recently dove into QTKit (QuickTime’s API) I found some promising things.
This post will be a straightforward demo of how to grab photos from your iSight camera (or any other connected cameras). I’ll post some code and explain the different steps and what they mean. And… The best parts about reading tutorials on QTKit and using the computers camera are that you get to see a lot of random pictures by the demoer himself. And here is my contribution: I.e, what you should have at the end of this tutorial.
Doing this you notice how silly you look while compiling code.
You should know some Objective-C, how to use XCode and have some basic knowledge of Cocoa (or Cocoa touch, for iOS, but this code will not work on iOS)
The first thing you have to do is include the QTKit-framework in your Xcode-project. While your at it you’ll need the QuartzCore-framework too (for image processing). Adding frameworks in Xcode 4 is a bit different from 3. You press the project name in the file navigator and there you get a list of frameworks for your project. Adding is simply pressing the +-sign and finding your framework.
To keep this simple I’ll just post a working code sample with lots and lots of comments.
This class presents you with an easy interface for grabbing photos. As illustrated: