 |
|
|
|
|
|
|
Saying goodbye...
Friday, August 18, 2006 12:53 AM
Tomorrow (heh, actually today, it's 2:33am here ;-)) is my last day at ORIWIN. I have been working there for 3 years, but I worked with this people 3 other years at my previous company. Although it wasn't full time employment since I was attending university, we spent together huge amount of time. I've mixed feelings and it isn't easy, though I'm proud of the work we've done together and I can never be enough thankful to all my colleagues for giving me an opportunity and for guiding me in the beginnings of my professional career.
Right now I'm backing up data from my laptop and smartphone and preparing other things that need to be returned. It's an interesting and unknown feeling for me, backing up 6 years of work and life. I've finished school, will relocate to different city soon and change work and life environment. That's quite a lot of changes in a short time. Frankly, I see these changes as an opportunity to contemplate for a while about my life so far, set new goals, new challenges... It doesn't happen often in one's life to have the opportunity to virtually start again. So I want to spent some time on this. I've two weeks before I start at Microsoft, ideal for some rest, thinking, meeting old friends and maybe reading a good book. Ahh, looking forward...
.NET FX architecture and WinFX name change
Saturday, July 22, 2006 5:24 PM
Some time ago, Soma announced that WinFX was renamed to .NET 3.0. I was confused and didn't really get the idea behind this name change. But I was too busy with my diploma thesis and final exams that I didn't make the effort to further dig into this.
Luckily, Jason Zander in this rockin' channel9 video explains it with a great detail. In just 30 minutes, I was able to get a broader view what's really behind .NET FX and how those pieces relate to each other.
Strongly recommended. And don't forget to visit Jason's blog…
Joining Microsoft
Wednesday, July 05, 2006 4:55 PM
Well, well, I'm a bad blogger, I know... However, right now my life is changing dramatically and I feel that I finally got something interesting to blog about. Do you remember my commitment which I made a year ago? Just after I've failed to get an internship in Redmond, I wrote: 'OK, I will try to shift "my best" at least one level up, I promise... Again, neither for internship, nor for Microsoft, but for me. I'm sure it pays off in this life-long challenge.'Frankly, it really pays off :-) During the last year I studied hard to improve my English and three months ago I passed a certification exam and got the Cambridge FCE certificate (thanks goes to Ivan, an excellent teacher from England). I decided to write my diploma thesis in English language, which was quite a big challenge for me and involved a lot of work. Three weeks ago I finished my University with a MSc in Computer Science and got an A from the diploma thesis. I also continued to work for ORIWIN. We've finished some great projects and I was luckily enough to work with some great people. When I was thinking what should I do after school, I focused on my primary imperative. I knew I have to work on something I will be passionate about with a lot of possibilities to learn new things and big impact on both local (team) and global (world) scale. I also wanted to work with determined, energetic and smart people. Now guess what was the first place where I sent my CV. ;-) After number of exciting interviews with really great people, I finally got the result. I've got the job! I'm joining a local MS subsidiary here in Slovakia as a .NET Consultant / .NET Developer in the Services division this September (FTE position). I love it. Furthermore, if nothing bad happens, I'll be in the MACH program (Microsoft Academy for College Hires) starting in January 2007. It's a special two-year long program for fresh graduates with mentors, great projects, possibility to meet interesting people from all-over the world and so on. It's really nice when dreams become reality. I’m thrilled...
RANGERS LEAD THE WAY...
Sunday, August 07, 2005 5:33 PM
Enemy at 3 o'clock... Ambush!... COVER ME... Full cover! fire, Fire, FIRE at will!!... AAAAAAARRRRGGGGH!... Friendly fire!!... shot him... ROGER... I'm hit... MAN DOWN... We are under attack, under ATTACK, heeeeelp... BOOM BOOM BOOM
Me and my 13 friends put together 2 teams by 7 men and women in arms. I dressed my original uniform of British Army, charged my weapon and get to the field. Man, that was sooo cool. Paintball is FUN!
All over, I was hit many times, I killed many enemies and I was totally physically and mentally exhausted (yes, mentally!). One wrong decision and you're hit, that's bad... Every hit hurts, especially when you’re hit in neck, like me… :-)
...ALL THE WAY!
 The Creed
 Me and my "colonel"... Btw., very interesting girl, I think you'll read more about her in upcoming posts... ;-)
 Me with one of my friends... He was in my team, good fighter!
 Me and another fellow "ranger" [our medic :-)]... Good friend of mine. Can you see that "war wound" on my neck... :-)
<edit> fixed some typos </edit>
I'm 'The Code Keeper'
Sunday, July 03, 2005 5:41 PM
At last, SourceSafe redesign / rebuild is COMPLETED! Our main product has it's own VSS database now. I adopted partitioned single solution because there are too many projects for one single solution. I like this structure. You have to load only subset of all projects on your dev box. There is one master solution that contains all projects, all other sub-solutions are referencing projects from this master solution. It's also easy for managing builds (for more info see : Structuring Solutions and Projects)
I created folder structure inside VSS that we also re-created on all of our dev machines file systems (subst command rulez! :-). Having the same structure across all machines has many advantages, especially when you're referencing some external assemblies via file references. However, there is one problem when you have Compact .NET Framework projects inside solution. When you're doing Open From Source Control for the first time, VStudio looks only in one specific folder for assemblies referenced via File References (only for smart device Projects) (C:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE). It's impossible to add another folder to let VStudio know where do you reference your assemblies from (you can add paths to References Path in project properties, but these settings are stored in user specific files (e.g. csproj.user). These files are NOT source-controlled). If you don't have assemblies in this path, Visual Studio removes references to affected assemblies from projects. Argh! It's really pain in neck to manually add all removed references to all projects on all dev machines. So we decided to reference required .NET CF assemblies from C:\Program Files\.. (we have VStudio installed in same path, so it's not *that bad*). For all other projects, Visual Studio uses <HintPath> element inside source-controlled project file (*.csproj). So as long as you have referenced assembly in same path on all machines, it's found without any problems.
VSS Structure (names changed for obvious reasons):
$/ Projects CustomerName ProductName MasterSolution _PartialSolution_1 _PartialSolution_1.1 Project_1.1.1 _PartialSolution_1.2 Project_1.2.1 Project_1.1 Project_1 Project_2 ... Project_N WebSolution WebProject_1 ... WebProjects_N UtilsSolution UtilsProject_1 ... UtilsProject_N UIControlsSolution UIControlProject_1 ... UIControlProject_N Directory Structure on dev machines (subst o: ...)
O:\Projects CustomerName ProductName CommonDLLs MasterSolution _PartialSolution_1 _PartialSolution_1.1 Project_1.1.1 _PartialSolution_1.2 Project_1.2.1 Project_1.1 Project_1 Project_2 ... Project_N WebSolution WebProject_1 ... WebProjects_N UtilsSolution UtilsProject_1 ... UtilsProject_N UIControlsSolution UIControlProject_1 ... UIControlProject_N All PartialSolution_X are opening projects from MasterSolution (added with Add Project From SourceControl... in Visual Studio). Outputs from UtilsSolution and UIControlsSolution are referenced by projects in MasterSolution via file references from CommonDLLs folder (except .NET CF assemblies, see above) [note - watch out that CopyLocal attribute is set to true for each file reference). Assemblies from CommonDLLs are not under source control. WebSolution contains only WebServices that are referenced by clients via virtual folders created by IIS (Virtual folder path is identical across all clients (http://localhost/WebProject_X). [note - you cannot create virtual folder on virtual drive created by subst].
I'm "proud to announce" :-) that this redesign cut down our get-latest, check-in / out, build-to-test time by cca. 30 - 40%! Having smaller number of projects in one solution really makes difference! Also we are able to minimize situations when we build against older version of an assembly (MissingMethodException and TypeLoadException were killing us). It was hard for me as a dev to spend 4 days in VSS trying to understand how it operates and rebuilding our database. However I learn a lot, so hope it was worth that time... ;-)
Recommended reading : Microsoft Team Development Guide Microsoft Team Development Guide [pdf] Visual SourceSafe Version Control: Unsafe at any Speed?
Recommended script: With help of google I was able to create this simple script for doing daily backups of our VSS database (scheduled task in W2k3) - date delimeter is '.' in my country. It's not exactly same as we are using, but you'll get the idea...:
REM returns date in YYYYMMDD format FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET DATE=%%B FOR /F "TOKENS=1-4* DELIMS=. " %%A IN ('DATE/T') DO SET MYDATE=%%D%%B%%C
MKDIR D:\_SOURCES\_BACKUP\%MYDATE%\<VSSDB_NAME> XCOPY D:\_SOURCES\<VSSDB_NAME>\*.* D:\_SOURCES\_BACKUP\%MYDATE%\<VSSDB_NAME> /E /H
Now I'm planning to look closer on our build process... :-)
*enjoy*
<edit> Added interesting link about known VSS "defects" Added description to script </edit>
Computer Scientist vs. Software Developer
Monday, June 20, 2005 11:56 AM
ZhongQiang has opened an interesting topic I think. What is the difference between Computer Scientist and Software Developer? Here's my point of view:
I think that CS scientist is a person who works mostly on theoretical basis and is way ahead of current situation in IT. He solves challenges like looking for better algorithm to problem XY, improving speech recognition, playing with huge touch screen displays (like Minority report ;-), AI, creates standards (like w3.org, UML...) and so on. On the other hand, software developer is person who solves emerging problems of today. For example, data and information integration (information systems), designing new software systems, various SW to improve day-to-day tasks (office like apps), supporting other SW developers (developer tools, IDEs, compilers), improving operating systems, securing current applications etc.
What do you think? Do you feel more like CS scientist or SW developer?
server down?
Sunday, June 19, 2005 9:32 PM
Well yes, our admin has good deflectors (hello Peter :-)). However, to be honest, I didn't have the heart to command him directly to look on that server on Sunday. So I shoe my inlines and skate downtown to see what's wrong. Heck, interesting ride, truly :-)
After finally arriving at office I couldn't believe, server was up and running, wtf? I checked LAN cable and tried to ping and access other PCs in company, everything worked fine. However, that server didn't accept any incoming connections from other PCs. Wow, never seen this before. Checked fwall, everything ok. Phoned up Peter, but we couldn't find any logical explanation why that server is behaving as it is. Maybe the new Virtual Server 2005 installation messed something? Maybe Microsoft is blocking any incoming connections and we need install new patch [it's W2k3 installed there]. Hmm, strange... I realized that this networking problem is beyond my dev skills, so I'm delegating this to Peter.
I wrote mail to dev colleagues that I was unable to implement redesigned SourceSafe DB + NAnt build system and test them properly because I didn't have network connectivity to server, doh! :-(
Guess, what will I do next weekend…? :-)
(@#&(@*&!!@#@, server down
Saturday, June 18, 2005 7:07 PM
I have planned a major redesign of our SourceSafe database for this weekend. I also want to set-up and configure NAnt build system. Our builds didn't run smooth for some time, VSS DB is full of errors and there are 34 projects in one solution file. Our dev machines aren't designed for such load (or Visual Studio is not designed for such load? hmm, doesn't matter...)
Now, after 6 hours of studying and prototyping on my local system I tried to connect to our main VSS and Build Server through VPN and...


WTF? **** it all! How...? Why...? I can **** this system, I sued all my fellow dev colleagues to take a break this weekend so I can redesign VSS database and don't have to mess up with offline check outs. They agreed, and now this. Damn!
Ok, at first I will try to hack our network admin trying to explain that servers are his business, not mine. (Hey Peter, I know you're reading my blog, so I would like to thank you again that you went to the office that Saturday and turned server on. Thank you!).
If Peter has good deflectors, I would put on my inlines :-) and skate downtown to turn on that server. Did I write that I'm just beginning with inlines...? ;-)
Relax, just do it!
Wednesday, June 08, 2005 1:20 PM
I came to conclusion (yeah, I can still do it ;-) that full time programming has negative effect on my mental and physical condition. Worse, I began to realize that I'm loosing my drive to code and I'm becoming little bit averse when I have to fix bug no. #75414 or code that little tiny feature that will make our SW perfect.
There are few reasons why I'm feeling so. First, I didn't have real vacation for 4 years, *sigh*. Second, I work for a consulting company. This means that there are no big celebrations after one project is finished. We have no "shipping parties" because we simply don't ship. I'm working on three projects now and I hardly notice when I finish one, because service phase begins immediately and lasts for another one year (at least). And after I "finish" one project, there are 2 new waiting to be done. I have no time to play with VS 2005 / Longhorn, no time to explore Linux, no time for hobby projects, no significant time to relax; 4 years and counting...
I feel that something / someone must change. OK, as first thing, I bought inline skates :-) (Nike n-dorfin 6). I don't know how to skate, but I hope to learn it fast :-). Any inline freaks around here? Let's see what this will do with me... ;-)

Next, I want to start some small hobby projects. Just *coding for fun*, nothing more, nothing less. I’m excited about Web Services and smart devices, so perhaps something from this area…
I’m curious about the results…
Another geeky weekend
Friday, May 27, 2005 7:51 PM
I brought some cool stuff from office today. Yes, we're going "live" with our MFM product and MC 3000 [CE .NET 4.2 :-); monochrome display :-(] are *the* terminals it will be running on (== customers will). I'm going to see how our baby is doing on these devices. Also some minor refactorings are planned because I really can't look on specific pieces of code I wrote some time ago (bleh...)

Unpacking
 Booting
Another exciting thing, Web Services. I'm going to write interfaces between external systems and SAP. All I have is wsdl and proxy class generated from SAP system. I have to write some middleware that handles general requests from clients and transfers them to specific SAP RFC calls (through proxy class). I'm newbie to Web Services (just finished XML Web Services Step by Step book - excellent book for newbies, recommended!), so it will definitely be challenging and entertaining work… ;-)
What about your weekend?
|
|
|
|
|
|
| |