By Mike Lewis
For several years, I've been happily using iTunes to organize my music collection and transfer tracks to my iPod. Then, quite suddenly, it stopped working. More specifically, I found I could no longer add new tracks to my music library. There was no error message, no unusual behavior. The newly-added tracks were simply nowhere in sight.
I eventually found a solution, but only after much searching and experimenting. I'll summarize the steps here, for the benefit of any Hex Central readers who face the same issue.
May 30, 2013
May 24, 2013
FileSystemObject performance issues
By Mike Lewis
In a recent Hex Central article, I explained how you can use the FileSystemObject to read and write large text files in Visual FoxPro. One of the main reasons for doing that is to work with files that would otherwise break VFP's 2 GB limit.
Unfortunately, that benefit comes at a price. In many cases, the FileSystemObject will be a lot slower than using native VFP commands and functions.
In a recent Hex Central article, I explained how you can use the FileSystemObject to read and write large text files in Visual FoxPro. One of the main reasons for doing that is to work with files that would otherwise break VFP's 2 GB limit.
Unfortunately, that benefit comes at a price. In many cases, the FileSystemObject will be a lot slower than using native VFP commands and functions.
May 8, 2013
Welcome improvements to AdSense reports
By Donald Ritchie
Google have just made some small - but very welcome - improvements to their AdSense reports. They've made it easier for you to spot medium- and long-term trends in your AdSense data. They've introduced a number of useful new graph types. And they now let you see at a glance the effect of any changes you make to your AdSense setup, such as introducing a new ad unit, or blocking a sensitive category.
Google have just made some small - but very welcome - improvements to their AdSense reports. They've made it easier for you to spot medium- and long-term trends in your AdSense data. They've introduced a number of useful new graph types. And they now let you see at a glance the effect of any changes you make to your AdSense setup, such as introducing a new ad unit, or blocking a sensitive category.
April 10, 2013
How to give focus to a FoxPro top-level form at start-up
By Mike Lewis
This is a question I often see in Visual FoxPro forums. An application needs to show a top-level form (typically a log-in screen) at start-up. But when you launch the form, it
appears behind other windows on the desktop. Even if it is at the front, it's not necessarily the active form. So how do you give the form focus programmatically?
This is a question I often see in Visual FoxPro forums. An application needs to show a top-level form (typically a log-in screen) at start-up. But when you launch the form, it
appears behind other windows on the desktop. Even if it is at the front, it's not necessarily the active form. So how do you give the form focus programmatically?
April 8, 2013
Strong passwords? Yes, but let's not get carried away
By Lynn Evans
I'm getting a bit tired of over-the-top advice about strong passwords. Of course, we all need to keep our passwords secure. But a lot of what tech journals and websites write about the subject is exaggerated and alarmist - and often counter-productive.
I'm getting a bit tired of over-the-top advice about strong passwords. Of course, we all need to keep our passwords secure. But a lot of what tech journals and websites write about the subject is exaggerated and alarmist - and often counter-productive.
April 3, 2013
Banish interest-based ads from your AdSense pages
By Mike Lewis
In an earlier post, I explained how you can opt out of seeing so-called "interest-based ads" on Google's search results pages and on third-party websites. This time, I'll describe how AdSense publishers can prevent these ads appearing on their own sites.
To recap, an interest-based ad is one that's based on the personal information that the advertising network (usually Google) has collected on you. Some people dislike being tracked and targeted for advertising purposes. There might also be times when these ads could cause distress or embarrassment (seeing an ad about a medical condition that you'd rather keep to yourself, for example). That's why you have the opportunity to opt out.
In an earlier post, I explained how you can opt out of seeing so-called "interest-based ads" on Google's search results pages and on third-party websites. This time, I'll describe how AdSense publishers can prevent these ads appearing on their own sites.
To recap, an interest-based ad is one that's based on the personal information that the advertising network (usually Google) has collected on you. Some people dislike being tracked and targeted for advertising purposes. There might also be times when these ads could cause distress or embarrassment (seeing an ad about a medical condition that you'd rather keep to yourself, for example). That's why you have the opportunity to opt out.
March 29, 2013
Opt out of Google's interest-based ads
By Mike Lewis
Imagine this scenario. It's your lunch break, and you start thinking about your next vacation. Out of idle curiosity, you use Google to search for accommodation on your dream Caribbean island. You visit a few of the sites that the search throws up. Then you get back to work.
For the next few weeks, whenever you do a work-related search or visit a work-related site, you see advertisements for tropical resorts, exotic hotels, and up-market tour operators.
What you are seeing are so-called "interest-based ads". They are ads served by Google, based on what Google knows about you. And you might be surprised at just how much Google does know about you. As well as your geographic location, Google knows about the things you're interested in (based on your search history and the types of sites you visit), where you hang out in social media, what mobile devices you use and where you use them, and quite a lot more. It also makes a good guess at your age, sex, marital status, and even your family income. It uses all that information to decide what ads to show.
You might not care about this. It might not matter to you that Google uses your personal information to send you targeted ads in this way. if so, that's fine.
Imagine this scenario. It's your lunch break, and you start thinking about your next vacation. Out of idle curiosity, you use Google to search for accommodation on your dream Caribbean island. You visit a few of the sites that the search throws up. Then you get back to work.
For the next few weeks, whenever you do a work-related search or visit a work-related site, you see advertisements for tropical resorts, exotic hotels, and up-market tour operators.
What you are seeing are so-called "interest-based ads". They are ads served by Google, based on what Google knows about you. And you might be surprised at just how much Google does know about you. As well as your geographic location, Google knows about the things you're interested in (based on your search history and the types of sites you visit), where you hang out in social media, what mobile devices you use and where you use them, and quite a lot more. It also makes a good guess at your age, sex, marital status, and even your family income. It uses all that information to decide what ads to show.
You might not care about this. It might not matter to you that Google uses your personal information to send you targeted ads in this way. if so, that's fine.
March 12, 2013
Southwest Fox 2013 : Dates confirmed; call for speakers issued
Photo: Therese Schummer |
Geeks Gatherings have now confirmed that Southwest Fox 2013 will be held on October 17 - 20, at the SanTan Elegante Conference Center in Gilbert, Arizona. For the second year running, the conference will be combined with Southwest Xbase++, a conference which focuses on Alaska Software’s Xbase++.
If you're a serious Visual FoxPro developer, you should consider attending Southwest Fox. I've done that myself, and I can tell you that it really is a terrific event. It's now the leading VFP conference in the United States, and it attracts developers from all over the world.
February 1, 2013
Problems with the Kindle for PC app in Windows 8
By Mike Lewis
After Microsoft released Windows 8 late last year, Amazon was quick to bring out a special version of their Kindle for PC app. This new release is specifically designed to work with the Windows 8 touch-based interface, and for the most part it does its job well. But I've found several annoying weaknesses with it - as have many other users.
The first thing that I noticed is that there is no internal search feature: you can't search for a word or phrase within a book. It's true that there is a search button in the Charms bar - as is the case with most dedicated Windows 8 apps. But this only searches the titles of books in your library or the Kindle store. If you want to search inside a book, you’re out of luck.
After Microsoft released Windows 8 late last year, Amazon was quick to bring out a special version of their Kindle for PC app. This new release is specifically designed to work with the Windows 8 touch-based interface, and for the most part it does its job well. But I've found several annoying weaknesses with it - as have many other users.
The first thing that I noticed is that there is no internal search feature: you can't search for a word or phrase within a book. It's true that there is a search button in the Charms bar - as is the case with most dedicated Windows 8 apps. But this only searches the titles of books in your library or the Kindle store. If you want to search inside a book, you’re out of luck.
January 2, 2013
SCOPE_IDENTITY() and remote views in VFP
By Mike Lewis
In a recent Hex Central article, Lynn Evans recommended using the SCOPE_IDENTITY() function to find the primary key of the most recently inserted row in a SQL Server table. That function is a better choice than @@IDENTITY or IDENT_CURRENT(), because it is specific to the session and the scope.
As a Visual FoxPro developer, I often use SCOPE_IDENTITY() when inserting records via SQL Pass-Through (SPT). But I recently found that it doesn't work with remote views. Specifically, if you use a view to insert a row, then use SQLEXEC() to send a call to SCOPE_IDENTITY(), you always get back a NULL - even if the SPT call uses the same connection handle as the view. That's because the two operations occur in different scopes.
In a recent Hex Central article, Lynn Evans recommended using the SCOPE_IDENTITY() function to find the primary key of the most recently inserted row in a SQL Server table. That function is a better choice than @@IDENTITY or IDENT_CURRENT(), because it is specific to the session and the scope.
As a Visual FoxPro developer, I often use SCOPE_IDENTITY() when inserting records via SQL Pass-Through (SPT). But I recently found that it doesn't work with remote views. Specifically, if you use a view to insert a row, then use SQLEXEC() to send a call to SCOPE_IDENTITY(), you always get back a NULL - even if the SPT call uses the same connection handle as the view. That's because the two operations occur in different scopes.
Subscribe to:
Posts (Atom)