Showing posts with label Blogger. Show all posts
Showing posts with label Blogger. Show all posts

Saturday, March 29, 2014

Malicious redirects from this blog (resolved)

Dear readers,

It has recently come to my attention that there was a problem when viewing my blog with javascript enabled in your browser where you would be redirected to some obvious spam/malware/phishing sites (fake Flash or Java download pages). This was happening due to a third party gadget that was part of my Blogger template and apparently had only recently been causing this behavior. My apologies for anyone whose browser was hijacked by this.

These third party gadgets are submitted to Google and available for a blogger to choose to add to their blog's layout template. All indications are that the blog has not been "hacked" and the problem is resolved now.

Information about this problem on the Google support forums seems to indicate that this has happened to many other bloggers as well. If you run a blog, you should remove the Sociable or Share It gadgets as they are known malware gadget.

https://productforums.google.com/d/msg/blogger/aLsGFogJraw/6eU71c8g9ZMJ



Sunday, November 7, 2010

New blog template and design

As you may have noticed, I have been experimenting with the design of the blog.

For now I have settled on the "Awesome Inc." blogger template, I liked how it . For the background I am using one of the Nature backgrounds. Under Layout > Adjust Width in the designer, I expanded the width of the entire blog from 880px to 1000px (max). I reduced the total width of the right sidebar as well. This gives more space for the longer code samples in the main body of my posts.

Not totally sold on the new looks. I notice that the Awesome Inc. template incorrectly floats some of the widgets in the side bar, so I've adjusted those to the bottom of the page layout, and the code samples extend beyond the main body now and into the space of the sidebar.

It is all still a work in progress. The backgrounds can be a distraction. It is cool I can make all these changes and the content is unaffected.

Saturday, October 30, 2010

Blogger stats behind the scenes

I had a look at the stats feature that is provided by Blogger for your site automatically. This is the first look I've actually had at the traffic to my site since it began. This is the view that webmasters get into the site traffic:

This has got me thinking about how to increase traffic to this blog, and provide more useful information to the public.

Top Post
Installing Korean support on Windows Mobile 6.5 (Feb 27, 2010)
Distant 2nd place
Java HashMap vs. C# Hashtable (Apr 18, 2009)
Posts on other programming topics, including recent Ubuntu/Linux related posts round out the rest of my "top posts". On the other end posts on Redwoods don't seem very popular :(, and neither do the WorldWind topics (surprise, surprise).


It was very cool to see an audience from across the globe.

Top Ten Countries
  1. United States
  2. France
  3. Germany
  4. South Korea
  5. Canada
  6. Singapore
  7. Japan
  8. Netherlands
  9. India
  10. Indonesia

Thank you all for reading!

Conclusions
My goal with the blog has always been to document information I consider useful. If it couldn't help others in someway, why bother posting it on a public channel like a blog? To that end I think I should do more to attract visitors and give them more of what they want. Some interpretations of my statistics so far:
  • More content = more page views. I have a backlog of topics I would like to write about. I will make an effort to start putting out these posts on a variety of topics
  • More "how-tos", lets be honest, nobody cares that I am growing redwoods in my house. More useful step by step guides to do things applicable to a wider audience (smart phone users, programmers, etc...) may drive traffic from search engines.
  • Post design, as a corollary to the previous point. I could change the style of my post. Typically I explain why I worked on a particular problem, then how to solve it, with examples, etc. If I was searching the Internet for some tips on solving a coding problem, I would want the solution to be right up front. I may lead off my posts with the "solution" and let the viewers read on if they like to my back story.
  • I will post a sequel to my blockbuster "Korean font on WinMo" post series. I have to give the people what they want.

Sunday, August 2, 2009

Fire up the bug tracker

I feel like I have had a pretty productive weekend in terms of WorldWind accomplishments. This entry is actually on time and not stale at the time of writing which is also a good sign.

First of all I finally got my act together and created a complete bug tracking wiki-article on the World Wind site. This page has a table containing general information and priority to bugs, then for each bug I created a section in the bottom half of the page for more detailed description and comments. It probably took me an hour or two to develop this, it's not secure and has a lot of manual editing to update anything, but its something. Its the first time I've been on this project we have been able concretely state what we know needs to get done and to say who is doing what. I have not gotten a whole lot of response, but so far one other active developer has stepped up and begun fixing items from that list. I've picked up another item as well.

Setting up that page was one thing, the second task was to populate it with data. I spent most of this morning reading and replying to threads in the WW Bug Reports Forum. From this I tried to glean the data to see what issues had been found by users but never addressed. The sad thing was a number of threads more than a year old with no replies where I could see no fix was ever made. Ok, I've been at it for 6 months and have not fixed many bugs myself, so I can understand it. I don't like it too much though.

Maybe I enjoy "process", but I feel I am not alone when finding things like proper defect tracking help software development rather than are a burden. I have taken the initiative to provide this data and calling it out. I am not quite sure what the reaction will be from more senior developers, hopefully there will be more positive responses so I will continue.


On the front of fixing bugs, I took a look at two Issues I came across with "Plug-in" code. The first I looked at was the "Starfield" plugin. The issue with this plugin is that it loads by default on start up. However, if you try to uncheck it from the Layer Manager, it will not unload the visible background stars. I would like to go into the Plug-in architecture more later. But basically there is a single Stars3d.cs file containing the Plugin code plus some initialization and data files that get stored in a Plug-ins directory in the application folder. After some trial and error I got this to work by a simple line change in the Stars3DLayer class's Render(DrawArgs) method, approx inserted after line 151

if (!this.IsOn)
return;

IsOn is an inherited property of the RenderableObject base class for the layer. It gets set true or false by the LayerManager when the check/uncheck happens, there seems to be no other hook to the plugin itself when that event is handled in the LayerManager UI.

I made a further enhancement so that the SaveSettings(),ReadSettings(),Dispose() methods would actually save the sate of that check, either On or Off so that if you check it off, the next time you start WorldWind it will stay off (but still loaded).

Open Questions: I'm not sure if there is a some other way that the WW is supposed to know not to render a layer if IsOn == false?
Is there a "business" reason why they wouldn't want the plugin's last state (checked or unchecked) to be persistent?


The second issue I stumbled upon when trying to understand how the LayerManager worked by looking at other plugin code. I tried one called Atmosphere.cs which didn't seem to do anything but repeatedly cause System.NullReferenceException. I traced through this and found a fix pretty quickly. A summary of what I found and my fix can be found in this Bug Report thread


PS: Thanks to The Wandering Geek Blog for the tip on how to configure the blogger styles to render the code blocks nicely with a background. e.g.(Atmosphere.cs):
// Set new one (to avoid being clipped) - probably better ways of doing this?
float aspectRatio = (float)device.Viewport.Width / device.Viewport.Height;
device.Transform.Projection = Matrix.PerspectiveFovRH((float)camera.Fov.Radians, aspectRatio, 1, (float)(2*world.EquatorialRadius) );
device.TextureState[0].ColorOperation = TextureOperation.BlendCurrentAlpha;