Wednesday, July 10, 2013

SWBUG: Cannot reply in blogger.com with Chrome

For some reason, I have only found this problem in Chrome. I switch to Firefox to respond to comments.

Steps:
1. Click reply
2. Type in message
3. Click Publish
4. Page appears to post, responds, and returns back to the comments without my response as if I didn't post or prior to step #1.

I haven't tried in IE. This has occurred on several occasions, different machines, and at different periods of times (spanning several days, maybe weeks).

Monday, July 1, 2013

Excel: IFERROR(logical_statement, value_if_error)

=IFERROR(1/0, "N/A")

What I like about this function is that I do not need to repeat the formula for logical_statement again. This has not been a problem before because I was always ok with see #DIV/0! errors in my metrics. This usually meant that there was no data involved for that set.

Unfortunately, management liked the metrics that I produced and expanded on it. Eventually it got around and certain people didn't like seeing #DIV/0! error. I like to be efficient with my formulas, and I hated the idea of having to do an IF which required me to calculate the denominator if 0 then recalculate the denominator again to display the value.

This was quite a nuisance with large equations that depended on multiple cells and other formulas. I also wanted to avoid creating yet another column just for display purposes. Then I stumbled upon this excel function that simplified my life.

Basically, this function will display whatever value that I had originally intended but yet still allow me to default a different value if there is an error thus avoiding having to calculate twice.

Monday, June 10, 2013

SQL: Get list of tables SQL DBs

MySQL
SHOW [FULL] TABLES [FROM db_name] [LIKE 'pattern']

Oracle
SELECT * FROM dba_tables

Postgres
SELECT * FROM pg_tables

MSSQL
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'

DB2SELECT * FROM SYSCAT.TABLES


Reference:
http://forums.whirlpool.net.au/archive/523219

SharePoint: Attempting to Connect to SharePoint Via Remote SQL Studio Management

I am trying to get data from a remote SharePoint. By remote, I mean that I do have the security to write an application on the SharePoint server. I have been researching a billion ways to connect and I am having trouble finding one that works.

Anyways, I found this to be the closest so far but requires SQL security that I cannot bypass. This may be useful in the future if I work on a project that gives me that access:
SELECT * FROM OPENROWSET
('Microsoft.ACE.OLEDB.12.0', 'WSS;IMEX=1; DATABASE=http://sharepointserver/optionalsite/;LIST=On Call;VIEW=;RetrieveIds=Yes;', 'SELECT * FROM LIST')

Wednesday, June 5, 2013

C#: Dragging objects to notepad

Notepad does not allow drops so there is no way for this to work.

Sunday, May 26, 2013

Change Request: Google Blogger - Ability to categorize blogs

Although I could create a new blog or create labels, I still like an easier way to allow different audiences to view different posts.

I think on the technical level, it would be nice to be able to group labels. That way I can group audience who are interested in Life Philosophies to certain labels like life and philosophy, Foodies to labels like food and restaurants, and Work Life to labels like work and interviews. But this would still allow general audiences to view all posts without having to create another blog site.

Wednesday, April 24, 2013

SWBUG: MS SQL Server Management Studio 2008 - Renaming table

1. Create table A
2. Rename table A to table B
3. Create new table, and name it table A

This causes an error that table already exists. Even if you refresh the table list, you will see that table A does not exist and table B exists. I cannot create a new table named Table A. Closing and reopening the Management Studio corrects this problem.

Thursday, March 21, 2013

SWBUG: Google Sites - Moving pages

When moving multiple pages, the new location had multiple copies of the same page. I have only seen this once and have not retested or reattempted to replicate, but definitely saw multiple of the same page. After refreshing, the page contains the correct sub-pages.

Steps taken, moving a page (B) as a sub-page to a newly created page (A). B is now marked with indicator that it is moving. While in the moving state, I move another page (C) to the same newly create page (A). C is now marked with indicator that it is moving. While B and C are in the moving state, I drag another page (D) to A. As I drop D, I noticed that the page was about to refresh which I assume was B completed the move. After dropping and D completes its move, the sub-page now shows C, B, B, and D (in that order). I refreshed the page, then the expected result is displayed: B, C, and D as sub-pages to A.

Tuesday, March 12, 2013

SWBUG: CTRL Key stuck on Windows 7

Resolution - Restart Windows

Description - In the middle of a presentation, I suddenly cannot select cells in an excel file or type any keys. The behavior of the clicks and key shortcuts mimics that if the CTRL key was held down.

Troubleshooting - I tried hitting the CTRL key once, twice, and several times (and occasionally hitting it harder even though that has never solved any technical problems except to vent some "extra" energy). I did the same thing with the ALT, Windows, Shift keys, and several combinations of those buttons without success.

I also tried the ESC, bashing my keyboard, and clicking all the buttons to my mouse. Last before rebooting my system, I tried closing all my applications. None of the attempts changed any behaviors; the behavior was that the CTRL was always down whether the any of the buttons above were pressed, held down, or not used.

Frequency of issue - This is the first time that I have ran into this on this system and Windows 7. I have ran into something similar to this before on other systems (none Windows 7) which pressing the CTRL key typically solved the problem.

Analysis - Earlier I did have an issue with screen capture. After closing one of my spreadsheets, a message came up that there were not enough resources to display all data. I also just installed the SharePoint Designer yesterday. I do leave my system running for several days (probably over two weeks since the last reboot).

Post-Analysis - I read online that there are Windows features and applications as potential causes, but I disable those features and do not have any applications that modify the keyboard functionality.

Wednesday, January 16, 2013

eMercs - Electronic Mercenaries

People for hire that are paid to perform activites in the world wide web.

I see them most in regular comments who create comments with links to other websites. Today, these posters-for-hire use bots to electronically post these sites. Current counter-measures include simple tests like input words from images, spam filters, and community opinion. Each have their pros and cons, and none eliminates these types of comments.

With the growing industry in product reviews and other public opinions, there are now posters that post reviews that are not their opinions. Jobs for these posters include posting positive reviews to the clients' products, posting negative reviews to the clients' competitors. These are harder to track and easily misleads the general public who still believe most if not all information on the internet is true. Currently, the only countermeasure is to review the reviewers. There are patterns to these posters like uses the same wordings to describe products, uses very general descriptions that can be used for a wide range of products, higher volume of posts, etc. But like a friend's opinion that has been bought, certain opinions are nearly impossible to spot.

Besides reviews, many other social networking sites can be used to redirect traffic. Use of twitter, link farms, private/public sites, facebook, even less known social networks provide many sources where information may appear legitimate.

Anonymity plays a large obstacle in preventing these nuances. There are many ways to make it harder for these mercenaries.

One method is to create a network of trusted contacts, where you can rank their "expertise" (ie trustworthiness) in certain matters and their contacts. This would require a central server so that other sites, vendors, etc. can access to provide you the most relevant information. The premise is that your trusted friends are not going to include these unknown "mercenaries" at least not that role. In other words, although one of the friends might be a fraudulent poster, (s)he will most likely not post fraudulent information under known pretenses since those will typically be under different accounts. Thus using several degrees of separation, a value can be computed to the value of certain information.

For example, I will trust an engineering friend with technical opinions, a doctor with medical opinions, etc. I may rank a close friend with their medical opinion too. If I find a friend who is easily misled by unsubstantiated claims, then their opinion will be downgraded to a lower level. I also trust a friend of a second degree of separation but not as much as close friends, but if that is the only opinion and my friend trusts them then I am more likely to trust them too. Thus the lower the value, the less the information can be trusted. The value can also increase if many of my friends also trust the same person. Also if more friends says the same thing, the more trustworthy the information.

This can also be expanded to people's profiles. If they have worked in the industry, have personal interests or hobbies in related field, had the specific injury or close family/friend who had a similar illness, etc., these can also be used to automate some factors to trust.

Trust of Information = (some constantA) * (how much I trust personA) * (personA trust in information) + (some constantB) [ (how much I trust personA's friends) * (how much personA trusts their friends) ] + [[repeat for all friends]] + ... + (some constantZ) * (unknown source)

Of course, no information can be fully trusted. This only provides a scale to filter information by. Because many activities can be automated today, unknown sources can in theory override the other values. Thus, constantZ should be constantly be scaled appropriately... and similarly with all other constants.

Monday, January 14, 2013

Software "Agile" Process vs "Agile Process"

Software "Agile" Process vs "Agile Process"

With all the hype with agile processes, there are many pseudo-confusion in some parts of the IT world. I say pseudo-confusion because some companies think they have an agile process but really just has an "agile" process. By process, I mean software development. By "agile" process, I mean minimum to no documentation, cutting corners, and highly-adjustable schedules.

"Agile process" is a discipline. There is a process, just like a disciplined process, but with a different structure to accommodate a much high frequency of releases. There are steps that are to be followed, see agile software development methods like Scrum, Extreme Programming, and Crystal Clear. Each stressing more importance on an evolutionary development approach.

But as I experience in my work place and speaking with other professionals, a common trend is that development managers are hiding the lack of processes and documentation by explaining that their processes are now more agile. Executives hearing the buzz-word will interpret this as a good thing and now follow through.

Whether this is intentional or not, this puts a lot of weight on keeping key players because processes are no longer transparent thus not easily transferable. This "agile" process is very developer-friendly in that documentation is often bypassed, processes are not always followed, and very difficult for others to make development teams accountable for poor quality products. Similar to how software was originally developed many years ago. Without documentation or audit trails, there is no method to track accountability to issues that arise in the future.

The projects manage to keep afloat but seem to lag farther and farther behind competitors that use a formal process.  But with the growing software industry, scalability and growth is now more important than ever. Lagging due to inefficient processes will be costlier down the road if not making the project completely obsolete.

This confusion will primarily hurt the business stakeholders. Developers now have experience in the industry and thus can transfer to competitors. Development managers can claim agile methodology experience because they used the term agile. For the few that were powerless to the process, they have real experience on what worked and what failed in the "agile" methodology.