I am back at RPI, finishing up my degree. Recently I have been working on hour tracking software for several departments at RPI.
Recently I have run into a minor annoyance where I am in the command line in Windows and need to elevate a command or program so that I can do a administrative task. (Such as moving a file to the system32 folder), the normal solution is to right click command line short cut and “Run as Administrator”. While that works its not fast, I’m sure there are other solutions out there, but I wanted to quickly build on in .Net. I did this a while ago for Vista and called it elev, but never saved it and since I am trying to make the transition between Windows and Linux easier I called it sudo.
All you do is put this in your %windir%\system32\ folder, and then at the command line type “sudo cmd” or whatever command you want. Commands like “dir” are actually part of cmd not a separate file called so “sudo dir” wont show anything, it will output the .Net error.
Windows 8 is just around the corner, and I have been using it for a few weeks. Most people look at it and don’t to try the new interface; but after using it for a while, I find that I am faster, and that my computer is faster on it. The Task Manager is much better for those who want to use it, you can get all data at a glance, and drill down to what apps are using which resources. I was told that if you have a screen under about 1300×700 then you can’t do the split screen action that larger machines can. Office 2013 preview is out, it allows users to install office over the internet in about 20 minutes, but it is usable in about 2. This is useful when setting up a new computer.
I was forced to reinstall my laptop, Toshiba Portege Z835-P330, the settings that the built in metro apps had automatically came back. Going back to the Windows Store and telling it to reinstall all the apps I had earlier in Metro was seamless. All the apps that were install in the desktop, including chrome, which bleeds over to metro, has to be reinstalled manually. The year is 2012, and by using Dropbox/Google Drive and logging into chrome reinstalling was painless.
The last note I want to make is that I ran into a weird Toshiba software bug, my laptop has an Eco program that tells the user how much power the laptop is using to the watt. I tried to install it and got “Unsupported Bios”; you have to first install “The Toshiba Value Pack”, then that puts core Toshiba files in and all of a sudden the eco tool will work.
Now that it is senior year of college for me, the job hunt has started. This year there was a good turn out for the Information Technology (and Web Science) program at the RPI career fair. There seems to be two types of companies at the career fair for IT, some know they want IT and what that entails; the other are companies that want Comp Sci but say they want IT. The latter, in their interviews tends to ask questions such as algorithms.
Many companies have rotation programs for IT students, these are designed to start with a generic student and train them in the organizations method and technologies. These programs tend to be 2-4 years, with 6-12 month rotations; ranging from databases to networking. Most of these programs also focus on creating managers out of these students, going back and forth between technology classes as well as management skills.
To any new IT students, I would recommend knowing what path you want to go down early on, do you want to be closer to general (broad) IT, or focus on the computer science components
I needed a SSH framework for a program I am writing for my school. There are quite a few out there for .Net but I ended up going with the one from http://sshnet.codeplex.com. It requires .Net 3.5 or 4.0, but its ease of use makes this not a problem. Below is a example of code using the pre-built binary for .Net 3.5, this code connects to a SSH server, then runs a command and stores the result in a string called ‘temp_holding’.
Renci.SshNet.SshClient MysshClient = new Renci.SshNet.SshClient(server, username, password); //these are varibles of strings
//Something in here failed
Renci.SshNet.SshCommand MyRanCommand = MysshClient.RunCommand(“pwd”);
string temp_holding = MyRanCommand.Result;
The blog has been silent for a little while. I have been working at Cisco developing training software. Unfortunately the software is for internal use and at this time I am limited what I can say about it. But 3 months later and around 10,000 lines of code later I handed off the project to my coworkers.
Now back to school to continue studies, I think it is time for the Jukebox project to start up again. I have been researching libraries to use to play music and at this early point it may be the Mono version of XMA to play audio files. If anyone has any ideas for a java/mono/any Linux working library for mp3s that is easy pass it my way.
I have been working on the Jukebox project while code for the Enstall project client is being worked on. I had to find a music playing library that would be fairly portable. While C# with mono can easily transport Windows, Linux, and Mac, I could not find a audio library that did that. I wanted to be able to decode mp3 files as well as other compressed audio formats.
One option I had was converting all the audio files to WAV files or OGG, but these files are significantly bigger; along with, going from a lossy format to those would be a waste of resources. After looking at around 6 audio solutions I went with the easiest. To the horrors of many, and the silent screams of some, I detect your OS, then unpack that OS version of VLC. Once unpacked it starts with only a Telnet interface; with this interface, another thread logs in and controls VLC. So I have a standardized communications language, and I don’t have to handling decoding, audio cards, audio channel selecting, ect.
If you have not used this before it is built for a program to control it, there are controls such as “get_playtime”. You get a nice computer readout from that. One downside is that there are slight differences from windows to Mac to Linux, but those are easily accounted for.
If anyone has another easier solution drop it in the comments but for cross compatibility this seems to be working well.