|
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. |
On July 10 2013 21:04 darkness wrote: I've been wondering why software uses Windows Registry. As far as I know, the same can be done with a simple .conf file, and it's even portable, while Windows Registry needs to be manually exported to the new computer. Maybe there's something I'm missing as a detail?
Edit: Maybe users are that dumb that developers decide to hide config within the registry so that config files aren't deleted? Or is there another advantage?
There are a few advantages:
1. Multiple users can use the same program and have their own profiles without cluttering the user folders. Just look at the home directory of a linux system, after some time it has tons of .someprogram folders. The registry avoids that, though you can argue about wether it's better or worse.
2. You can connect to the registry remotely, making it easier to maintain software across networks. Not relevant for home users but a significant advantage for businesses.
3. The registry has type safety and can also store binary data, making it easier to store potentially more complicated data and makes validation slightly easier.
4. If you want to move to a new PC or as a business you want to set up a new PC in a cluster and want to copy over all the program settings, the registry has a simple export for a whole branch, so you can just export your software branch and copy it all over in one go. With config files you have to go through each program, figure out where it stores it's config and then copy the config file over manually.
5. It's all in one place. You don't have to search for where the program in question stores it's settings, you can just search through the registry instead of having to google or search through your filesystem, e.g. wether it does store your settings in "My Documents", "App Data" or the program folder.
Of course there are also a ton of disadvantages but personally i think the idea of the registry is good. The problem is just that Microsoft messed up the implementation completely, turning it into a horrible mess.
|
Thanks for comments about Windows Registry. So far, the major advantages should be: network support & individual settings for each user at a specific location (Windows Registry).
|
So... I don't know if this is strictly a programming problem but I thought I'd ask it here anyway.
I've been employed as a software developer for about 4 years now after leaving university, my job to date has mostly been bug fixing and the occasional part of new development within the boundaries of our old solutions (vb6, C#, ssrs).
Lately I have been moved onto some more blue sky development along side one of our senior developers and I've been more and more discouraged by my inability to remember how to do simple tasks within the language (C#), the most obvious example lately was my senior sitting behind me and having to instruct me on how to use generics I wish I could say this was the only time this has happened but its occurring often and its really effecting my moral and is making me seriously consider my future in the field.
I'm just really not sure what to do about this, is it an experience thing? Every time I try and read programming books / blogs I find myself taking nothing from it because they don't relate to problems I'm trying to solve and I find myself increasingly reliant on Google and stack overflow.
No idea if you guys can help but I just needed to get this out there to people who might know what I'm going through !
|
That's normal, don't worry about it. If you spent alot time working in one area, stuff you don't touch everyday will become unfamiliar, I bet you don't remember anything from you difeq classes either. As long as it gets done, who cares if you have to google it first.
|
On July 12 2013 03:14 Shazzam wrote: So... I don't know if this is strictly a programming problem but I thought I'd ask it here anyway.
I've been employed as a software developer for about 4 years now after leaving university, my job to date has mostly been bug fixing and the occasional part of new development within the boundaries of our old solutions (vb6, C#, ssrs).
Lately I have been moved onto some more blue sky development along side one of our senior developers and I've been more and more discouraged by my inability to remember how to do simple tasks within the language (C#), the most obvious example lately was my senior sitting behind me and having to instruct me on how to use generics I wish I could say this was the only time this has happened but its occurring often and its really effecting my moral and is making me seriously consider my future in the field.
I'm just really not sure what to do about this, is it an experience thing? Every time I try and read programming books / blogs I find myself taking nothing from it because they don't relate to problems I'm trying to solve and I find myself increasingly reliant on Google and stack overflow.
No idea if you guys can help but I just needed to get this out there to people who might know what I'm going through ! Using google and stackoverflow seems like almost required parts of working as a programmer nowadays, I can't even imagine how troublesome it must have been to work in the field before those were available.
Nothing wrong with using the internet to help you in your job, unless you have insane amounts of experience, you can't know how to do everything. Just read up on it and remember it for the future.
|
No big deal using google. You won't always remember the exact way to do things, or the exact syntax of a certain function call. The high-level abstract ideas are what's most important.
|
On July 12 2013 03:30 ragz_gt wrote: That's normal, don't worry about it. If you spent alot time working in one area, stuff you don't touch everyday will become unfamiliar, I bet you don't remember anything from you difeq classes either. As long as it gets done, who cares if you have to google it first.
That may be true but after 4 years you shouldn't need anyone to stand over you and instruct you, you should be able to look up a quick tutorial or look for examples in the source you're working on and figuring it out from there, going back to the idea of data processing skills over data retention, you don't need to memorize things but you shouldn't have any problems knowing roughly what to do and how to find out the rest on your own.
To be honest it sounds like a crappy job, 4 years in and you're not doing anything worthwhile? Find a new company. Change focus perhaps.
This pretty much summarises all the advise you can really get from someone who doesn't work with you or know your situation more intimately: http://www.codinghorror.com/blog/2013/04/so-you-dont-want-to-be-a-programmer-after-all.html
Got to admit that I would be worried if I needed to relearn with guidance from senior devs after 4 years, then again I'm a software engineer not a developer so maybe things are different and you have different expectations.
|
Hi so I had (hopefully) a small question:
What is a good way to test if a number is a rational number? I'm trying to figure out how to do this in Python and so far what I have is:
if self.Poly[i] < i and self.Poly[i] > -1 and self.Poly[i] != 0: GCD = GCD*self.Poly[i].abs #Not relevant to my question
The problem with what I have though, is that if somehow I have a rational number that is greater than one or less than negative one, it won't be detected as a rational number.
Sorry if this is a dumb question. This is my first summer working with Python so I'm still learning the things that I can do with it.
Also if this isn't the place to ask these kinds of questions please let me know.
Thanks!
|
Hyrule19173 Posts
Testing if a number is rational is complicated at the best of times.
What you are doing looks like you're checking a number is -1 < n < i and n != 0 and then multiplying another number by it (guessing "greatest common denominator" here). -1 < n < i and n != 0 isn't a rationality check at all
edit: but of course this is Python so just import math http://stackoverflow.com/questions/4266741/check-if-a-number-is-rational-in-python
|
Oh, I realize that what I'm doing isn't a rationality check at all. I just wanted to know if Python (Specifically in this case Sage) had a simple way to check for rational numbers.
If it's a complicated matter than don't worry about it. I just wanted to know if there existed a method that I wasn't immediately aware of.
|
On July 13 2013 01:00 Frudgey wrote: Hi so I had (hopefully) a small question:
What is a good way to test if a number is a rational number? I'm trying to figure out how to do this in Python and so far what I have is:
if self.Poly[i] < i and self.Poly[i] > -1 and self.Poly[i] != 0: GCD = GCD*self.Poly[i].abs #Not relevant to my question
The problem with what I have though, is that if somehow I have a rational number that is greater than one or less than negative one, it won't be detected as a rational number.
Sorry if this is a dumb question. This is my first summer working with Python so I'm still learning the things that I can do with it.
Also if this isn't the place to ask these kinds of questions please let me know.
Thanks!
It is unclear what exactly are you trying to do.
Computers can only explicitly store rational numbers - all integers, floating point numbers, bigints, etc, are by definition rational. Storing irrational numbers would involve storing an infinite non-repeating sequence, which is impossible.
Implicitly, you can have them in the form of a solution to an equation, or more specifically, to a polynomial. Solving them wouldn't work, you would only get an approximation, either because you can only store rational numbers, or because you can not solve them explicitly, only approximate their roots.
So you would definitely need to have a mathematically derived rationality check for such things.
|
Anybody have any advice on learning scripting languages? I know about plenty of tutorials, but I need reinforcing material to practice on. Any ideas?
|
Hyrule19173 Posts
Go script things. When things don't work, figure out why.
|
There's really not much different from a scripting language to a regular language.
The main part of learning a language is just write lots and lots of code. Some people prefer using all those Euler math problems, some prefer actually writing semi-useful programs. Think of a problem you have and solve it. Or think of a problem that has already been solved (for example, create a file browser), and then reproduce that for yourself.
Programming should be fun, and doesn't have to involve reinforcing material in the form of example questions and assignments. Reinforcing what you learned should be done via you solving a problem, and if the stuff you learned is relevant, applying the learned stuff to do it. If it's learning how lists work, just make yourself use lists, for example.
|
I need help. I went to try and play with changing drawings with pinches in iOS and I ran into what I feel is probably a basic problem with an easy answer. It says ShipView doesn't have a type because it doesn't see that I declared it in the interface, but if I move the interface then I won't have the protocol's data to use when I need it for the interface >_<
I would be grateful for any help at all. >.>
//ShipView.h
@protocol ShipViewDataSource - (float) ShipDisplay:(ShipView *)sender; //RedError: Expected ShipView to have a type @end
@interface ShipView : UIView
@property (nonatomic) CGFloat scale;
-(void) pinch: (UIPinchGestureRecognizer *)gesture;
@property (nonatomic, weak) IBOutlet id <ShipViewDataSource> dataSource; @end
|
On July 12 2013 23:10 adwodon wrote:Show nested quote +On July 12 2013 03:30 ragz_gt wrote: That's normal, don't worry about it. If you spent alot time working in one area, stuff you don't touch everyday will become unfamiliar, I bet you don't remember anything from you difeq classes either. As long as it gets done, who cares if you have to google it first. That may be true but after 4 years you shouldn't need anyone to stand over you and instruct you, you should be able to look up a quick tutorial or look for examples in the source you're working on and figuring it out from there, going back to the idea of data processing skills over data retention, you don't need to memorize things but you shouldn't have any problems knowing roughly what to do and how to find out the rest on your own. To be honest it sounds like a crappy job, 4 years in and you're not doing anything worthwhile? Find a new company. Change focus perhaps. This pretty much summarises all the advise you can really get from someone who doesn't work with you or know your situation more intimately: http://www.codinghorror.com/blog/2013/04/so-you-dont-want-to-be-a-programmer-after-all.htmlGot to admit that I would be worried if I needed to relearn with guidance from senior devs after 4 years, then again I'm a software engineer not a developer so maybe things are different and you have different expectations.
Gotta say thanks to everyone that posted, and that link was a good read
|
On July 13 2013 03:49 Blisse wrote: There's really not much different from a scripting language to a regular language.
The main part of learning a language is just write lots and lots of code. Some people prefer using all those Euler math problems, some prefer actually writing semi-useful programs. Think of a problem you have and solve it. Or think of a problem that has already been solved (for example, create a file browser), and then reproduce that for yourself.
Programming should be fun, and doesn't have to involve reinforcing material in the form of example questions and assignments. Reinforcing what you learned should be done via you solving a problem, and if the stuff you learned is relevant, applying the learned stuff to do it. If it's learning how lists work, just make yourself use lists, for example. Well yea. I reinforced C++ and Java through online programming competitions for fun. Scripting those doesn't seem as beneficial though, since you're taking an abstract language and applying it to (mostly) problems of efficiency. Maybe I'm just being too picky though. Thank you for your input though.
|
Are use-cases, statecharts, data-flow diagrams, FSM (Finite State Machines) and petri nets indeed used in professional Software Engineering or is this something universities try to teach?
|
use cases and diagrams yes (based on my internship). the others idk, but it doesnt hurt learning them! haha
|
Yes to all (dont know about petri nets, but I'd say some use those as well). FSAs are very good to model a lot of problems (i.e. something simple as UI transitions)
Overall it really depends on what you do. It's similar to formal verification (where you mathematically prove that an algorithm is correct) - it's useful to have access to it, if you really need it. But it comes at a cost so you often (can) disregard it. But the added robustness those methods offer is sometimes very useful.
If you program a game or some other random software and it crashes - who cares. Now imagine if you program the control program of a nuclear power plant and it ends up in a garbage state, doesnt react to input commands anymore and everything blows up (or has to be shut down = massive costs). Or if your hospital software crashes and people die because of that. Or your stock market software fucks up and you lose billions. In those cases it's worth the additional cost.
|
|
|
|
|
|