Add SyntaxHiglight to Windows Live Writer in Preview mode
Feb 7th
Windows Live Writer (shorter: WLW) is one of the most popular blog authoring tool that I also happen to like and use. And I say this because of its features – I especially enjoy the Preview tab. But what it really lacks is previewing the ENTIRE page – it will get only the html and some css. So no Syntax Highlighting of my code? Let me tell you how I solved this issue.
As a blog writer I searched for something that could allow me to write the articles offline and then upload them in Wordpress. I also tried Wordpress built-in editor, but the editing box is so small that I couldn’t use it too much.
The most important feature for me is that it retrieves the blog theme and has a preview function that provide you the same look on editor window. So you will be able to write a post with a preview. But when having a more complex theme, using JQuery or Prototype, you will discover that you don’t get any more the same look and feel as in the blog. This is partially ok for editing, but sometimes it is really bad – especially if you’re a programmer and add a lot of code in your page. On blogs there is a solution to show the code with syntax color, but in the Windows Live Writer I couldn’t find one suitable plug-in that does this.
Adding events to LINQtoCSV library
Feb 6th
The User Experience that a library provides must be at least equal with is quality and speed. And frankly, CSVtoLINQ rocks on latest two, as I presented in previous articles Import CSV file and query it with LINQ and continuing in LINQ wonder world, but lacks a little on the User Experience(in our case Developer Experience) by not having some events of starting, progress and ending of the parsing.
Especially important, while parsing huge files, is a confirmation for the user that something happens and (ideally) the point in which the processing is. That is why, thanks to Matt Perdeck for sharing the entire source of the library, I was able to improve it by adding events.
So, let’s see some code!
Modifications into LINQtoCSV library – CSVContext.cs
Important: All modifications will be made in the CsvContext class from LINQtoCSV namespace – the CSVContext.cs file.
First we’ll add the ReadStarted event to the library – it will fire when the reading of the CSV file has started.
// defining the delegate
public delegate void ReadStartedHandler(object sender, EventArgs e);
// here we define the event
public event ReadStartedHandler ReadStarted;
// the call of the event processing
protected virtual void OnReadStarted() {
if (ReadStarted != null) {
// we use empty eventargs because nothing is needed on readstarted event, just the confirmation of parsing started
ReadStarted(this, EventArgs.Empty);
}
}
LINQ wonder world
Feb 5th
I am sure that, if you are a developer, at some point in your career heard about and asked yourself: what is LINQ? If not, there’s no problem, you’ll find out now : LINQ comes from language-integrated query and it is a collection of extensions to the .NET Framework that encompass language-integrated query, set, and transform operations. It helps developers by extending both C# and Visual Basic, adding native querying capabilities to these languages. It also comes with class libraries to get the full advantage out of these capabilities.
As we discussed in my previous article, Import CSV file and query it with LINQ, we are able to load and parse the file into a IQuerable collection, thus giving us the oportunity to do more and more SQL- like operations on it.
The C# 3.0 specification defines a so-called Query Expression Pattern along with translation rules from a LINQ expression to an expression in a subset of C# 3.0 without LINQ expressions. The translation thus defined is actually un-typed, which, in addition to lambda expressions being interpretable as either delegates or expression trees, allows for a great degree of flexibility for libraries wishing to expose parts of their interface as LINQ expression clauses. For example, LINQ to objects works on IEnumerable<T>s and with delegates, whereas LINQ to SQL makes use of the expression trees.
Import CSV file and query it with LINQ
Feb 4th
Assume that you have an plain text, old Comma Separated Values file filled with your precious export from a legacy system. How can you process it easily now? The first answer that comes to mind is to parse it and load it into a datatable and later process it by using DataTable.Select() method. But this approach has some limitations – like splitting data into several tables and then join them.
One would imagine that parsing CSV files is a straightforward and boring task, given that it is quite a while since CSV is around. Some of them are correct – in the sense that many implementations merely use some splitting method like String.Split(). Some don’t even offer the specification of the values splitting character – so your file wouldn’t be parsed correctly if instead of , you have ; as separator – yet another thing to modify if you’re lucky enough to have the sources. Others will not handle properly field values with commas because the simple split method of the String class. But there are better implementations that take care about escaped quotes, trimming spaces before and after fields and other small and useful details, but very few that I found did it all as I liked it – and at least as importantly, in a fast and efficient manner.
Predator
Jan 20th
Predator is a project engineered by me and later on in team in Softwise Development company to be a interface between Yahoo Groups site and the home user, giving to every one of these groups the ability to do almost anything that they can do directly at Yahoo. And this by using the Windows capabilities (multi select, multithreading download etc). You’ll be able to download any file format (images, movies, archives, documents).
It allows to user to download files from the photo area, file area and the message area all in one click! View these photo’s with own slide show system and you will also have the opportunity to just pick the ones that you want and throw out the rest!
Another feature is that you can change account information, the ability to leave a group or groups, start a new group, edit your user, profile, change your email settings, read and reply to posted messages, chat, add to or view bookmarks.
Mergus Product Manager
Jan 16th
Uses: Borland Delphi 7 VCL, Microsoft Access Database, User Accessibility
This application was developed by me for Softwise Development to accomplish the needs of a client in administering its furniture chain of shops.
So, as Project manager, I have designed a solution, keeping in mind the possible evolution of this enterprise. I was using a system of managing clients and suppliers, the available furniture, the accounting in/out documents. This application was designed to be simple, to be used efficiently, fast and reliable by people who didn’t had any programmatically skills, in a fast and reliable application.
Forestry
Jan 15th
Uses: Borland Delphi 7 VCL, Microsoft Access Database, User Accessibility
Very technical project, using numerous tables from a database to estimate the average growth of a number of forests. I had developed it in Softwise Development company, having given by the client the tree characteristics (maximum age, average growth per year, indexes of growth etc) and the activities that must be done periodically to ensure the best efficiency. The user of this kind of application will have a general idea of what is to do in the next period of time to the forests that he administers.
Using defined site (forest), created from different species of trees, and estimating their growth, a modern manager can exploit his resources better, but not loose from mind the ecological part of this enterprise.Based on scientific calculations, the bases of a rationality and profitability of owning forest and administering them are now available to the science and business people.
DocVault
Jan 12th
Uses: Borland Delphi 7 VCL, Windows API
Data security is the priority of this program, mainly used for sending important data trough unsecured mediums – like internet or e-mail. The program uses state of the art algorithms in encrypting area (MD5, RSA algorithms with encrypting on different key sizes) and was developed while working in Softwise Development.
The program is creating a file, the result of encrypting algorithms applied to all files or directories with files selected by user, result which is a self-extracting program, using no dll’s additionally, also increasing this way the security. A compression algorithm built-in program allows you to easily decrease the resulted .exe size to smallest possible.
The program is composed from two parts:
- Master – the program itself
- Client – the generated program containing the selected files
CursValutar
Jan 7th
Uses: Borland Delphi 7 VCL, HTTP, HTML Parsing, JavaScript, PHP server side script
The program parses web pages from Romanian National Bank site (www.bnr.ro), offering the latest currency ratings, among with a currency calculator, a very useful converter. The program was designed by me in Softwise Development company as a low resource program, hidden in the tray bar of Windows, while periodically checking BNR site and warning the refreshing of the currencies rate. Another feature is that it shows the trend of the user selected currency over the time, allowing you know how it fluctuates – improving the user decision.
The application is designed to be used as a simple, easy to use tool, providing without any previously knowledge of software usage the full functionality and power to the end user.It also has enough options to allow user to customize the time of refreshing data from the BNR site, the visible currencies (although all are refreshed, user may want to see just a number of them), the program start), and the calculator part – a tool visible in the main window of program (in right-bottom corner), but also in a separate window, which can be set to become visible as user clicks on the tray icon.
Softwise Development
Jan 4th
Positions: Junior to Senior Developer, Project Manager
Softwise Development is the company that shaped me as developer. I worked there for 2 years, between January 2002 and January 2004. I enjoyed there not only a good atmosphere, but also discovered a friend in the person of Mr. Dan Trutia, CEO of the company. I was his first employee and I believe that we created a good team. Together we raised the company to a 10 people business, having international contractors while working in software outsourcing industry.
There I had quite a few projects, challenge being the word of the day. I learn a lot about developing Object Oriented applications in Delphi 5 and 6, Access databases, PHP and MySQL, Windows API programming and not to mention user accessibility techniques, helping users with eye problems.
In the last six months of his employment, I was trusted with the responsibility to manage several projects to completion in budget and timely manner, being advanced to project manager. I enjoyed this opportunity and tried my best to prove my professional potential and leadership ability. Being a manager on several projects, I was responsible for conducting many meetings with the customers, conducting requirement analysis and requirements engineering that lead to successful projects.
Responsibilities:
- Delivering IT projects to user specification, on time and on budget
- Testing functionalities and modules
- Documenting IT policies and procedures
- Scheduling the project tasks
- Maintaining the IT security in line with group specifications
- Database maintenance, data updates and records checking
Technologies that I used were:
- Borland Delphi 6 and 7 Enterprise, custom built controls.
- Microsoft Access and Microsoft SQL databases, ADO
- Windows ‘98 Api programming
- PHP and MySQL for server-side applications
> Projects that I worked on for Softwise Development
Euro
Lira sterlina
Dolar SUA
Francul elvetian
Gramul de aur
