Documents

Archives

Search

BLOGical Thoughts Archive

March 2009

Tuesday, 31 March 2009

I took a break last night from working on the sports program. Instead, I downloaded and burned a CD of Ubuntu Linux 9.04 beta. I ran it up on one of my machines and have to say that visually, it is even cleaner than 8.10. The text appears to be crisper and they have changed the default backgound to something a bit less annoying. That was all I had time to look at, so I will report on this when I get a better chance to evaluate it. Note that despite my initial good opinions, I have published a link to an opposing opinion below.


Regarding my work, I can't tell you how much contempt I have for the programming capabilities of those so-called programmers who wrote Crystal Reports 11. Anyone who writes a method allowing you to change an SQL string, but then proceeds to parse and change that string, eliminating the most important part of it, gets no respect from me. I have no idea how I am going to solve this problem, as Crystal Reports is determined to keep me from doing what needs to be done. Stay away from this report generator if you possibly can.


Silly sign of the day:


Free/Open Source Software

RIAA/MPAA/IFPI/BSA/SIIA/FCC

Stupid Patent Tricks, Copyright and Other IP Nonsense

Local and Other News

Monday, 30 March 2009

At the North Idaho Users Group meeting, I installed Centos 5.2 Linux on my old workstation. I was going to use the machine as a server, and to possibly host my web sites instead of paying a web host to do that. The installation went fine, even though I had to do the online update twice.

My problem with hosting my own web sites is not software installation, though - it's hardware. This morning I was downloading podcasts and looking for news articles, when the Internet stopped responding to my requests. I had to recycle the power on my router and my Wi-Fi modem to regain a connection. This kind of thing happens every once in a while, but when you want your web sites to have 99.9% up time, that is not a tolerable situation. So I guess I will have to press forward on changing to another web host.


I have finished creating all the dialogs for the program I am working on at home. I also adjusted some of the SQL requests for one of the dialogs, and I created a bunch of statements to populate the practice exercises table. There is still a lot more work to do, though. Hooking up some of the dialogs so they actually read from and write to the database is a high priority.


Silly sign of the day:


Free/Open Source Software

RIAA/MPAA/IFPI/BSA/SIIA/FCC

Stupid Patent Tricks, Copyright and Other IP Nonsense

Local and Other News

Friday, 27 March 2009

I created two more dialogs for the home program. The design and layout is much easier, as I have already done it in Java. I can use the Java design to implement the same dialogs in Delphi. And eventually, I can use the Delphi code to implement the program in Java.

One of the things I will be doing over the weekend is figuring out the SQL statements to populate the database with soccer information. Because of the database refactoring, the data is not stored the same way in the new database as in the old one.

This weekend might also be a good time to wrap up the winter support. I need to put regular tires on my Honda, get the teardrop trailer ready for camping and possibly remove the plow from my truck. It may be a bit early for that last one, but I will think about it.


On Saturday afternoon, I will attend the extra North Idaho Linux Users Group meeting in Rathdrum. This meeting is devoted to hardware and software installation, so if you need to do that, plan to attend.


Silly sign of the day:


Free/Open Source Software

RIAA/MPAA/IFPI/BSA/SIIA/FCC

Stupid Patent Tricks, Copyright and Other IP Nonsense

Local and Other News

Thursday, 26 March 2009

I have temporarily given up on why my database has a rogue string field. I moved on to creating more dialogs. This is especially easy because I have already done them in Java and I can use those as templates for the ones I do in Delphi. I did 2 dialogs last night.

Of course, all these dialogs have to have database connections and code to go with them. That will be the most tedious part of the project. It isn't real tough to do, but there will be a lot of it.

I also have to create SQL statements for populating the database with the first sport: soccer. I have all the information from the original program and all I have to do is to write SQL statements to put the data into the database. That is also a tedious but not particularly hard task. All this will keep me out of trouble, I guess.


Silly sign of the day:


Free/Open Source Software

RIAA/MPAA/IFPI/BSA/SIIA/FCC

Stupid Patent Tricks, Copyright and Other IP Nonsense

Local and Other News

Wednesday, 25 March 2009

I tried my best last night to fix the single field in my database that is giving me trouble. I changed the field name, I changed the field size, I even changed the field from a VARCHAR to a CHAR field. It still stores a two-character state code as a number. I ran out of ideas, so I quit working on it.

I worked on getting digital TV to work on my workstation, instead. I have had a digital TV tuner card in the workstation for several years now, but I have never had the software to use the digital portion. I have been using TVTime with the card to watch analog broadcasts. I bought an external digital tuner box to tune to the digital signals and convert them to a video signal I could watch on TVTime. That works, but the digital tuner box has a really poor tuner in it. I only get a few digital stations.

I found a new application for Linux called me-tv that is a digital TV application. The only problem with it is that it is very new and very rough. It's on version 0.5, so it has a lot of bugs. And when you scan for stations, the list it presents you is silly in the extreme, unless you are a hardcore videophile. They give you a list of the kinds of stations you want to scan for, but the list items say things like 'U.S. broadcast ATSC for center frequencies' and 'U.S. broadcast NTSC for center frequencies' instead of saying 'U.S. digital broadcast' and 'U.S. analog broadcast'. I had to look up ATSC and NTSC to be exactly sure I knew what the hell they were talking about.

Me-tv then chokes on its own generated station list. It thinks there's some kind of syntax problem with the list. I copied the list over to the Xine directory and proceeded to watch those stations with no problems with the Xine multimedia player, so there is nothing wrong with the list. Oh well, they'll get the program straightened out eventually.


Silly sign of the day:


Free/Open Source Software

Tuesday, 24 March 2009

I worked on my home program all last night. I reduced the code for getting information about a person from 5 separate table accesses to one complex SQL statement which joins all five tables. It works great. The only problem left with this is why I can't seem to store the person's state as a two character field in the database. When I try to store 'ID', it shows up in the database as a number. I will track that down tonight.

I created a file containing all the SQL statements necessary to create the database tables from scratch, as well as the default superuser (admin) and default sport (soccer). I erased the database and fed the statements in one at a time to verify that they work. Now all I have to do is add code to the program to look for the database, and if it doesn't exist, create it from the file. The file still needs the INSERT statements for the detailed sport description and all the sport exercises also need to be described.


I will be building a new computer for a friend whose graphic machine is over the hill. The new machine will be quad core with maxxed out memory and a fancy video card. It will use the old machine's mix of SCSI hard drives and IDE drives. The machine it is replacing is a dual CPU Pentium III machine, with the CPUs running at 1GHz. Quite the machine when it was new, but long in the tooth now.


Silly sign of the day:


Free/Open Source Software

RIAA/MPAA/IFPI/BSA/SIIA/FCC

Stupid Patent Tricks, Copyright and Other IP Nonsense

Local and Other News

Monday, 23 March 2009

Thursday night when I got home from the North Idaho Mineral Club meeting, I turned on my television and discovered that I could view nothing. I went outside and found that some large animal had bulled its way through next to the house and had pulled both ends of the antenna cable out of its connectors. Since I was going to replace that RG59 cable with RG6 cable after the snow melted, it was no big deal. I had already purchased cable and connectors for the job.

I discovered on Friday evening that the big animal that had done the damage were some of my neighbors cows. He had turned them out in my pasture without checking the fence first, and the fence had a tough time with all the heavy snow we had this winter. The young (horned) cows had gotten out and were grazing around the edge of my house, as there is no snow there.

So on Saturday, I replaced the old cable with new. I routed the new cable to the computer room, where I will distribute it to the rest of the house. I now have at least 12 digital channels on my computer, but it will be a few days before I get the HDTV in the living room hooked up again.


I had ordered a replacement power supply for the one I installed in my old workstation, as the new workstation seemed to have a power problem, also. FedEx delivered the power supply from Computer Geeks on Friday, and on Saturday I installed it in my new workstation. That seems to have taken care of the problem with my workstation shutting itself off at irregular times. So now I have two Antec power supplies I have to trash.


I am still working on the People Setup dialog for the home program I am building. I am creating all the database access methods necessary to load and save information about people. There are three main tables I need to access: the people table, the addresses table and the phones table. The latter two are accessed by looking up ID information in reference tables: the addresses_people table and the people_phones table. The program will need to read records from the tables and write records to the tables (including the reference tables). So, as you can see, there will be a lot of database activity going on. I have all the database read methods finished. I need to create some sample records using my maintenance program, so I can verify the read code is working okay.


Silly sign of the day:


Free/Open Source Software

RIAA/MPAA/IFPI/BSA/SIIA/FCC

Stupid Patent Tricks, Copyright and Other IP Nonsense

Local and Other News

Friday, 20 March 2009

I attended the North Idaho Mineral Club meeting last night. We talked about the upcoming Gem and Mineral Show at the fairgrounds in Coeur d'Alene. Don't panic, the show is in June. Anyway, we have a schedule and I have been nominated to take pictures of all the dealers and their setups, as well as selling raffle tickets. Won't that be fun!


I added record structures to the program I am writing at home. I found that I had added a table to hold scouting reports and had not added that to the menu system, so I did that, too.

I will have to use database transactions to do a lot of the database updating. Transactions allow you to do many actions and if any of the actions fail, you can roll back the database so that none of the actions were applied. This comes in very handy when you enter information about a person and have to update the people table, addresses table and the people/addresses reference table. If one of those updates fails, then they should all be backed out.

I also have to design some printable reports for the program. There is a set of components that allow you to do that, but I have no experience with them, and they are not the easiest components to use. I guess I will cross that bridge when I get to it.


Silly sign of the day:


Free/Open Source Software

RIAA/MPAA/IFPI/BSA/SIIA/FCC

Stupid Patent Tricks, Copyright and Other IP Nonsense

Local and Other News

Thursday, 19 March 2009

Creating a program interface gives me a much bigger kick than doing all the support programming for the interface, but sometimes you have to just do the support code. That's what I did last night on my home programming project. I moved the database access in the main program to the database module. I had a plan when I started that, but it became obvious as I went along that I wasn't really thinking when I laid down that plan. So it got modified along the way. That happens all the time when you see things you had not considered or when problems come up. So I am not unhappy with how things went.

I need to design some data structures I can use to move data around for the program. I need a structure for a person, one for their address, etc. This keeps the function argument list much smaller and makes the various items easier to use. Organization is always the key. too bad I haven't applied that to my housework.


Have you ever noticed how people always pick the absolute worst day to stage their social functions? There are two Dutch oven events coming up. One is at the end of April - the same weekend as LinuxFest Northwest over in Bellingham, WA. the other is on Memorial Day weekend, the same weekend as the 11th Northwest Teardrop Spring Fling. I will do the Dutch oven thing for the first event and the teardrop trailer for the second. It's just really annoying to have to chose.


Silly sign of the day:


Free/Open Source Software

RIAA/MPAA/IFPI/BSA/SIIA/FCC

Stupid Patent Tricks, Copyright and Other IP Nonsense

Local and Other News

Wednesday, 18 March 2009

I finished the design of the dialog for entering people into my home programming project. I now have a better handle on this process. Instead of having separate dialogs for the different kinds of people who will use the program, this one dialog will allow entry of all people. The other dialogs will allow the selection of a person who has already been entered in this dialog, and will add their sports choices to the database. I am effectively separating the people from the sports they play, which makes sense to me, as some of them are just observers and don't play any sports, while others play multiple sports.

I am sure there will be changes to the dialog, but here is what it looks like right now:

Now I need to hook the database up to this dialog. That is not as straightforward as the login dialog. That dialog only looks at a single database table. The people dialog updates at least two tables and the reference table that allows a many to many relationship between the two tables. That means I need to create a database transaction to do all the work. I will probably create a method to do that in the database module, which currently contains nothing but the components necessary to access the database. Come to think of that, I should also move the other database stuff I have done in the main program to the database module, so it is all in one place and I don't have to search for it all over the place.


Silly sign of the day:


Free/Open Source Software

RIAA/MPAA/IFPI/BSA/SIIA/FCC

Stupid Patent Tricks, Copyright and Other IP Nonsense

Local and Other News

Tuesday, 17 March 2009

I am working on the user setup dialog for my home program. This is a major departure from the original program, which had separate screens for entering coach and player information. This screen will allow entry of any user, including those who are not strictly involved and are just observers (think 'parents').

I am trying to decide how this dialog does its work. Do I do an auto-lookup to verify that someone has not been entered earlier? Is address information mandatory? Do I allow more than one address to be entered on this screen? Lots of questions and not many answers at this point.

As you may know, I am doing this development in a virtual machine environment (Windows 2000 Professional and Delphi). It is working out pretty well, except for the fact the VM is fairly new and doesn't contain all the tools I usually have in a development environment. I'm getting there with those tools, though. Every time I miss a tool, I end up downloading and installing it, so eventually I will have everything I need.

I need to institute a backup schedule for this VM, since I would have to start completely over if the VM were damaged or lost. I will back it up to separate network attached storage, either the NSLU2 or MyBook.


Silly sign of the day:


Free/Open Source Software

RIAA/MPAA/IFPI/BSA/SIIA/FCC

Stupid Patent Tricks, Copyright and Other IP Nonsense

Local and Other News

Monday, 16 March 2009

I have finished hooking up the security portion of the application i am working on at home. I am using the login information to get information about the user, including their security level. Based on that security level, I enable or disable menu items. Next up is a lot of other dialogs that also use the database.


I have finally gotten my old workstation working again. Back around Thanksgiving, I swapped hard drives with the machine I am now using as my primary workstation, and I ordered a new motherboard for the old workstation. I installed that Foxconn motherboard in the old machine and could not get the machine to power on at all.

I waited all these months to look at it because the new workstation was working okay and I really had no need for the old one. This weekend I decided to take a look and see what the problem was. First thing I did was reseat all the connectors and verify that the front panel connectors were connected correctly. I still had no working computer, so I decided to change power supplies.

I changed out the power supply and got the machine working as it was lying on its side. So I decided it was okay and buttoned it up. I connected it to a monitor, keyboard and mouse and tried to turn it on with no luck. That ended my Saturday morning, so I went to the NILUG meeting. While I was at the meeting, I complained about the computer and got several useful suggestions. I acted on one of them Sunday morning.

I removed the motherboard from the case and hooked it up to the old power supply. No change, so I removed the new power supply from the case and hooked it up. The motherboard worked fine. So I carefully reinstalled the power supply and motherboard back into the case, ensuring that there were no shorts. It now works fine. Apparently I shorted the motherboard at one of the rear connectors the first time I installed it.

I updated the Ubuntu 8.10 distro on that machine after I hooked up the monitor, keyboard and mouse. Since it hasn't been updated since November, there were 313 updates waiting. It took a while.

So I want to say 'Thanks for the tip, Frank. I will be looking at that new web host you suggested next.'


Silly sign of the day:


Free/Open Source Software

RIAA/MPAA/IFPI/BSA/SIIA/FCC

Stupid Patent Tricks, Copyright and Other IP Nonsense

Local and Other News

Friday, 13 March 2009

I have hooked up the login window on my home program completely, including database access. Next up is to add menu items to support multiple sports. That information also comes from the database.

At work, I finished fixing one bug, found and fixed another bug. I then proceeded to move a couple of the program's modules from using the TFrame class (not skinnable) to TForm so they can also be skinned. In that process I introduced two new bugs. One is a nasty "can't read, because what I need to read is missing" kind of bug, and the other is just plain weird. The weird bug is that even though the components are visible, if you hook a TForm into another TForm by setting the first's parent property, the components are not displayed. Very strange. Anyway I have to track those down today, as I have to demo the program to the rest of development this afternoon. No pressure here.


The North Idaho Linux Users Group has its regular March meeting tomorrow. The meeting is for all people interested in Linux as a replacement for that poor excuse for an operating system they are using now. We will give CDs away and can help install Linux on any computer, either as the only O/S, or as a dual boot.


Silly sign of the day:


Free/Open Source Software

RIAA/MPAA/IFPI/BSA/SIIA/FCC

Stupid Patent Tricks, Copyright and Other IP Nonsense

Local and Other News

Thursday, 12 March 2009

I have finished converting the program at work from a reasonable menu-driven application to a bling-based ribbon-driven application. In the course of the conversion, I found a bad bug in one of the components we purchased for the job. I need to track down and fix that problem today.

In the meantime, I have committed all the changes to our version control, so two of our officers can check out the changes and make comments. This should be interesting.


I'm glad that I am in an early phase of working on my home program. It was easy to drop the database table, add a user name field to it and recreate the table. I also added a real 'admin' record to it, so I could use that to further test the program as I go along. I will be documenting all this as I go along, so we will have that available to write any manuals that are necessary.


Silly sign of the day:


Free/Open Source Software

RIAA/MPAA/IFPI/BSA/SIIA/FCC

Stupid Patent Tricks, Copyright and Other IP Nonsense

Local and Other News

Wednesday, 11 March 2009

I added the Login dialog to my home project last night. Imagine my surprise when I went to hook up the database table to the dialog, and found that there was no field for a user name. I guess I will re-evaluate the database before I continue.


I spent the day at work yesterday hooking up Developer Express ribbon buttons to Crystal Reports report viewer. I have to say that the CR API just purely sucks. There is no way for you to hook an external button to the equivalent button in the CR viewer, so you have to do it in a roundabout way. For instance, to hook up a Last Page button, I had to call the ShowLastPage function.

Some of the functions are that easy, but others are not. For instance, when I change pages, I wanted to get the page number, so I then call GetCurrentPageNumber. It throws an exception. Says it's busy. So how do you get that if the function doesn't work? I have an idea on that involving a timer. I'll work on that today.

Another function called SearchForText is supposed to do just that. If it doesn't find the requested text, it apparently just throws an exception.

I have several more buttons to hook up. I just hope I can muddle through this, so I can demo it to the development group on Friday.


Silly sign of the day:


Free/Open Source Software

RIAA/MPAA/IFPI/BSA/SIIA/FCC

Stupid Patent Tricks, Copyright and Other IP Nonsense

Local and Other News

Tuesday, 10 March 2009

I am still working on dressing up a program at work. I have the new controls for the ribbon installed and it's now a matter of hooking up the events and removing the old components. Sounds easy, but there is sometimes not a one-to-one correlation between the new controls events and the old controls. So I have to get inventive in many cases. I am making a list of the things that need to be done as they bubble up in my head.

I had no chance to work on my home program, as I was busy looking at Boxee. That is a very poor (so far) multimedia program (alpha version) for Linux and Mac. It has awful buffering capabilities and the visuals are all very jerky. I am not impressed


It snowed here yesterday and last night - a lot. I suspect I will need to drive my 4x4 truck to work today. And use it to plow myself out, too. That should be fun. This is March - stop with the cold weather, will you?


Silly sign of the day:


Free/Open Source Software

RIAA/MPAA/IFPI/BSA/SIIA/FCC

Stupid Patent Tricks, Copyright and Other IP Nonsense

Local and Other News

Monday, 9 March 2009

I have started working on my extra-curricular project again. I have created a small application that can create database tables, indexes and add data to the tables, and that can display the results. I have created the database using the SQL statements that I wrote a long time ago, and have added one record to the sports table to describe soccer to the database. I am working on the main program now.


I have to rewire my house for digital TV using the nice omni-directional antenna I have now. My house was wired 25 years ago using RG-59 cable, and I have never had a problem with that until I got this new antenna. I have been informed that the antenna requires RG-6 cable, so I got some of that at Lowes over the weekend. I will do the rewiring if the weather ever gets better.


As I was on my way to Coeur d'Alene on Saturday, I passed by the Hayden golf course. There were 11 deer on the road and on the golf course, and they just would not move fast. I finally got by them, though.

When I was in Lowes getting the cable, I happened to pass by the bird feeder display. Imagine my surprise when I encountered a real bird hopping around on the shelves. The clerk told me there are many birds in the building. They winter in there, and they know how to get in and out easily.

On my way back home, I went up Rimrock Road as usual, and encountered a group of 16 turkeys in the road. They were even slower in getting out of the way. I guess spring must be just around the corner.


Silly sign of the day:


Free/Open Source Software

RIAA/MPAA/IFPI/BSA/SIIA/FCC

Stupid Patent Tricks, Copyright and Other IP Nonsense

Local and Other News

Friday, 6 March 2009

I got the latest issue (April) of Linux format magazine last night. It has an interesting how-to article about fixing Linux problems. It also has a two page tutorial on how to use the Gramps genealogy program. I'm not surprised, as there are always good articles in the magazine. Too bad it costs $136 a year.


At work, I am learning how to create a ribbon to replace a menu. My personal opinion is that it's just eye candy, but I do what I'm told. There is a very steep learning curve associated with Developer Express' ribbon components, but I think I have a good handle on it. I hope to transfer what I've learned on a sample program over to the real thing today.


Silly sign of the day:


Free/Open Source Software

RIAA/MPAA/IFPI/BSA/SIIA/FCC

Stupid Patent Tricks, Copyright and Other IP Nonsense

Local and Other News

Thursday, 5 March 2009

Well, Microsoft strikes again. I installed the Eclipse development environment on my development virtual machine last night, and found that I did not have the Java run-time engine (JRE) installed. So I went to the Sun web site and downloaded the JRE. When I attempted to install it, the JRE installer complained. It said something like "the installer can't install with this version of the Microsoft installer installed." Whew! (I added that dialog to my silly signs.) So I downloaded version 2 of the M$ installer and tried to install it. It complained that it would not install on this version of Windows (Windows 2000 Professional). So I am stuck at this point. Maybe I should find some kind of outdoor job, like digging ditches. That way I won't have to put up with Microsoft stupidity.


I have finished re-skinning forms on the project at work, except for the main window. That one will be the most difficult, as I have to add a ribbon bar to it and I know nothing about the Developer Express ribbon bar component. I think I will practice on a sample application before I tackle the actual program.


Silly sign of the day:


Free/Open Source Software

RIAA/MPAA/IFPI/BSA/SIIA/FCC

Stupid Patent Tricks, Copyright and Other IP Nonsense

Local and Other News

Wednesday, 4 March 2009

I have a meeting with my financial advisor today. I'm sure he will advise moving some of my investments out of stocks, and I'm with him there. My IRA has taken a 35% hit since the depression recession started. That's better than the stock market has done in general, though - it's down 52% at this point.

I have a lot of money in my checking and savings account, and I've noticed that when I go in the bank now, they no longer ask me about moving the money into something that would give me better returns. I wonder why that is?


I finally dug out my Dodge last night. It has been sitting in front of the garage since December with three feet of packed snow and ice on it. When I got through all that frozen water, I found that the weight of the snow had badly cracked the passenger-side mirror case. I will need to get a replacement for that, but otherwise the car is fine. I was going to drive it to work this morning, but it's snowing again and the car has no snow tires on it. So I guess it will get snowed in again, only in a different place. Sheesh.


Silly sign of the day:


Free/Open Source Software

RIAA/MPAA/IFPI/BSA/SIIA/FCC

Stupid Patent Tricks, Copyright and Other IP Nonsense

Local and Other News

Tuesday, 3 March 2009

I am re-skinning a program at work, to dress it up and make it look like another program included with our product. The problem I am having is the components that were chosen to re-skin the program were poorly implemented. I would expect I could simply replace a combo-box with a re-skinned combo-box. It isn't happening. The re-skinned version does not implement event handlers that we were using in the older version. I haven't decided what to do, but it's a difficult problem to solve.

This is an example of the "my way or the highway" class of programming. The component programmer has decided that his way is far superior to what has gone before, so he will do it his way. The hell with anyone trying to use the components to update an existing program. This is programming arrogance at its finest.


We are fast approaching the 1,000 mark for silly signs. We have number 900 today. I have tried to avoid duplication, but with 900 images, it's a hard thing to do. When we reach the 1,000 mark, I have to decide whether to go on with new signs, or recycle them. Let me know what you think.


Silly sign of the day:

Silly Sign 900


Free/Open Source Software

RIAA/MPAA/IFPI/BSA/SIIA/FCC

Stupid Patent Tricks, Copyright and Other IP Nonsense

Local and Other News

Monday, 2 March 2009

I have my Windows development VM set up with Delphi 5. I tried to install Delphi 6, but had nothing but trouble with it. So I fell back to Delphi 5. I have installed skinning components and built-in database components to it. Now I need to install Eclipse so I can do some Java development on the VM. I will also install the Gimp on the machine so I can tweak any graphics that need that.


The North Idaho Linux Users Group first technical meeting was held on Saturday at F1 For Help in Rathdrum. As advertised, it was a technical-only meeting. We were successful in setting one member up with a floppy boot disk so he could get Linux onto a machine with no CDROM boot capabilities. We were unsuccessful in setting up an older HP notebook computer with the proper screen configuration. The owner later figured out how to do it himself. I was unsuccessful in upgrading my old Dell from 256MB to 512MB. I guess I'll just have to live with it.


Silly sign of the day:


Free/Open Source Software

RIAA/MPAA/IFPI/BSA/SIIA/FCC

Stupid Patent Tricks, Copyright and Other IP Nonsense

Local and Other News