Do the right thing. Do what is right for you and your family at the particular point in time of your life. There will always be projects, and if your current company treats you well, that's great.
As you know, especially in the UK, there are lots of layoffs happening. You may be totally loyal to the company, yet the company may lay you off. It's just business. And it will be out of your control. Training the 'juniors' is a way to help hand down your skills to the cheaper staff. Outsourcing programming jobs is getting easier, and your job may end up being outsourced in India or China.
On the other hand, more money, closer commute, similar type of job - these are very attractive attributes of the new job. You will save 45 minutes in commuting time. As you put it - a massive difference in your life. DO IT!
I find it hard to believe that the mission critical systems at 411, Air Canada, and Ontario Hydro are running Windows. We all know that Windows has major security flaws - why don't the CIOs of these corporations set a mandate to move their mission critical applications over to Solaris, AIX, OS400 or OS390?
Even if they are using Windows Internet Explorer for the front-end GUI to access the big-iron back-end, at least ensure that they are capable of patching all of their front-office systems. For instance, they should be using enterprise-wide software distribution facilities such as Tivoli Software Distribution.
If it's not possible to distribute software to the endpoints, at least have a firewall installed in each location, or have firewalls installed in each PC.
No wonder Air Canada has troubles with bankruptcy - their foundation is not solid. Imagine how much money they lost because of this worm (and last week's power-outage - that's another rant)?
You will notice a lot of software vendors are now introducing their products into the Linux platform due to corporate demand - many companies want to move away from Windows because of these critical flaws.
Agreed. Except midrange apps are more commonly referred to as middleware. Like MQSeries. WebSphere. DB2. Tivoli.
None of these products work on OS X, but they do work on Linux, OS400, OS390, W2K, Solaris.
Apple is good for a small-scale business, but not an enterprise-wide corporation. Like banks for instance. Most IBM products will not work on Macs, except the ViaVoice and Lotus Notes products (maybe a couple more too). But middleware, no way.
Any company that's forcing their users to rely on a operating system and certian products of that operating system are just asking for trouble.
Oh yeah... And what about Apple? Their product is not even browser-based, and it's running on an OS that only 3% of the marketplace uses. What's that all about? They must be asking for trouble!
Seriously now. The reason BuyMusic.com uses IE only is to minimize support issues. One browser product will entail a lot less support calls from the general public than from people using browser "x", with settings "y", etc.
The MS platform already has a lot of issues using MS software alone. Why introduce other products into the equation, which they may not have tested, might not have the support staff and experience to deal with?
When Apple introduces iTunes for Windows, they will be using one product that they have complete control over, running on a platform that they don't have control over. That is why they are late to market for that particular platform. What about Linux? It might comes one day as well, but they might as well capture more business with Windows first, then Linux. They might even introduce the capability to burn CD's straight from iTunes for Windows. This would bypass any Roxio/Nero plug-in problems. Their burner program would only allow burning of AAC files, but that's the whole purpose - burn music to your blank CDs, and then copy to the iPod. You can't do all that with a browser.
If someone were smart, they'd use something like WinAmp and build a "puchase music" module into that for the Windows world, similar to iTunes. Allow it to burn the music onto CD as well. Forget the plug-ins.
All I use is my 800MHz iBook, 640MB connected to my Canopus ADVC100 analogue/digital converter, connected to my external firewire 60GB hard disk. The converter is then connected to my stereo VHS VCR.
I load up iMovie, start the VHS player, and import the entire tape to disk. I then cut out the unwanted portions, save the project, and then use QuickTimePro with the Toast VCD program to compress the project into mpeg. I save all the mpegs in one directory, and store them either to another HD or CDROM. The entire process takes a while, but I let it compress overnight while I sleep. I've done about 40 tapes for far in about a month, in my spare time.
I have copied several children's tapes (I own a few) to digital format, bring my iBook around with me wherever I go with my son, and I can play Thomas the Train or Elmo on the go!
The entire experience has been without any sort of a problem - everything just works, and works really well.
Enjoy, and good luck!
This is a fantastic idea! You could use this Lego tape changer in place of the very costly tape libraries.
Imagine, recommending to the boss that you could save the company thousands of dollars by not buying that enterprise tape library, but instead buy a Lego MindStorm kit and an extra box of Legos!
Actually, this is the exact thing I'll be suggesting to my boss tomorrow after I do some more investigation! This is perfect for use with enterprise products such as Tivoli Storage Manager.
Actually, you could quite easily scale this up; simply add more single tape devices to your server, each with its own Lego tape loader.
Earlier this year I was asked to write a technical design paper on a system we planned to use at work. I new it would be a big job, and I didn't want to spend the time needed to "make things look pretty". I just wanted to write the content, and have some kind of software do the job for me.
Well, after some research, I settled on using LaTeX. Actually, I used the MiKTeX distribution on MS Win NT4.0. For the screenshots and Visio diagram manipulation, I wrote some Perl scripts and used ImageMagick and a copy of GhostScript 7.0 for producing PostScript and then PDF files for printing and distribution purposes. The comp.text.tex was a valuable resource as well.
I spent one weekend at home learning the basics of LaTeX, used the "Article" class to help produce a good document layout. Over the next 4 months I learned to write my own macros, create table of contents, indices, glossary, etc, and came up with a 500+ page technical design manual.
Not once did the system crash on me, and I could spend most of my time on the content. Yes, I did spend time on converting Windows.bmp bitmap files into JPG format for inclusion into the document, but with the help of some home-made Perl scripts, I pretty much automated the process of conversion, cropping and resizing. In the end, I preferred this method to dragging and resizing bitmaps within MSWord.
Customized Perl scripts were written to dynamically create LaTeX tables which showed software versions used in our product, references to other documents, etc. The entire document was dynamically "built" into a PDF file.
It took a little time to install, figure out and customize.
The end result was a very clean, compressed PDF document, which we could distribute to all interested parties via email.
I really learned a lot, and it saved me a lot of time formatting the document; I had content, and I had software that did the formatting for me.
Everyone was impressed, but LaTeX was not the "standard" within the company. "We must use MS Word", I was told. This came straight from upper management. Much of the document generation was automated, and there was obvious benefits (free open-source software, no crashing, PDF output without the use of Acrobat, dynamic image manipulation and data inclusion, etc). Even so, MS Word was to be used in subsequent documents.
The point is, even though you might think MS Word is crap and you want to look for alternatives, bear in mind the standards used within the company. Standards become even more important within "global" companies; too many non-standardized products can be costly.
Also, let's say you write a document in LaTeX or DOCBOOK, you quit or get hit by the bus one day (heaven forbid). How are your co-workers going to maintain your document? Can the secretary easily make formatting changes? How about your boss?
Over the past few months I began to use Word for much smaller documentation. It's a pain to use, but I did learn how to use it to make decent looking documents. It just takes more time to produce a document in Word than it does in LaTeX.
Hope this helps in giving you some ideas.
After many months of searching, I have yet to find a way to properly convert a PDF file (generated from LaTeX) to MS Word, retaining all formatting with the hyperlinks and references in MS Word format. Does anyone know?
I've been in IT professionally for over eleven years.
In that time I've done system testing, support, implementation, and development. For the past 3 years or so I've been on the 'architectural' path. Using my past experiences, I find I can better design complex systems keeping the aspects of security and scalability in mind.
I'm working on Enterprise Management using Tivoli, and architecting the system to cater for worldwide implementation in a global organization. Those of you familiar with this software know it is not trivial. If I didn't have the background of being a coder, tester, supporter and implementer, I'd have no clue how to design a complex system.
To answer your questions:
"...is architecture my most logical next step?"
- I'd say so. Do you want to be a code monkey for ever? Probably not. If you can code AND design, there is a much better future in it for you. Coders are a dime-a-dozen these days. Top-notch coders are rare. You can't just come out of the local community college and architect a complex system and do a decent job at it. You need experience.
When I first got into programming, I thought I'd do it for the rest of my life; it is that fun. Now I'd rather design a system from the ground up. It's almost like playing with Lego - and getting paid for it! Get your ideas together, design it on paper, and then build it using bits and bytes. I can design something, get programmers to help build it (getting my hands dirty at the same time), and see it work in a production environment. Then move on to the next project.
"What do I need to do to make sure my skills still remain sharp?"
- Study. Research. Read. Code. Code in various languages. Play with various OS's. Repeat. Be a mentor to others you work with. Share knowledge with each other.
When I'm done at my "day job", and when the wife and kid are asleep at night, I do research using the web. I learn new computer languages and new methodologies. I read/. I stay as sharp as possible, and using my skills and newfound knowledge, I can apply that to designing systems. Use the most appropriate tools available for the job. Maybe Perl. Maybe awk/sed. Maybe C/C++/VB. You get the idea. You might be limited by what your company allows.
The web is your friend. You can get ideas, software, and all sorts of stuff from it. You can learn at your own pace. In my opinion, you're much more "rounded" and "marketable" if you can do both development and architecture. Throw in support, implementation, various OS's, hardware/network setup and experience in many languages, and various methodologies, you will be employable anywhere you go.
It's not easy being an architect. You screw up, and it can make developers life difficult, and will require more support resources if it ever makes it into production. It could be a nightmare for your successor on the project. The reverse is also true. Wrong design decisions can be costly. Look at Civil Engineering. Design a bridge incorrectly, and it can be costly - it falls down and/or kills people. Software gone bad is just costly in different ways.
Learn as much as you can. In today's economy you can quite easily be laid off, no matter how good you are at what you do. That's life. If you can be a "jack-of-all-trades", the greater the chance of employment. Going from development to architecture design is a damn good move in my opinion. If you ever get laid off from your job, you could always fall back on your coding skills and maintain systems until the economy picks up.
I use HSBC Bank Canada for my online banking needs. They do make heavy use of JavaScript.
Question to you/.'ers out there:
Is there a site that will simulate what a particular browser will see under a particular OS?
For instance, under Windows NT using NS4.72, what will the screen look like, and under Mac running NetScape, what does it look like, etc... How do all the data fields react to the particular JavaScript implementation?
It would be a great way of testing a Bank website, or any website for that matter.
Do the right thing. Do what is right for you and your family at the particular point in time of your life. There will always be projects, and if your current company treats you well, that's great. As you know, especially in the UK, there are lots of layoffs happening. You may be totally loyal to the company, yet the company may lay you off. It's just business. And it will be out of your control. Training the 'juniors' is a way to help hand down your skills to the cheaper staff. Outsourcing programming jobs is getting easier, and your job may end up being outsourced in India or China. On the other hand, more money, closer commute, similar type of job - these are very attractive attributes of the new job. You will save 45 minutes in commuting time. As you put it - a massive difference in your life. DO IT!
Switching between tasks is much smoother and quicker, even when switching between high-CPU intensive apps.
Even if they are using Windows Internet Explorer for the front-end GUI to access the big-iron back-end, at least ensure that they are capable of patching all of their front-office systems. For instance, they should be using enterprise-wide software distribution facilities such as Tivoli Software Distribution.
If it's not possible to distribute software to the endpoints, at least have a firewall installed in each location, or have firewalls installed in each PC.
No wonder Air Canada has troubles with bankruptcy - their foundation is not solid. Imagine how much money they lost because of this worm (and last week's power-outage - that's another rant)?
You will notice a lot of software vendors are now introducing their products into the Linux platform due to corporate demand - many companies want to move away from Windows because of these critical flaws.
None of these products work on OS X, but they do work on Linux, OS400, OS390, W2K, Solaris.
Apple is good for a small-scale business, but not an enterprise-wide corporation. Like banks for instance. Most IBM products will not work on Macs, except the ViaVoice and Lotus Notes products (maybe a couple more too). But middleware, no way.
Oh yeah... And what about Apple? Their product is not even browser-based, and it's running on an OS that only 3% of the marketplace uses. What's that all about? They must be asking for trouble!
Seriously now. The reason BuyMusic.com uses IE only is to minimize support issues. One browser product will entail a lot less support calls from the general public than from people using browser "x", with settings "y", etc.
The MS platform already has a lot of issues using MS software alone. Why introduce other products into the equation, which they may not have tested, might not have the support staff and experience to deal with?
When Apple introduces iTunes for Windows, they will be using one product that they have complete control over, running on a platform that they don't have control over. That is why they are late to market for that particular platform. What about Linux? It might comes one day as well, but they might as well capture more business with Windows first, then Linux. They might even introduce the capability to burn CD's straight from iTunes for Windows. This would bypass any Roxio/Nero plug-in problems. Their burner program would only allow burning of AAC files, but that's the whole purpose - burn music to your blank CDs, and then copy to the iPod. You can't do all that with a browser.
If someone were smart, they'd use something like WinAmp and build a "puchase music" module into that for the Windows world, similar to iTunes. Allow it to burn the music onto CD as well. Forget the plug-ins.
I load up iMovie, start the VHS player, and import the entire tape to disk. I then cut out the unwanted portions, save the project, and then use QuickTimePro with the Toast VCD program to compress the project into mpeg. I save all the mpegs in one directory, and store them either to another HD or CDROM. The entire process takes a while, but I let it compress overnight while I sleep. I've done about 40 tapes for far in about a month, in my spare time.
I have copied several children's tapes (I own a few) to digital format, bring my iBook around with me wherever I go with my son, and I can play Thomas the Train or Elmo on the go!
The entire experience has been without any sort of a problem - everything just works, and works really well. Enjoy, and good luck!
Imagine, recommending to the boss that you could save the company thousands of dollars by not buying that enterprise tape library, but instead buy a Lego MindStorm kit and an extra box of Legos!
Actually, this is the exact thing I'll be suggesting to my boss tomorrow after I do some more investigation! This is perfect for use with enterprise products such as Tivoli Storage Manager.
Actually, you could quite easily scale this up; simply add more single tape devices to your server, each with its own Lego tape loader.
Way cool!
Well, after some research, I settled on using LaTeX. Actually, I used the MiKTeX distribution on MS Win NT4.0. For the screenshots and Visio diagram manipulation, I wrote some Perl scripts and used ImageMagick and a copy of GhostScript 7.0 for producing PostScript and then PDF files for printing and distribution purposes. The comp.text.tex was a valuable resource as well.
I spent one weekend at home learning the basics of LaTeX, used the "Article" class to help produce a good document layout. Over the next 4 months I learned to write my own macros, create table of contents, indices, glossary, etc, and came up with a 500+ page technical design manual.
Not once did the system crash on me, and I could spend most of my time on the content. Yes, I did spend time on converting Windows .bmp bitmap files into JPG format for inclusion into the document, but with the help of some home-made Perl scripts, I pretty much automated the process of conversion, cropping and resizing. In the end, I preferred this method to dragging and resizing bitmaps within MSWord.
Customized Perl scripts were written to dynamically create LaTeX tables which showed software versions used in our product, references to other documents, etc. The entire document was dynamically "built" into a PDF file.
It took a little time to install, figure out and customize.
The end result was a very clean, compressed PDF document, which we could distribute to all interested parties via email.
I really learned a lot, and it saved me a lot of time formatting the document; I had content, and I had software that did the formatting for me.
Everyone was impressed, but LaTeX was not the "standard" within the company. "We must use MS Word", I was told. This came straight from upper management. Much of the document generation was automated, and there was obvious benefits (free open-source software, no crashing, PDF output without the use of Acrobat, dynamic image manipulation and data inclusion, etc). Even so, MS Word was to be used in subsequent documents.
The point is, even though you might think MS Word is crap and you want to look for alternatives, bear in mind the standards used within the company. Standards become even more important within "global" companies; too many non-standardized products can be costly.
Also, let's say you write a document in LaTeX or DOCBOOK, you quit or get hit by the bus one day (heaven forbid). How are your co-workers going to maintain your document? Can the secretary easily make formatting changes? How about your boss?
Over the past few months I began to use Word for much smaller documentation. It's a pain to use, but I did learn how to use it to make decent looking documents. It just takes more time to produce a document in Word than it does in LaTeX.
Hope this helps in giving you some ideas.
After many months of searching, I have yet to find a way to properly convert a PDF file (generated from LaTeX) to MS Word, retaining all formatting with the hyperlinks and references in MS Word format. Does anyone know?
I'm working on Enterprise Management using Tivoli, and architecting the system to cater for worldwide implementation in a global organization. Those of you familiar with this software know it is not trivial. If I didn't have the background of being a coder, tester, supporter and implementer, I'd have no clue how to design a complex system.
To answer your questions:
"...is architecture my most logical next step?"
- I'd say so. Do you want to be a code monkey for ever? Probably not. If you can code AND design, there is a much better future in it for you. Coders are a dime-a-dozen these days. Top-notch coders are rare. You can't just come out of the local community college and architect a complex system and do a decent job at it. You need experience.
When I first got into programming, I thought I'd do it for the rest of my life; it is that fun. Now I'd rather design a system from the ground up. It's almost like playing with Lego - and getting paid for it! Get your ideas together, design it on paper, and then build it using bits and bytes. I can design something, get programmers to help build it (getting my hands dirty at the same time), and see it work in a production environment. Then move on to the next project.
"What do I need to do to make sure my skills still remain sharp?"
- Study. Research. Read. Code. Code in various languages. Play with various OS's. Repeat. Be a mentor to others you work with. Share knowledge with each other.
When I'm done at my "day job", and when the wife and kid are asleep at night, I do research using the web. I learn new computer languages and new methodologies. I read /. I stay as sharp as possible, and using my skills and newfound knowledge, I can apply that to designing systems. Use the most appropriate tools available for the job. Maybe Perl. Maybe awk/sed. Maybe C/C++/VB. You get the idea. You might be limited by what your company allows.
The web is your friend. You can get ideas, software, and all sorts of stuff from it. You can learn at your own pace. In my opinion, you're much more "rounded" and "marketable" if you can do both development and architecture. Throw in support, implementation, various OS's, hardware/network setup and experience in many languages, and various methodologies, you will be employable anywhere you go.
It's not easy being an architect. You screw up, and it can make developers life difficult, and will require more support resources if it ever makes it into production. It could be a nightmare for your successor on the project. The reverse is also true. Wrong design decisions can be costly. Look at Civil Engineering. Design a bridge incorrectly, and it can be costly - it falls down and/or kills people. Software gone bad is just costly in different ways.
Learn as much as you can. In today's economy you can quite easily be laid off, no matter how good you are at what you do. That's life. If you can be a "jack-of-all-trades", the greater the chance of employment. Going from development to architecture design is a damn good move in my opinion. If you ever get laid off from your job, you could always fall back on your coding skills and maintain systems until the economy picks up.
Good luck.
Check out the 3Web Google cache. They guarantee "Never pay for Internet access again". Yeah, right. What a guarantee.
Question to you /.'ers out there:
Is there a site that will simulate what a particular browser will see under a particular OS?
For instance, under Windows NT using NS4.72, what will the screen look like, and under Mac running NetScape, what does it look like, etc... How do all the data fields react to the particular JavaScript implementation? It would be a great way of testing a Bank website, or any website for that matter.