Celebrate National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17


System Programming





Kernel and system programming is the process of creating the software necessary for a computer or device to function and operate other programs. Some operating systems (such as Microsoft Windows) are proprietary, but others, such as the various Linux distributions, are open source.

Share tech news, updates, or what's on your mind.

Sign up to Post

I am curious about finding the cost to a big bank to process something like a bank transfer from one account to another...

I am thinking about my bank, where I have two accounts, where I may move a few hundred dollars from one account to another.

Is the cost less than a penny for such a transaction for a website or an iPhone app to make such a transfer? I assume there are overhead costs where auditors review blocks of transactions, but I am not asking about that. Just the marginal cost for a hosted and highly secure website to process a transaction.

Does anyone have an idea about this?
Learn how to optimize MySQL for your business need
Learn how to optimize MySQL for your business need

With the increasing importance of apps & networks in both business & personal interconnections, perfor. has become one of the key metrics of successful communication. This ebook is a hands-on business-case-driven guide to understanding MySQL query parameter tuning & database perf

i need ideas (or a script) how to search all MAC Addresses of a windows system and pass these as parameter to an external program...with PERL.

script should do the following:
1. get all MAC-Adresses (LAN1, LAN2, WLAN,...)

2. start external programm and pass every MAC (one after another) ... possible within a loop
extProg.exe AA-AA-AA-AA-AA-AA
extProg.exe BB-BB-BB-BB-BB-BB
extProg.exe CC-CC-CC-CC-CC-CC-CC
In Microsoft Access, I have a form which currently opens up a number of pdf's (currently in Acrobat Reader). My goal is to open up the same number of pdf's in IE, but have them grouped by color. The way the sort of the list is made, the first tab in a group is an image of a purchase order, the following tabs are pdf's of vendor invoices. Often times there is a one to one relationship between purchase order and invoice, however on a fairly regular basis there may be more than one invoice to the purchase order. I would like to make it clear to the user by colored tabs, the relationship of Purchase Orders to Invoices.

The selection criteria and Path has been commented out. Printing works fine, but is also commented out at the moment.

Private Sub Command0_Click()
Dim db As Database
Dim rst As DAO.Recordset
Dim StrSQL As String
Dim PathName As String
Dim PO As String

Set db = CurrentDb()


Set rst = db.OpenRecordset(kaySQL, dbOpenDynaset, dbSeeChanges)
Do Until rst.EOF
  PathName = "SomePath" & rst("Image-no") & ".PDF"

 CreateObject("Shell.Application").Namespace(0).ParseName(PathName).InvokeVerb ("Open")
 'CreateObject("Shell.Application").Namespace(0).ParseName(PathName).InvokeVerb ("Print")


End Sub
I saw some script that in our applications server has the gawk.exe with parameter as  below, do anyone here familiar with gawk and mind to explain what is this parameter does ?

gawk.exe "!x[$0]++"
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.gp.com/Patient"
	xmlns:tns="http://www.gp.com/Patient" elementFormDefault="qualified">

	<element name="patient" type="tns:Patient" />

	<complexType name="Patient">

			<element name="id" type="tns:ID" />
			<element name="name" type="tns:string15chars" />
			<element name="age" type="int" />
			<element name="dob" type="date" />
			<element name="email" type="string" />
			<element name="gender" type="tns:genderEnum" />
			<element name="phone" type="string" />



	<simpleType name="ID">
		<restriction base="int">
			<pattern value="[0-9]*"></pattern>

	<simpleType name="string15chars">
		<restriction base="string">
			<pattern value="15"></pattern>

	<simpleType name="genderEnum">
		<restriction base="string">
			<enumeration value="M"/>
			<enumeration value="F"/>


Open in new window

Based on aboveXSD i generated below XML which gives error at line 4 of XML as
Multiple annotations found at this line:
      - cvc-type.3.1.3: The value 'Maaa' of element 'tns:name' is not valid.
      - cvc-pattern-valid: Value 'Maaa' is not facet-valid with respect to pattern '15' for type

<?xml version="1.0" encoding="UTF-8"?>
<tns:patient xmlns:tns="http://www.gp.com/Patient" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.gp.com/Patient Patient.xsd ">

Open in new window

why i am getitng this error and how to fix it. i using eclipse for this as IDE.
any other open source XML IDEs bettr than eclipse to work on these simple xml, XSDs etc
please advise
private void FileDataRequest(StreamedFileDataRequest r)


MemoryStream m = new MemoryStream();

r = m.AsOutputStream as StreamedFileDataRequest;
void loop(){
StorageLibrary l = await StorageLibrary.GetLibraryAsync(FromKnownId.Pictures);

Scrollviewer scrollviewer = new Scrollviewer();

RenderTargetBitmap r = null;

 r = new RenderTargetBitmap();

                await r.RenderAsync(scrollviewer);


                var file0 = await l.SaveFolder.CreateFileAsync("poikidiki");

                await FileIO.WriteBufferAsync(file0, await r.GetPixelsAsync());

                Windows.Storage.Streams.IRandomAccessStream b = await file0.OpenAsync(FileAccessMode.ReadWrite);


                var file = await StorageFile.CreateStreamedFileAsync("effort06.jpg", new StreamedFileDataRequestedHandler(FileDataRequest),Windows.Storage.Streams.RandomAccessStreamReference.CreateFromFile(file0));


                await file.CopyAsync(l.SaveFolder);


Open in new window

I have this:

it doesn't copy the bytes to the streamed file.

help appreciated
HOW TO CONVERT * char to string (linha):

const unsigned char
*menino1 = (const unsigned char *)0;

menino1 = p - 17;

string linha = menino[1]+menino[2]+menino[3]+menino[4]+menino[5];
The script below does a count of the existing folders and if the count is different the next time it runs then it will generate an Event ID. The problem that I have with the existing approach is that when a folder is purged/deleted the count is no longer valid and we will be a false positive.

Instead of the .count we need to find if a new folder has been created. I am not sure if there is a way to do it by date? or some other way so that when folders are deleted we don't get falser positives.

Basically the goal is to have a script which will run from SCOM the target machine (every 30 min) to verify if a new folder has been created in a specific path, if so then will generate an event ID. SCOM will monitor the event-id and generate an alert.

The script below works great, but we need to replace the count with something that will be more date oriented.

Thank you!


#requires -version 3
New-EventLog -LogName Application -Source "MyScript" -ErrorAction SilentlyContinue
$basecountfile = "$env:HOMEDRIVE\scripts\basecount.txt"
if (test-path -Path $basecountfile){
  # if file not found then this is the first run so there is no baseline
  # otherwise check the path and count the directories and compare against the baseline
        $previouscount = get-content -path $basecountfile
        $basecount = (get-childitem -Path \\server\folder -Recurse -Directory).count
        if ($basecount -ne $prevouscount) {
        # found a difference

Open in new window

Using these codes (in the project),
        private static Cell InsertCellInWorksheet(string columnName, uint rowIndex, WorksheetPart worksheetPart)
            Worksheet worksheet = worksheetPart.Worksheet;
            SheetData sheetData = worksheet.GetFirstChild<SheetData>();
            string cellReference = columnName + rowIndex;
            Row row;
            if (sheetData.Elements<Row>().Where(r => r.RowIndex == rowIndex).Count() != 0)
                row = sheetData.Elements<Row>().Where(r => r.RowIndex == rowIndex).First();
                row = new Row() { RowIndex = rowIndex };
            if (row.Elements<Cell>().Where(c => c.CellReference.Value == columnName + rowIndex).Count() > 0)
                return row.Elements<Cell>().Where(c => c.CellReference.Value == cellReference).First();
                Cell refCell = null;
                foreach (Cell cell in row.Elements<Cell>())
                    if (string.Compare(cell.CellReference.Value, cellReference, true) > 0)
                        refCell = cell;
                Cell newCell = new Cell() { CellReference = cellReference };
                row.InsertBefore(newCell, refCell);

Open in new window

Is there one example to read each message, one by one, for one specific text string, within Sent folder of Outlook?
Will your db performance match your db growth?
Will your db performance match your db growth?

In Percona’s white paper “Performance at Scale: Keeping Your Database on Its Toes,” we take a high-level approach to what you need to think about when planning for database scalability.

Further to this

and I have ImageHandler.cs like
using System;
using System.IO;
using System.IO.Compression;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;
using System.Data.OleDb;
using System.Xml;
using System.Globalization;
using System.Collections.Generic;
using System.Drawing;
using System.Text; // This was needed to make ASCIIEncoding function
using System.Security.Cryptography; // This was needed to make everything related to MD5 function
using System.Web.Services;

namespace Own_rec
    public class ImageHandler : IHttpHandler
        /// <summary>
        /// You will need to configure this handler in the Web.config file of your 
        /// web and register it with IIS before being able to use it. For more information
        /// see the following link: http://go.microsoft.com/?linkid=8101007
        /// </summary>
        public void ProcessRequest(HttpContext context)
            //string userId = string.Empty;
            int userId = 0;
            //-- get the ID from query string you get from <img src tag
            if (null != 

Open in new window

Using these codes

        public static List<HouseData> GetHouseList()
            List<HouseData> houseList = new List<HouseData>();
            using (SqlConnection sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["Mssqlconn3"].ConnectionString))
                using (SqlCommand sqlCmd = new SqlCommand("SELECT house_name, address1, address2, price, price_curr, raised_by_user_id FROM house_tab", sqlConn))
                    sqlCmd.CommandType = CommandType.Text;
                    SqlDataAdapter sqlAd = new SqlDataAdapter(sqlCmd);
                    DataTable sqlDt = new DataTable();
                    if (null != sqlDt)
                        houseList = sqlDt
                                        .Select(dataRow => new HouseData
                                            house_name = dataRow.Field<string>("house_name"),
                                            address1 = dataRow.Field<string>("address1"),
                                            address2 = dataRow.Field<string>("address2"),
                                            price = dataRow.Field<decimal>("price"),
                                            price_curr = 

Open in new window

I use Ola Hallengren's maintenance for all of my customer's, https://ola.hallengren.com/sql-server-backup.html.
Have used it for years, never any real problems -- until now.  For some reason the @CleanupMode and @CleanupTime are not working. The backup step is configured to retain bak files for only 24hrs, and to cleanup the old bak before generating the new.  For some reason, it is not working, and the job keeps failing due to insufficient disk space.

My temporary workaround is below.  I am deleting the largest bak file from disk as a first step in the job, until I get Ola's logic corrected.  Well, it works great as-is, but I've found I need to run it for all subdirectories.

The way it works now is to del the bak file in this path explicitly:
SET @path = 'dir \\backups\servername\dbname\FULL\'

I need it to delete the bak files from all subdirectories within \\backups\servername\

Any help?


IF OBJECT_ID('tempdb..#files') IS NOT NULL
DROP TABLE #files;
CREATE TABLE #files (Line VARCHAR(512)) 
DECLARE @filename VARCHAR(255)
SET @path = 'dir \\backups\servername\dbname\FULL\'
SET @cmd1 =  @Path+' /A-D  /B' 
--PRINT @cmd1

INSERT #files
EXEC master..xp_cmdshell @cmd1
--SELECT * FROM #files

SET @filename = (SELECT Line FROM #files)
SET @cmd2 = 'del \\backups\servername\dbname\FULL\' + @FileName
--PRINT @cmd2


Open in new window

I am attempting to register a remote machine on team services with Powershell. When I enter the script on the remote machine and attempt to run it, I get the error below: Cannot add type. The assembly 'System.IO.Compression.FileSystem' could not be found. I have copied the registration script from the Deployment Groups section on team services online.

The server that I am using is windows server 2008 R2. The script is below:

$ErrorActionPreference="Stop";If(-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] “Administrator”)){ throw "Run command in Administrator PowerShell Prompt"};If(-NOT (Test-Path $env:SystemDrive\'vstsagent')){mkdir $env:SystemDrive\'vstsagent'}; cd $env:SystemDrive\'vstsagent'; for($i=1; $i -lt 100; $i++){$destFolder="A"+$i.ToString();if(-NOT (Test-Path ($destFolder))){mkdir $destFolder;cd $destFolder;break;}}; $agentZip="$PWD\agent.zip";(New-Object Net.WebClient).DownloadFile('https://github.com/Microsoft/vsts-agent/releases/download/v2.116.1/vsts-agent-win7-x64-2.116.1.zip', $agentZip);Add-Type -AssemblyName System.IO.Compression.FileSystem;[System.IO.Compression.ZipFile]::ExtractToDirectory($agentZip, "$PWD");.\config.cmd --deploymentgroup --agent $env:COMPUTERNAME --runasservice --work '_work' --url 'https://aaosprojects.visualstudio.com/' --projectname 'xxxxxxxProjects' --deploymentgroupname "xxxxxxxxxDeploymentGroup" ; Remove-Item $agentZip;
Hello, Experts,

I have an issue with a script where I want the end-user once the app is hit to see the main menu. I have four definitions doing separate tasks (updating, querying or adding in records in a database).

I want my main screen to pop up a list of items for the end users to select. I read that a def main() function is the route to go. Tested it out and I have no luck running it.

def main():
    user_exit =  5
    while True:
            #prints statements that lead the end-user to decide what they would like to do
        print('Welcome to the ROWriter Database applet! What would you like to do?')
        print('1) Insert a new store CIM info...')
        print('2) Update an existing store CIM info...')
        print('3) Delete an exisiting store CIM info...')
        print('4) Search for CIM')
        print('5) Exit the application...')
            #accepts user input and converts it to a string and stores into a variable
        user_input = int(input('Enter option:'))
        #if user input is equal to the exit variable then the application exits
        if user_input == user_exit:
        elif user_input == 1:
        elif user_input == 2:
        elif user_input == 4:
if__name__ == "__main__":

Open in new window

Is there any way to search for all instances of a string in notepad++ and delete the whole line
on which the string is found?
I am looking for String Format Method example using various date formats

I found above link but no example there using the date format though like MMDDYYYY or YYYYMMDD etc to represent date?
please advise
Is there any C# example code (or other kind of codes) to be able to show a relevant map part from Baidu, per one given city/place location?

In Java, as per a hashtag or a twitter opportunity,

how can I get a list of users that incorporated / responded to that hashtag / question?

Enroll in September's Course of the Month
LVL 10
Enroll in September's Course of the Month

This month’s featured course covers 16 hours of training in installation, management, and deployment of VMware vSphere virtualization environments. It's free for Premium Members, Team Accounts, and Qualified Experts!

have a basic mfc c++ project built in vs2005 and am just trying to place some text into an edit box on a form
the forms name is and code that access the for is

csdiialog dlg;
// on the form i have an edit box called IDC_EDIT1 (Edit Control)
// have defined it as dlg then have tried to set the text using
// but throws up the error   c:\c++ projects\usingvccplus\firstsdi\sdi2\sdi2.cpp(98): error C2664: 'CWnd::SetDlgItemTextA' : cannot // convert parameter 1 from 'CString' to 'int'
any help would be appreciated
How to correct
Error      3      The type or namespace name 'Office' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)

while I have Excel 2007 on my Desktop?
I need to detect particular opened apps in my desktop to decide further process in my program by getting its window title. For instance, I will search "Untitled - Notepad" to ensure Notepad is opened and will search "Calculator" to ensure Calculator is opened. Please see the following image for what window title is:
The following is the code I have built.

#include "stdafx.h"
#include <windows.h>
#include <tlhelp32.h>
#include <tchar.h>

//  Forward declarations:
BOOL GetProcessList();
void printError(TCHAR* msg);

int main(void)
	return 0;

BOOL ListProcessThreads(DWORD dwOwnerPID)

	GUITHREADINFO guiInfo = { sizeof(guiInfo) };
	DWORD dwErr = 0;

	LPTSTR app1 = _T("Untitled - Notepad");
	LPTSTR app2 = _T("Calculator");

	// Take a snapshot of all running threads  
	hThreadSnap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);
	if (hThreadSnap == INVALID_HANDLE_VALUE)

	// Fill in the size of the structure before using it. 
	te32.dwSize = sizeof(THREADENTRY32);

	// Retrieve information about the first thread,
	// and exit if unsuccessful
	if (!Thread32First(hThreadSnap, &te32))
		printError(TEXT("Thread32First"));  // Show cause of failure
		CloseHandle(hThreadSnap);     // Must clean up the snapshot object!

	// Now walk the thread list of the system,
	// and display information about each thread
	// associated 

Open in new window

I am trying to find a program that I can download to record church offerings .  Sunday, Wednesday, Missions and Sunday School offerings. Also to record specific members weekly offerings
LRESULT CMainFrame::OnKeyStroke(WPARAM wParam, LPARAM lParam)
       return 0;

For above code, I am  trying to get window to top, but instead of it goes to top, I have flash icon on taskbar. Does anyone knows why it does not my window does not go to top?
Thanks for any help.

When a shortcut file is double-clicked in Windows, the shell dereferences the shortcut and launches the application associated with the file type from the dereferenced shortcut, in other words the path to the actual file. The application receives the dereferenced path instead of the path to the shortcut.

In our application, the user is saving shortcuts to image files as well as updated image files. That is, shortcut files are used to categorize an image file; e.g. "roses", "large\flowers", "floral". The image file itself is stored in a hidden directory.

When a user double-clicks a shortcut and the shell launches our editing/viewing application to display the image, the application correctly displays the image but all path information to the shortcut from which the application was launched is lost.

The question is how to obtain a path to the shortcut file which initiated the application. In other words, is their a way to capture the path to the shortcut file that is double clicked before it is dereferenced by the Shell.

The application is a proprietary app of which we are writing all of the code, so we are flexible with any solution down to a code level.

System Programming





Kernel and system programming is the process of creating the software necessary for a computer or device to function and operate other programs. Some operating systems (such as Microsoft Windows) are proprietary, but others, such as the various Linux distributions, are open source.