, - Posted by Tommy Segoro
INTRODUCTION
I just uninstalled SharePoint SQL Reporting Service from my development environment because it’s no longer used and was using an incorrect version. The uninstallation was straight forward. After the uninstallation was finished, I went to Central Admin home page and it loaded fine. Only until I clicked any of the Central Admin internal pages eg. Manage Web Applications did it start to break. None of the internal pages were working! I was so nervous that I thought I have broken my DEV environment which was very crucial for the progress of a particular project I’m currently working on.
The error I was getting on the browser was:
Unexpected error has occurred. An error has occurred on the server.
Within the logs I get:
System.Security.Policy.PolicyException: Required permissions cannot be acquired
RESOLUTION
After some looking around I realized that the SQL Reporting Service DLL somehow was not cleaned up properly. It still existed in the “bin” directory of the Central Admin even though I have uninstalled it from the server.
I simply deleted the DLL and it all worked fine again.
Hope this helps,
Tommy
, - Posted by Tommy Segoro
INTRODUCTION
So my client is running SharePoint which unfortunately the main master page has been modified using SharePoint Designer; therefore it causes the master page to be “un-ghosted”. Any updates made to the original master page located in the source control (TFS) no longer affects the stored master page due to this disconnection.
Therefore, I had to copy/paste the customisation from the modified master page in the Master Page Catalog back to the one in source control. Then I removed all SharePoint Designer references (often denoted by the double underlines “__”). You will easily spot them.
After that I re-ghost the master page and it now starts using the source control version again.
It’s all good until I realise that the IsDlg parameter no longer works properly. The IsDlg parameter is injected when you open a list item or anything that involves modal window. The idea is, when IsDlg is set to 1 ie. IsDlg=1, the ribbon and left-navigation would be hidden. Pretty much, any HTML elements denoted by <div class=”s4-notdlg”> will be hidden.
RESOLUTION
The problem is, when you copy/paste the master page that has been modified by SharePoint Designer, the <html> element does not contain runat=”server”. This is required for IsDlg to work properly.
Therefore, all you need to do is to ensure that at the beginning of your master page, the runat=”server” attribute is set on your <html> tag such as:
<html runat="server">
...
</html>
Hope this helps,
Tommy
, - Posted by Tommy Segoro
INTRODUCTION
I have always been curious about the Lightweight Meilenstein (LWM) wheels. People who have ridden it swear by it that it’s the best wheelset you can ever get on the market. The only problem is, a new set will set you back for AUD$6000! Due to this I have always put that curiosity to bed. Until one day I browsed through Gumtree and I stumbled upon an ad for LWM 2012/2013 model that sells for AUD$2000 – which was also owned by a female racer and has only been used for racing only. Apparently, it has also never seen rain. So my curiosity suddenly sprang out again! I quickly gave her a call and long story short I ended up purchasing it.
In this article I would like to share with you my initial and short term review of the wheel. So far I’ve used it for commuting as well as doing a short hill ride. Strava ride is as follows for the hill ride:
https://www.strava.com/activities/527743292/overview
Wheel spec is 16 spokes front and 20 spokes rear. Hub is DT Swiss that has been upgraded from 10 speed to 11 speed.
INITIAL REVIEW
When I first installed it on my bike, my bike weight dropped from 8.4kg to 7.5kg! Yap…it’s that much! Previously I was using my trusted Ursus Miura C38 which has taken me to finishing Peaks Challenge Cradle Mountain and Peaks Challenge Falls Creek. I just couldn’t believe how light it was! The rim was also a lot shallower than the Miura so I needed to adjust my brakes.
Installing tires were also easy-peasy on the LWM. I’m currently running Schwalbe One 23mm 700×23 clincher.
So here I was commuting to work on LWM for the first time. Man……oh I wish I could tell you how I felt….the wheel – due to its weight – was just flying when you sprint it! Then on the flat – due to its depth – it just holds speed really-really well. I can easily ride at 20watts more on this wheel. I normally commute at ~140w but now I up it to ~160w and still feel as fresh. Holding speed is no problem with the LWM.
With its depth I would be worried about being pushed by crosswind. But in reality, this is not the case! Compared to my Ursus Miura C38 (38mm depth), the LWM was probably only about 5%-max less stable. There were no surprises whatsoever whenever the crosswind blows. And here in Perth, crosswind gust speed is about 25-40km/h daily.
LWM is definitely stiff. You can feel it especially when you ride standing trying to attack a hill or undulation. There is no wobble whatsoever. My brake pads are very close to the wheel and there is no rubbing whatsoever. Near my house there is this 8-12% 600m stretch which I have to go through every time I commute back from work in the evening. Sometimes I would spin but often I would be standing on using 34-28. Power will be about 220-240w. I can tell you that on LWM it feels about 10-20% easier. Am I faster? Absolutely not. But am I able to push bigger gear? Absolutely!
People often think that riding a lighter wheel or more expensive wheel will make you faster. That’s not the case obviously. It all comes down to the amount of power your legs can generate. What makes the difference in my opinion though is on endurance and how your legs can spin better especially on wheels like LWM. Therefore, for a long ride like Peaks Challenge (235km with 4000+m climbing), I can see the benefit of riding this kind of wheel. My Miura definitely felt a lot heavier so on a steeper climb 10-14%, you can definitely feel the weight.
With braking I can’t really say because during commuting I rarely brake; and my speed is not that fast either. So far it has always been sunny, too so braking is still performing well. I’m using a Lifeline Blue pads. Oh, one thing about the LWM braking compared to Miura, it is a lot noisier with LWM. Miura was definitely a lot quieter; and I’m using exactly the same pads.
Compared to my Miura, for commuting, ,LWM is definitely at a different class.
SHORT HILL RIDE REVIEW
I also had a chance to take the LWM to short hill ride around Gooseberry Hill and Kalamunda. The weather was also drizzling so it’s a good way to test the braking. Also, I would be going through a steep descend to I can also test it for crosswind.
Long story short, it spins well (as per my initial commuting review). And stiffness is also amplified especially during the very steep section of the hill. Gooseberry Hill Rd is 10-16% gradient and can stretch to as far as 2.8km. But for today the total length probably about 2km as we started from Watson Rd. Still, we rode the 10-16% gradient.
I for one broke a lot of PR for today. Thanks to the lower body weight (I’ve lost about 7kg compared to last time I rode Gooseberry) as well as the LWM! Sitting or standing, stiffness is just top notch. It felt easier climbing Gooseberry compared to my Miura. Like I mentioned before, with LWM, as it’s a lot lighter than my Miura, it allows me to generate more power. It simply spins better.
Talking about braking, it’s as good in the drizzle as it is in the dry. I still want to test it when rain is pouring down and see how bad the braking can be. As with any carbon wheel, when it’s soaking wet, braking can never be as good as alloy. My Miura for one, the braking is still very good in the wet. It’s good enough for me anyway. So next time it’s soaking wet, I’ll go out and ride the LWM to give you proper braking review.
Finally, on descending, the LWM just simply flew! It’s NOT affected by crosswind whatsoever. If anything, it’s as good as my Miura – and I know my Miura is not affected at all by crosswind during descending. In fact, if you look in Strava, for that Welshpool Rd East descend (about 6-10% gradient), I was faster on LWM compared to Miura.
SUMMARY
In summary, I would totally agree that LWM is by far the best clincher I’ve ever ridden in my entire cycling life! I’ve tried Dura-Ace C24, Enve 3.4 SES, Zipp 303 Firecrest, Zipp 404 Firecrest and many others; and definitely nothing beats the LWM.
You may argue that the Dura-Ace C24 would be as stiff going up-hill. It’s true. But it won’t be as good during flat especially for holding speed.
I mean, even the C24 is not as light as the LWM. This wheel is just at a totally different level.
If I can give you advice, save for Lightweight. Rather than spending money on Zipp or Enve I would go with Lightweight at anytime.
Have a great day,
Tommy
, - Posted by Tommy Segoro
INTRODUCTION
I’ve been able to finish the Peaks Challenge Cradle Mountain on the 1st of Nov 2015. See the ride report here. I pretty much just passed. So I was still intrigued to improve my performance. Luckily, Bicycle Network – the organiser – has multiple instances of these Peaks Challenges so I would have another opportunity to test myself. The next one up was the Peaks Challenge Falls Creek 2016. The ride profile was pretty much similar: 235km with 4000m+ elevation gain and 13-hour time limit. What’s different obviously was the terrain. Cradle Mountain consisted of steeper but shorter climbs; while Falls Creek consisted of a lot longer but less steep climbs.
Long story short, I managed to pass Falls Creek at 12h 53m. Who cares…as long as I passed. And not just that, I managed to slash 10 minutes from my time at Cradle Mountain. So in this opportunity I would like to share with you my ride impression.
My setup for the bike was a bit different, too. Still using the same bike with 34/50 but this time I used 11-36 cassette. At Cradle Mountain I was on 34/50 and 11-32 cassette.
Strava ride URL is: https://www.strava.com/activities/515709203
TRAINING
This time I think I trained better. I also purchased power meter which helped my training a lot. So my first suggestion, should you decide to do one of these rides, is to get a power meter. It allows you to pace your ride a lot better so you wouldn’t waste energy at a place where you should reserve and vice versa. Also, I still haven’t followed any training plan this time due to my life and work circumstance.
This time I did about 250km a week while for Cradle Mountain I did about 300km. And this time I did more indoor training than outside. I bought a Tacx Ironman Virtual Reality trainer which allowed me to connect it to TV and ran various mountain maps to keep me occupied. The brake resistance would adjust according to the gradient of the map. With indoor trainer it allowed me to simply train correctly at the right intensity. So I could just replicate a 4 or 5 hour climb by using the settings.
The result? It worked really well on the day. I could sustain that tempo/threshold intensity longer than when I was at Cradle Mountain. The only problem with indoor trainer was air flow. After 4 hours I often “ran out of oxygen” so-to-speak. While outside I could have ridden 6-7 hours. Another reason why I chose indoor training was because I live in Perth, Australia which is flat. Therefore, the best I could do would have been hill repeats. Although, I must admit now – based on my experience at Cradle Mountain – that hill repeats is no way close to climbing a mountain. The maximum length of a hill here around Perth was probably 5-6km with 4-5% average gradient. A mountain like Mt Hotham or Falls Creek/WTF would sustain a 25-30km at 7-10%.
Therefore, moving forward, should I do any of these mountainous events again, I would keep my indoor training. Training outdoor is great to obtain saddle time and to test your nutrition. But to train intensity indoor training is still better in my opinion.
I started my training 12 weeks before the event ie. starting from around early December. I still commuted to work at recovery-endurance intensity. And I would normally do FTP/threshold commute on Wednesday. Then on Saturday I did my indoor training at around 4-5 hours using a mountain map. So I would literally ride at my tempo/threshold for 4-5 hours. Sunday has always been my recovery day.
Follow me at https://www.strava.com/athletes/381651.
For this ride my 20-min FTP was 250w.
NUTRITION
My nutrition strategy remained the same as Cradle Mountain: 3 gels per hour. This seemed to work very well for me on the day.
I also carried 3 water bottle with one containing electrolytes/energy drink as provided by Bicycle Network. My goal was to limit my stops. This tactic seemed to work like a charm on the day.
Also, I have managed to lose 4kg of my weight compared to Cradle Mountain. I followed a high-carb-low-fat diet and worked very well for me. On this particular occasion my weight was down to 69kg from 73kg.
RIDE PLAN
– I planned to only stop 3 times: 75km in (Harrietville – pee, water refill), 110km (Dinner Plain – lunch, pee, refill, clothe change) and 188km (Angler’s Rest – pee, water refill).
– This time I planned to ride with the last wave to test myself and see if I would make it within 13 hour time limit. You could have gone with the earlier wave and saved up to 15 minutes. I kind of regretted my decision but I’ll talk about this later.
– Ride to my wattage. I’ve done my power zone calculation using the online calculator; and based on my 250w FTP I shouldn’t ride for more than 220w at any given time if I want to have enough energy all day long. So my plan was to ride at around 160-180w for flat and not more than 220w when climbing.
– Using brand new tires. Just from my Cradle Mountain experience, new tyres would be the safest option. It’s guaranteed that you wouldn’t get any puncture whatsoever. My tire of choice was the same as Cradle Mountain, Schwalbe One 23mm and pumped to 95PSI front-100PSI rear.
– I wore my ASSOS bib short that cost me bloody $300. I never wear this bib short other than events like this.
– I would also put on ASSOS butt cream.
THE DAY
So the day came. I left with the last wave at about 7:10am. The first wave – the 8 hour – went at 6:45am. It started with a 30-km descend to Mt Beauty. It took almost an hour to arrive at the bottom. Everything was running well. I also rode to my wattage at 160-180w. Then I arrived at the first climb: Tawonga Gap. This was a 5-8% climb for about 7km. It was OK. My indoor training seemed to work very well. So kept riding on and stopped at Harrietville just for refill and wee. I stopped about 4 mins in total.
Then we arrived at the second climb: Mt Hotham. Now this was a killer climb. Initially it was all good at 5-7% with few steep pinches at 10-14%. The problem with this climb was the length! I was about 1.5 hours into it and I thought I was already at the top. It had few descends before we hit the CRB hill. Little did I know that it would go up even more! Near the top more steep pinches were present 10-14%. By the time I arrived at the top I could feel it in my legs that I may potentially get some kind of cramps if I kept going with the same intensity. During any climb I tried to ride under 220w as planned; but still, lactic acid built eventually.
Then it’s all downhill to Dinner Plain. I arrived at Dinner Plain at around 1:15pm. The next cut-off time was Omeo at 3:15pm. The only problem was, Omeo was about 45-50km away from Dinner Plain. So I had to ride for more than 25km/h if I wanted to arrive within the cut-off. So I hurried, refilled my drink, took a wee and changed clothes. I stopped for a total of 14mins and I left Dinner Plain at 1:24pm. I only took one bite of the vegetarian wrap because my stomach just simply couldn’t take it due to the prior effort at Mt Hotham. I knew this would happen because at Cradle Mountain, as the day went by, eventually, my stomach would feel bloated.
So I left Dinner Plain and was on my way to Omeo. Along the way to Omeo there was a huge train passed by. So I quickly joined to save some energy. The Lantern Rouge riders were in this group too =O Long story short I arrived at Omeo 3:10pm – just 5 minutes shy of the cut-off time. I know there would be a lot of riders missing the cut-off time at Omeo especially those who left Dinner Plain after 1:30pm. The Omeo cut-off time was too tight in my opinion.
By this time there was only 1 climb remaining: Back to Falls Creek (which included the infamous WTF Corner). Somehow everyone kept talking about it. It’s started with WTF Corner – a 9km 10-14% climb which then eased off to 5-8% for the remaining of the 14km. To this time I have not walked my bike just yet so I was doing a lot better than Cradle Mountain. I checked my Garmin and my average speed was 20.4km/h including stops so I thought I would join the 12 hour finisher! HA! Little did I know that WTF Corner was indeed as notorious as – if not more notorious than – the rumor.
200km in and I arrived at WTF Corner. BAM…just out of nowhere, I looked up and it was soooo steeep! This was equivalent to Tasmania’s Spellsman Rd. Spellsman Rd however was steeper and about 4-5km shorter in length. Anyway, for the first 2km I was able to ride my bike. Gradient would go from 10-14%. But after that my legs just couldn’t take it anymore! I had to walk it. And even walking it was tough! At this time I was still 2 hours ahead of the next cut-off time. With 7km to go I thought I could make it. But then I looked at Garmin and my walking speed was only 3.5kmh. This was when I started feeling nervous. I knew I wouldn’t be able to make it to the next cut-off time if I kept walking. The only problem was, I could no longer ride anyway. It was so steep.
Also, what I didn’t realise was, Falls Creek must have been located at a higher elevation than Tasmania. The air was thinner and it caused difficulty for me to breath. I certainly never had any difficulty breathing when I was at Tasmania. Even walking my bike I eventually ran out of breath! So I decided to stop at the side of the road. I rested my bike on the road and I just sat down. At this time I was full of emotion. I almost gave up. I knew that I didn’t have the strength to keep riding; and if I insisted walking, I would have missed the cut-off time anyway. Oh man…I wish I could express how I felt. I stopped for about 5 minutes then I woke up again. One of the marshals stopped and offered me free water. I took it. Then I kept walking for another 1km.
At this time the gradient has reduced a bit from 11-14% to 8-11% so I thought of just giving a ride an another go. And I also decided to start zig-zagging. This was when a new hope sparked in my heart! I thought, “Wow…how come zig-zagging felt a lot easier…I could do this!”. I had to say, by zig-zagging it felt as if the the hill was 40-50% less steeper! So I kept zig-zagging, passing riders who have long passed me earlier. They were, too walking! Long story short I arrived at the next cut-off time at Angler’s Rest 15 minutes early. The notorious WTF Corner was finally finished but I still had another 14km to climb to arrive at the top of Falls Creek. But luckily the gradient was reduced! For the next 14km the gradient went down to 5-8%. Every time it hit 8% I would zig-zag. Man…this strategy truly saved my day!
Long story short it was all downhill from top of Falls Creek to the finish line. I arrived at top of Falls Creek at 730pm. The cut-off time was 815pm at the finish line. I had about 45 minutes and 12km left. I knew I was in a good hand given that it was all downhill.
So I made it to the finish line at ~8:07pm. I was sooo happy and full of emotion (again). Obviously the only person who knew what I went through was ME!
CONCLUSION
I think I did a lot better this time and I was a lot more efficient as a rider. The power meter truly helped. I trained a bit less in terms of saddle hours but in the end my performance was better than Cradle Mountain. The weight loss helped a lot too! So if I can give my advice, it would be the following:
1. Use power meter and ride to wattage
2. Join a train whenever possible to save time
3. Limit your stops…I stopped for a total of 27 minutes (including the 5 minute stop on the side of the road at WTF Corner)
4. Use correct gearing, minimum of 11-32 but I was on 11-36. Grinding would never work for this kind of ride. It would give you cramp very soon.
5. Lose weight….you’ll be faster during the climbs no doubt!
6. Train for descending on the drop. Descending is when you made up a lot of time.
7. Use new tires so you won’t get any puncture. I saw a lot of people losing time due to punctures!
8. Get your bike serviced few days or 1 week before so it’s all top notch and groupset works flawlessly.
9. If possible, go with the earlier wave and you could save yourself 15mins! The problem is this, you may have had the legs by the end of the ride, but because you miss the cut-off time at a particular rest stop, you could no longer ride! If you are a weaker ride like me, I suggest you go with the 9-10 hour wave so at least you pocket yourself 15-20 mins. That way you have a bit more time to rest and still making it to the next rest stop/cut-off time.
10. Finally, try to leave Dinner Plain by 130pm! Otherwise, you could have missed the cut-off at Omeo.
Same conclusion as Cradle Mountain, you can’t afford having a bad day at all. For me personally, I need to improve my strength by at least 30-50w if I want to finish 10-12 hours.
So that’s all from me. There is an upcoming Peaks Challenge at Gold Coast. Still don’t know at this stage whether I want to do it or not. Enjoy some photos below:
Have a great day,
Tommy
, - Posted by Tommy Segoro
INTRODUCTION
So my Garmin Edge 810 was completely dead. Every time I turned it on it went straight into the maintenance mode. The USB socket only charged but not transmitted any data. Therefore, any ride data needed to be uploaded via Bluetooth. Long story short I decided to let it go. I’ve owned it for more than 2 years and time for me to get a new toy.
After looking at some second-hands 810 and 800 – and yes they were half the price – I still decided to go ahead with Garmin Edge 1000. The reason was because it’s using the latest technology but more than that, it has adequate battery life (from what I read in the reviews), can connect to Wi-Fi and bluetooth; and most importantly it connects to 2 satellites instead of one (this is a biggie for me because my Edge 810 and 500 kept losing signal and ended up not recording the rides correctly).
I bought it off Pushys and cost me about AUD$600 including the silicon case. So I just thought of writing a quick review of how it goes. The latest big ride I took it to was the 2016 Peaks Challenge Falls Creek – 235km with 4000m+ elevation and 13 hours time limit. Below is the Strava ride:
https://www.strava.com/activities/515709203
FEATURES
I have to be honest that I don’t use all of the features the device has. Therefore, I’m not in the position of writing down all of the features. You can always read these yourself on the net. There are already tons of information on them. For me, I use the following features:
2 Custom Activity Profiles – RIDE and DRIVING
With RIDE profile I have 2 screens set, one contains 10 fields and another is the map fields. On the first screen I specify power, altitude, etc all the fields I require for my ride. You can set up to 10 fields on this screen which is very helpful. Then on the map section I specify 2 fields: power and elapsed time. This way – should I use the GPS map for my ride – I can always gauge how intense I’m going (through Power) and how long I’ve been riding (through Elapsed Time) – which would determine if I need to drink or eat. I try to drink and eat every 15-20 mins.
Then on the DRIVING profile I only use the map fields because most likely I’ll be using the GPS anyway. And yes Garmin Edge 1000 allows you to choose profile types eg. Walking, Driving, Cycling, etc which would automatically set how the routing and mapping would operate. You can also set it manually to avoid highways, off-roads, etc but with these profile types you don’t have to worry about it.
BATTERY LIFE
Some reviews say that it only lasts for around 10 hours – which made me a bit nervous taking it to the Peaks Challenge because I’m not that strong of a rider and there is no way I would have completed it in 10 hours.
But in reality, a full charge was finished in 12 hours and 46 mins (see my Strava ride above) which was amazing! I was only 2km away from the finish line when the battery was fully dead.
I had to turn off Wi-Fi, using the lowest brightness and set “turn off display after 15 seconds” and connected to 1 satellite only though. Otherwise, the Garmin wouldn’t have made it to 12:46. Along the way I tinkered with the screens, sometimes I would try to change from one screen to another and this caused the background light to be triggered. Had I not done that I believe I would have stretched it to 13 hours.
But yes, battery life is quiet impressive in my opinion. Your biggest killer would be screen brightness, Wi-Fi and connection to 2 satellites (more on this later).
SATELLITE CONNECTION
So Garmin Edge 1000 can connect to 2 satellites named GPS and GOLASS. If you want the best connection then you would connect to both. Throughout the Peaks Challenge ride though, I was only connected to GPS to save battery. If you connect to both it would have used 20-30% more battery. I would connect to both when I’m driving only.
Now, on the way home from Falls Creek to Melbourne (driving) I haven’t changed the satellite connection to both. It took about 10 minutes to find the route home using the GPS-only mode! As soon as I changed the connection to GPS and GOLASS, bam….in less than 5 seconds it found the route! That’s how powerful this is. But again, battery life is shorter by 20-30%. I doubt – even using the same settings as my bike ride – that it would make it to 8 hours on full charge.
BUGS
So the Garmin decided to install update on my Edge 1000 about 2 days ago (13-03-2016). Since then the device would turn off by itself intermittently when you use the GPS map! Prior to the install everything was fine. Now I’m a bit nervous that the old bug of 500 and 810 would come back ie. if it loses signal, sometimes it would just turn itself off.
I hope this is rectified soon otherwise I’ll be disappointed.
SUMMARY
In summary I love this device and hands-down is the best Garmin Edge version to date! It’s slim and tall. Display is crisp. Even when the background light is turned off, the display is still very clear under the sun. This wasn’t always the case with my 810 and 500. And most importantly, the biggest wins for me was the connection to 2 satellites and the battery life.
The Bluetooth and Wi-Fi is helpful too in the sense that you don’t have to keep connecting through the USB port to upload your rides. Eventually that port will get loose and – just like my 810 – when it’s finally fully dull, you will no longer be able to upload your rides. Especially when it rains and all, water may get in through the rubber and may cause the port to rust. Therefore, the more you connect through that port, the riskier it becomes to get loose and rusty.
So, that’s all from me. If you haven’t got one, you better get one and you won’t be disappointed!
Have a great day,
Tommy
We provides you the best Services in our themes.
Click on the link below to see a full list of clients which we have developed solutions and provided consultancy for.
We are solution-centered and not application-centered.
Being creative and having fun and yet still delivering a fantastic service is the center of our values.
TFS Consulting Services guarantees delivery that is within budget and deadline or you engage us for free.
Implementing IT solution does not have to be difficult. TFS Consulting Services has a lot of resources on planning and methodologies that will ensure successful delivery of your IT solution. TFS Consulting Services has been around in the web industry for more than 10 years and has experienced all the successes and failures of various type of IT deployment.
Do you need a technical resource? TFS Consulting Services can also provide you with technical resource for developing ASP.NET (C# and VB.NET), SharePoint (2003, 2007, 2010, 2013) and MS CRM applications. Our resource is an Microsoft Certified Personnel (MVP) and Microsoft Certified Technology Specialist (MCTS) in all ASP.NET, SharePoint and CRM.
Make sure your IT implementation is robust and scalable. TFS Consulting Services can provide consulting and advice on industry’s best practice on various web-related areas such as website security, design and usability, application-specific (such as SharePoint)’s best practice, Search Engine Optimisation (SEO), coding standards and many others.
Finally TFS Consulting Services provides you with solution development service. We mainly work with Microsoft technologies (ie. .NET and SQL Server), however we are also capable of developing with PHP and MySQL. If you ever need any business process automation, integration and solution development work, we are the trusted expert you should go to.
For more detailed service offerings please visit our Solutions page.
Tommy Segoro
tommy@tfsconsulting.com.au
+61 404 457 754
© TFS Consulting Services 2024. All rights reserved.