Ask Slashdot: No-Install Programming At Work?
An anonymous reader writes "Hello! Every summer (and other holidays) the work load at my job becomes minimal. I like scripting (HTML, CSS etc.) and would like to get into programming just to tinker a bit due to curiosity. At work we are not allowed to install anything except company approved software. Is there something I can program in that has an IDE like PortableApps.com? I guess I am asking for a recommendation on both language and IDE at the same time. Again, I want to reiterate that this is to satisfy my tinkering curiosity and thus not need something great, just something more advanced than HTML/CSS."
Codeacademy.com
You don't say much about language preference, but would Portable Python fill the bill? I know you asked for an IDE as well, and there might be options for that -- or really any text editor will do -- but this might be a place to start.
Breakfast served all day!
it's possible to run eclipse without installing anything, just from the executable in the directory.
also, BlueJ i think you can do the same thing.
Eclipse has a built in java compiler too i believe so you don't need to install the jdk.
Or you could learn to be more creative in justifying your learning to managers.
Your browser already supports it. Just fire up Notepad or Wordpad as your "IDE".
Use a web-based (GoToMyPc.com?) or pre-installed remote administration app (Windows Remote Desktop? maybe VNC?) - or install RealVNC and use it's web app. Then control your home PC and run whatever IDE and language you prefer. I'd recommend Visual Studio Express and C# or C/C++, but that's just personal preference.
-Bill
http://ideone.com/
Back in school, I put my stuff on a small USB flash drive (at first a 256MB, later a 4GB - both cost about $20 when I got them). For me, it was CodeBlocks, because my personal coding project was in C++, but I imagine you can do the same with nearly any open-source IDE and compiler/interpreter.
I don't know how much debugging type stuff you want to do, but you might enjoy using a web-based IDE like IDE One. You can use any language you want, and if I were you, I'd type my code in a text editor that allows for syntax highlighting, like Notepad++, which can be run without an install.
http://c9.io/
Eclipse (eclipse.org) is no-install, just drop it into a directory and run it. Java is a reasonably widespread run-time environment, though as a language, it may not fit the bill for "tinkering." Eclipse supports other languages, too. If you're looking for a lightweight web container, try Jetty. No installation required, and you can run your own J2EE application (again, if that's "tinkering"). But yes, on your own dime is probably good advice. Look for ways to improve your value to the company. Start with the traditional: learn to do your boss's job (with her/his knowledge, of course).
Shut up asshole. If the workload is light, and the boss finds you trying to expand your skills, you really think that's a hanging offense? If you don't have an impulse to do this sort of thing, you're in the wrong profession. Git'r'done sandbags like you should look up the term 'false economy'.
If your company doesn't want you to install unauthorized software, they probably don't want you to run unauthorized software either. This is doubly true since you are going to want to run the software you developed. So I would suggest a web based alternative, or to SSH into a remote host (you can use a java based SSH client).
I would advise finding out which language you want to program first, then asking for the options available since there are a lot of options available.
If you're just interested in learning basic programming skills, JavaScript is also a good starting point and would probably work well with your existing development tools.
Problem solved.
"This post is an artistic work of fiction and falsehood. Only a fool would take anything posted here as fact."
^^^Ding ding ding!!!^^^
The ownership of anything you do during your work hours would be in question (at best). Most likely, if you're in IT, you've signed something that says anything you create while on the clock belongs to your employer and there would be no question at all. They're paying you to do the work they provide. If they can't keep you busy and you don't want to be paid to sit on your ass, find an employer that can keep you engaged.
If you insist on doing personal stuff during work hours, at least be smart enough to do it on your own equipment. You can get a brand new craptop for under $300. Frys has 7 15" laptops between $249.99 and $299.99.
The ownership of anything you do during your work hours would be in question (at best). Most likely, if you're in IT, you've signed something that says anything you create while on the clock belongs to your employer and there would be no question at all.
OMG. So his employer might pantent "Hello World", if he get's caught learning to program at work!!
Oh, the beautiful gloss of greality!
There's always the Tiny C Compiler, a 280K zip file containing a C compiler, and all the headers for the standard library and Windows API. No installation needed for that.
Seriously.
A number of us have flexibility in this arena because we've been working for the same employer for a while, or we're in charge of a department, or because we're consultants/independent contractors. I'd often play video games at work after the end of the work day, and that was fine with everyone because the work got done.
Unfortunately a number of employers are implementing increasingly draconian policies regarding software and hardware use, and rules about what is/isn't appropriate policy, even after work has let out for the day, or even if your fun side programming projects could make you a more skilled and more productive employee. Some of these policies and rules even govern the work that you do when you aren't at work, even if you do it on your own hardware.
One option would be to boot your system off a usb key/external drive. This would allow you to run Ubuntu 12.04 (or something) and hack around using Python, Ruby, Java, Processing, or pretty much anything else you can dream of. This is a really cheap solution (A 16GB usb key is about $10 online). The problem with this approach is that you're still using your work hardware, and it's harder for you to switch between your company's OS/software and your own. Also, if your company has a problem with you installing software, they might get all upset about you booting from external media, too.
If you can pick up an old laptop for cheap (maybe ask friends if they have an old one they aren't using?) then you can throw something like lubuntu or just stock debian on there, and then you'll have a great little dev machine that you can use to program up a storm. You don't need a big hard drive, and if you're using it plugged-in, the battery doesn't even need to work.
If you start to work on a project that you actually want to release, ask your boss if it's okay for you to hack on things at the office. Even if it's just a small side project released under a FOSS license, you're technically on the clock and so it's best to get an okay ahead of time.
Good luck!
coding is life
http://stackoverflow.com/questions/2497146/is-css-turing-complete
and then there is javascript.
If you are not allowed to install anything not on the list, working around the rule using "portable applications" is rarely acceptable either.
What? Do you think the rule against "installing" things was because someone doesn't like the add/remove programs window getting cluttered up? Do you really think they'd be a-ok with you downloading a ton of crap and running it just because it doesn't require an "installation"?
As far as most normal IT people are concerned the fact that you didn't use an "installer" to get your non-approved crap on the PC is generally completely irrelevant.
I should add that you can install the Ruby interpreter into a flash drive, or perhaps better for your purposes, use Jruby which runs on the Java Virtual Machine that is already pre-installed on most computers today.
OP has admitted to not being a programmer.
I think you just jargoned him into an afternoon nap.
My previous employer included something along the lines of "any program or invention written while in our employ belongs to the company, whether or not it relates to the business".
Simple solution, point out that this includes ownership of any malware I might write.
Please consider this account deleted, I just can't be bothered with the spam anymore.
Because you explicitly asked for both a recommendation on an install-free solution as well as a language. https://www.pythonanywhere.com/
You're right, that will definitely convince them to reconsider their overly strict policy not to mention help to cement your job security.
related: http://xkcd.com/651/
DRM: Terminator crops for your mind!
Lulls happen at work places and, instead of wasting time, he's developing skills he can use at said workplace. I don't think it's necessarily a scam. A similar story happened to me and I ended up saving money for the company by automating tedious tasks.
"I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)
"The ownership of anything you do during your work hours would be in question (at best)."
He was asking about learning how to program. It is not likely that he will come up with the next "killer app" in the process. Although what you say is good advice, it probably could have waited a year or two.
As for paying work, he already stated that work was slow. Better that he spend the time learning something that might be somewhat job-related, than spend half a day on Reddit.
I found myself in a similar situation at a previous job where I was bored out of my skull due to a lack of work at the company during the down economy.
So I decided to teach myself some more programming skills.
Unfortunately, I was in the same position where I couldn't install anything.
Find csc.exe on your machine. All Windows machines have this. Buried down in here: C:\Windows\Microsoft.NET
Put it in your path.
Now you can write all the C# applications you want in Notepad. If you can get Notepad++ then it would make it a lot easier as it has code-coloring/indentation. I was able to install it by bringing the installer in on a flash drive. Being just an advanced notepad, I didn't worry about what would happen if someone noticed the install.
You can compile it via the command line with >csc.exe
You'll then have a nice little executable of whatever you made. And you may be surprised how complex of an application you can make this way...maybe you wouldn't. This approach sure helped fill my days for a while there.
You can better yourself at home on your own equipment as it is unethical to do anything but work your ass off when you are being paid. Also what if you write a cool killer app or FOSS project? Guess who owns it? IT wont be you on company equipment and time.
You are either a shitty employer or a moron with a misguided sense of loyalty. My employer who I respect, agreed to sent me to listen to a tangentially related presentation (it was a CS MSc presentation in a department on our main campus) for 2 hours when my salary is just under 40$/hr, it won't bring them anything else than maintaining my analytic skills sharp and more importantly my gratitude.
Also, I would like to have you remark that no other profession, are required to train on their own, layers are mandated by there board to received paid training by their cabinet, so are doctors, so are architects and so are accountant. Do you want to be considered like a professional or a code monkey ? If you want to be treated like a pro ask for what the other notable professions received not for what is standard for a low level clerk...
Jehovah be praised, Oracle was not selected
Or his employer might decide he's not being productive if he has time to "play" with non-work related stuff. Why not ask you boss for permission? Otherwise, generally if you're not allowed to install software there is also a policy that you will not run unauthorized software either.
The ownership of anything you do during your work hours would be in question (at best).
Which is relevant how?
His goals are to learn something and pass the time, not build the next killer app. How does it his employer potentially owning the code he writes interfere with those goals?
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
I agree.
My first thought was holy crap! You are being paid to work what are you thinking? I am shocked no one hear besides myself (modded down to 1) brought this up.
Unless you are hired to learn new things to expand job responsibilities then you are stealing. 90% of the real world would be fired or would be laid off as it shows his boss over hired. I find this practice unethical.
Do that at home where it belongs and if things die down at work there is always something to do so you do not need to put out fired later at the worst possible time when things are busy. QA, testing, code refactoring, etc. The owners and customers need to find value in what you do and if you do not like it quit and go back to school to learn or start your own company.
Maybe I am just old fashioned but from where I have worked and what I have seen just asking this is astounding as who pays the bills?
http://saveie6.com/
"But come on: if you have never programmed, *any* language will teach you the same thing?"
Not with the same degree of ease or utility.
PHP has virtually no internal consistency. It is a hodgepodge of utility functions, many of which do almost the same things, but take different parameters, in different order even. It was (is) a project in which contributions were just taken willy-nilly, and incorporated into the product, seemingly without regard to any sort of organization.
And object-orientation? A weird kind of object-orientation was sort of tacked on, in... what was it... version 5? While other languages have had that as a fundamental infrastructure from the beginning. Ruby, for example (I'm not certain about Python) is object-oriented from the ground up. The language is mostly written in itself. (The standard library does contain some C for performance.)
While many languages are "Turing complete" -- that is to say, given enough diligence they can theoretically accomplish anything that any other language can -- that does not mean that they are "equal" when it comes to everyday power or ease of use. Some are vastly more consistent and intuitive.
Here is an excellent example of what many programmers think of PHP. I did not make this stuff up.
No, for educational purposes, PHP is about the worst thing I could think of. I would advise someone to start out on C itself -- horrors! You can see how much I feel this -- before I would suggest PHP.
You could always try to sign-up for a Beta at http://koding.com/
yeah, I understand the rarity of my dream position (I solve complex problems, spec the boring part and mentor developers), as I love my job I will put overtime if it is needed. However I have the luxury to refuse to have a cellphone. If you read my profile, I work in a business were we sell high-priced, hard to acquire, diplomas, therefore my employer require those diplomas and pays accordingly...
About the profession you noted, I did not talk about the diploma acquisition cost, that is another related but different debate. I talked about the cost of skills maintenance. In many provinces in my country, that kind of continuous formation is mandated by the different professionals associations.
Jehovah be praised, Oracle was not selected
I take your question to mean that you want to program but aren't allowed to add anything to your work machine, including binary files that don't require an installer to run. That's typically how I've seen that sort of rule interpreted.
You mentioned an interest in HTML/CSS and presumably javascript.
You might enjoy JSFiddle
If you would like to try other languages or other approaches, there are online IDEs for that too:
ShiftEdit - Online IDE | ShiftEdit
ECCO -Web-based IDE
Cloud IDE
WIODE
CodeRun
Cloud9 IDE
http://www.codeanywhere.net
And some more lists and reviews:
http://speckyboy.com/2010/07/25/the-most-powerful-and-feature-rich-web-based-code-editors-ides/
Another option would be to look at some of the free shell account vendors online, but you seemed mostly interested in GUI IDEs so that might not be your thing.
If you want a fun, short read about why you might want to reconsider the command line, check out In the Beginning Was the Command Line by Neal Stephenson
[-- Trust the Monkey --]
Glad I don't work at a place like that. At my place when it is slow I am pretty much allowed to do whatever I want (managers approval). I usually tinker around with technology that I normaly do not get to use. Quite a bit of my tinkering arond has made me a better developer, as well as introduced new technology into our existing projects to make them even better. My boss was so pleased with my "screwing around" that now he has implemented a google style "20% time" (as long as no major deadline for something) where we can do whatever he hell we want one day a week (although generally I find it more efffective saving the days and doing 4 days in a row). Can do anything from playing with technology, to reading tech magazines, reading development books THe thing my manager loved the most that I did was screwing around with solr which we ended up implementing into our flagship product and upping revenue by 15%
Sorry for being rude, you are clearly not an idiot.. I would like to know why did you passionately defend a system that screw you ?
I know about my privileged situation and I am saddened by it's rarity, no study debt btw as I was on excellence grants...
Jehovah be praised, Oracle was not selected
Another thing that may be installed already is Microsoft Office. I believe Microsoft Office products have a programming language built in. At a minimum if you have Excel then you can program some stuff in the spreadsheet. Though I think you can do much more than that. Some searching suggest you can program in Visual Basic in Excel.
He is not automating such tasks but is learning while taking money from his employer and shareholders to do it. Unless he wants to expand his role to do things like help out debugging the website I see this as theft and dishonest like the original grandposter.
They don't have enough work from him while he's on the clock and he's using that time to make himself more capable to help the company. Not theft. Sorry.
"I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)
You've been brainwashed into a completely ridiculous and ultimately self defeating conception of employment, which treats workers as slaves and companies as slave owners.
Here's how the economy really works. You, whether an employee or a manager, are a person offering a service, namely your ability to do work. Companies are *your* customers, and you have the right (and the obligation) to negotiate with your customers a mutually agreeable deal, that can include whatever the hell you both like. It's that simple.
If you want to include a clause that says every friday you get the day off, that's fine. If you want to allow the company to fire you for being 3 minutes late, that's fine too. But realize that people who *don't* let their customer/company walk all over them are pitying you.
In the end, your only task is to negotiate a good deal for yourself. And when circumstances change, it's up to you to renegotiate. Sadly, 99% of people are too lazy or scared to stand up for themselves, and will sign anything without reading it. That's just a fact. But if you think you have to be like them, or even that being like them is desirable or optimal for the proper functioning of the economy, then your business administration course was wasted on you, and I'm being kind.
The world doesn't owe you a living, but you're always free to organize all parts of your life as you see fit. Use that freedom, and deal with your customer(s) as you think best.
Unless you are hired to learn new things to expand job responsibilities then you are stealing.
Interestingly my job description and my annual reviews reflect upon the fact that they want us to do such learning. Also, stealing? What the fuck? What are you stealing? If you get your job done, then you earned your pay. Sure, if you put in overtime to cover then it's wrong, but even then "stealing" is the wrong word. Fraud perhaps, since you are in effect falsifying records. If you don't get your actual job done, then you are failing to do your job and should be disciplined for that. You don't get paid in advance, so failing to do your job isn't "stealing" - it's just failing to do your job (whatever the reason).
For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
You'd punish the guy for coding and doing non-job related things on your watch (his question is about not breaking policy, so you don't have him there)? Why? If his assigned tasks are getting completed, and his job performance isn't suffering, then why would you fire an employee for trying to improve himself?
I know why. You're a lousy boss.
I've met people like you. I've worked (briefly) for people like you. I walk out - a bad boss is not worth any amount of money to me. On the other hand, I'll work three times as hard for a good boss. You're trading loyalty for paranoia and resentment, and the only benefit you get from it is the employee performing busywork just to maintain the false perception of "professionalism." You're treating your employees as machines instead of humans.
Performance and meeting job expectations is the only relevant factor in an employee's worth. Does the employee do the job acceptably and on time? Does he/she do so in a manner that benefits the department/company/unit? If yes, then leave him/her alone. If no, replace them. It's as simple as that. Any micromanaging will only cause trouble for both the company and the employee.
Those who can't do, teach. Those who can't teach either, do tech support.
I'm glad I don't work for Billy Gates there. He's the kind of person who'd fire people for thinking.
For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
It's pretty clear (by applying an advanced technique known as reading the fucking question already) that his job in some place that has a a pattern of peaks and troughs. Examples off the top of my head: college admissions office, florist, ice cream maker, CPA.
See, it works like this: you need to have people there all the time, because there's always some work coming in, possibly at short notice. Other times, you have tons of work coming in and it's all real goddam urgent.
Now a DeVry MBA (why single DeVry out - Ed) would say employ staffers cover the minimum workload and bring temps in as necessary to cover the peaks. Awesome, unless you're the one person who knows the job but can't do it because he's trying to train, cajole & clear up after ten people who don't know their arses from their elbows and don't care either.
tl;dr: you're an asshat, a bootlicker and your analysis is simplistic in the extreme.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
What the hell do all of you "oooh, don't do it, if they want you to sit there and drool, you'd damned well better sit there and drool" people have wrong with you? Because seriously, mere subservience doesn't suffice to explain it.
Unless you are hired to learn new things to expand job responsibilities then you are stealing. 90% of the real world would be fired or would be laid off as it shows his boss over hired. I find this practice unethical.
Stealing? Chill on the hyperbole. Very few jobs involve an even 24/7/365 workload; many have seasonal variations, some have monthly variations, some have huge daily swings. And although you can hire and fire untrained salesdrones and telemarketers on a whim, you don't just get rid of 30% of your accounting staff because the 2nd week of the fiscal month doesn't have much to do.
The average office worker spends their down time playing Solitaire, or if allowed to go online, reading Facebook or sports news. I wish some of my coworkers would do something like learn a new skill instead. That said, I have nothing against Solitaire, but as long as you have people on the clock but no work for them to do, why not encourage them to do something at least tangentially productive?
This guy wants to learn to program while staying within the company rules - He didn't ask how to root his machine to install a compiler, he didn't ask how to hide his activity, he just asked for a no-install coding playground.
We freed the slaves in the late 1800s. Stop acting like one.
Now, now... being "grateful" for a job is kinda asking a bit much if you ask me. A job is a contract between an employer and an employee. You give me your workforce, I give you money. His boss might not even have noticed yet that there is little to do during Summer, and he would probably be very thankful for the information that this is the case. And if I didn't have anything to do for my employee for a time period and he comes up to me and asks if he could improve his skills during that time, why would I say no? Especially if it doesn't cost me a dime?
I'd sure as hell prefer that to an employee who keeps his mouth shut and just doodles or solves Sudokus...
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
Yeah, you are old fashioned. The production oriented carrot-stick method died twenty years ago but still lingers on in certain enclaves populated with fossils such as yourself. I've never had a job that enforced the philosophies you speak of and I would leave instantly, no matter the consequences, if I had to endure that attitude or micromanagement. You have no evidence that says my tinkering is not going to benefit the company. All you see is someone who is not slaving away at an assigned task and your small mind cringes. Fuck off and get some modern management training.
I object to power without constructive purpose. --Spock
In your inexplicable urge to sound high and mighty, you totally missed the point. Yes, I read the question, and I totally recognize that some jobs have surges and slow times. Had a few like that myself and had bosses that praised my initiative in learning while idle, and one that told me to go home because he wasn't paying me to fart around.
What I was pointing out was that if he's idle and wants to do something he thinks might be a useful, then he should let his boss know. Particularly if that action could be viewed as violating some IT policy and might be used as an excuse to shitcan him. Keep in mind that non-tech HR types will be happy to call it hacking software if they are trying to fire you.
Bottom line is that being sneaky about this is not a good idea.