Thirded. We set up a site here at work recently and someone suggested DotNetNuke. So far it's been lots of the hassles and restrictions you get with magic black box solutions, and none of the benefits. I'm given to understand that if you want non-programmers to constantly be changing the content on your site, it can be handy, but otherwise it's a real PITA. Myself, I prefer more bare bones, flexible solution. If you already know C# I'd suggest just doing a basic ASP.NET site. It's not as rapid and clean as Ruby on Rails or CakePHP, but it works.
DiscoJimmy
Posts
-
It's been a long time and need some help... -
Looking for advice in managing code in related applications (long)My company is also struggling with a similar issue. We have lots of customers and lots of different requests for tweaks and features. We want to maintain a single codebase, but we've had to compromise in several areas. Essentially we've optioned the crap out of the system. We do this on several levels: - Master settings, the functionality exists in the base code, but we can turn it on/off or make it work like A/B/C on our end. The customer has no control over this - User settings, the code exists for everyone and the customer has the ability to flip switches that will make it work A/B/C - Custom inline code, just chunks in the common codebase that says 'if customer=="A" do this, else do that' - these make my head hurt and make bugs hard to reproduce - Custom pages, places where the whole app will branch over to a different page depending on the customer. essentially where there would have been WAY too many custom inline codes, and so now its a whole different module Of course, this is all(supposed) to be done at the UI layer, and the Data and BL layers are common to everyone, but there are exceptions there too. My suggestion? Tell the customer no. Tell them that you already have A1, because you built it for someone else, and it's A)Cheap B)Done and C)Less buggy because it's been in production a while. If they really have to have A2 or B12, raise the price. I think most customers would go with the cheap, finished, proven solution. I mean, I'm sure we'd all like to customize windows and office and visual studio, but I'd rather buy it for 300 than pay microsoft 15k to make me a custom version. This of course assumes that we're talking about a few wrinkles here and there and not massively different functionality. But if it WERE massively different functionality, I wouldn't give yourself a headache with reuse, just have multiple codebases, call em different products and bill it all separate. As a dev it makes me cringe to reinvent the wheel, but sometimes its easier than trying to build a wheel that fits a bike, a skateboard, and a ferrari.
-
,NET to PHPWell, it's weird. You CAN add a column, if you add it to the end of the list. And yes, you can declare the columns statically in markup and then hide them. But what you can't do is insert columns at runtime into the middle of the list. For instance, we have an app where we have a few columns that need to be on the left, so we declare those statically. Then we have a few columns that need to be on the right so we declare those statically. But then we have a few dynamic columns that are determined at runtime and need to be in between the 'left' and 'right' columns. And this doesn't work. So we are forced to just declare the 'left' columns in markup, and then at runtime we build and add the dynamic columns to the end, and then we also build and add the 'right' columns to the end. It works, but it's kind of a kludgy. The GridViewColumnCollection class has an Insert method, but it doesn't seem to be of any use. I'm kind of surprised this slipped through because normally microsoft is very thorough, but I guess this is why everyone pays for Infragistics and Telerik controls.
-
,NET to PHPA few years ago I would have disagreed with you and touted how fast I could throw together a master detail page, with sorting, and caching and the whole bit. But nowadays, I am almost constantly running into things which are either impossible with these fancy tools, or take a level of research and trial and error that A)undo the work the tool had saved you and frequently B)add a layer of complexity and general 'not-obviousness' to your solution which will trip up another dev(or you) in the future. And every time this happens I find myself wishing we'd gone the hammer & nails route. I'm definitely one that hates reinventing the wheel, and I'm always making tools to speed up dev tasks. But lately I'm getting very sensitive to any tool or approach that removes flexibility. As a for instance, did you know that the ASP.NET Gridview, one of the most ubiquitous controls out there, WILL NOT let you insert a column at runtime, nor will it let you remove a column from the middle, or rearrange the columns at runtime, unless you turn off the ViewState, and lose all your fancy sorting/filtering/caching. That seems like a pretty common request of a control that just manages columns and rows. And Microsoft acknowledged this bug 5 years ago and said they were unable to fix it in 2005, still unable in 2008, and now we have visual studio 2010, and the bug is still so deep down in their codebase that they can't risk a change like that. Sounds crazy if you ask me. No wonder people pay for Infragistcs and Telerik controls. But then those have their own set of issues.
-
,NET to PHPThanks for the info! I use Visual Studio all day and I love it, but I'm a huge fan of the hammer + nails approach, and Notepad++ is one of my favorite tools. Also, for dynamically typed languages like PHP and Ruby, I find the intellisense can't be too great anyway. More and more I'm of the mindset that fancy tools often remove flexibility and power from what I'm trying to do. As far as the libraries you mentioned, do they have the concept of databound controls? In other words, in classic ASP I'd have to write a for loop and for each record in the db i'd generate table markup by hand. In ASP.NET I can just pass a dataset or datatable object to a gridview control and it lays it out for me, generating all the markup. Again, it can be very inflexible when you want to get fancy, but for plain vanilla data presentation it is a MAJOR time-saver, especially now that it has built in sorting and paging. Does PHP have controls like these out there in the public domain, or does everyone roll their own?
-
,NET to PHPI had a question for you regarding that rapid development. I'm an ASP.NET dev, and I've recently become interested in PHP. Largely because of Facebook, and how easy they make it to use their PHP API. The PHP language itself is ok, I actually prefer Ruby syntax and more of an OOP approach, but I have no real problem with the language itself, and the ubiquity of it makes PHP a breeze to deploy. What I'm concerned about are the tools/components. Microsoft seems to have put all their eggs into the '1-click databound awesomeness basket', and while they are a little inflexible at times, they do make your plain vanilla datagrid/repeater stuff really quick and easy. Does PHP have anything that parallels these types of controls?
-
New monitor time... suggestions?My dad just got a Vizio 30" lcd to use as his monitor. And he has it at 800x600. I really hope modern medicine has advanced a lot by the time this job messes up my eyes.
-
Error Codes Explained!I'm pretty sure those are just serial numbers. The microsoft guys are old-school and they probably have gigantic C files with thousands of those codes in there. They just make them up as they need them, I doubt the digits have any meaning. Except maybe they could have prefixes stand for certain products/sub-products.
-
alternative grid controls?Also, hierarchical filtering would be cool too, where you can filter by the groups.
-
alternative grid controls?Anyone have any suggestions for alternative grid controls(for desktop)? I really just need something like GridView, but I like the Infragistics functionality where you can do runtime filtering on the data by clicking the column header and choosing from a list of distinct values. Ideally open source, but at least free. It seemed like a fun project, but I'm sure this particular wheel has been reinvented about a thousand times, so I thought I'd check with you guys. Is there anything out there like this on CP, or elsewhere?
-
Windows 7 search - you gotta be kidding meI do like how they added search to a lot of the system screens in 7, like Control Panel, Start Menu etc. but for a serious search, I'd never bother with Windows anyway. I use SearchEverything for file searches, and FileSeek for file contents search. Both let you use regex instead of just wildcards, and they're surprisingly fast. FileSeek will even let you specify one regex for the filenames, and then another regex to search the contents of that result set. And it's free.
-
Developer ProductivityAmen. With enough coffee and a text editor nothing's impossible.
-
To SSD or Not SSD. That is the question.Well, i'm not sure if the hard drive is going totally crazy or not, but CPU is less than maxed out throughout the build. Joel mentioned that his compiler is single threaded; do you happen to know if VS 2005/8 is single threaded? I have a dual core centrino, but as I said, the CPU is only under moderate load throughout the 30-60 sec build process.
-
To SSD or Not SSD. That is the question.I've actually been obsessing over SSDs for the last couple of weeks and I have a question for you guys. I moved to a new shop where all the devs use laptops and mine is PAINFULLY slow. We use Lenovo Thinkpads, with dual-core centrinos. I've got 3GB of ram, and weven 32-bit, so I'm pretty sure my HD is the bottleneck. We're using VS 2005, and we have a relatively big ASP.NET solution (several hundred code files, hundreds of user controls, over a million lines of code/markup), and so it takes forever to load, and the build times are like 30-60 secs. My question is, I assume a lot of you have read joel spolsky's article on SSDs where he talks about how everything on the system got lightning fast, EXCEPT his compile times, which stayed the same. Now he didn't mention which compiler he was using, but has anyone had any specific experience with SSDs and VS.NET? The start-up/shutdown/open-anything times on my machine are bad, and I'm confident they'll get better, but it's really the compile time that's killing me. I have to build like a hundred times a day and it takes long enough to drive me to distraction. I'm considering an Intel X-25M, but only if it'll help with visual studio. Any thoughts?
-
I have a few questions :)As the other guy said, I assume you're using GDI+. This is bad. GDI+ was not meant for games. Call of Duty certainly does not use GDI+. You need to go to microsoft's download site and download the XNA 3.1 game libraries. Don't worry about all the xbox stuff, you can write all the code in C# and it'll run on windows. You'll have to rewrite some of your drawing code, but if you organized it properly the game logic should all copy over as is. This will be 10x faster than using windows forms gdi stuff. FYI, this ALSO isn't what the call of duty folks are using, but it's a lot closer.
-
Windows automation with C#I see a lot of people on here making new libraries and tools for things that we could already do, but it's not as easy as it ought to be and I think that's great. You know what I'd love to see? A really robust library for .NET aimed at windows automation. I'm frequently having to automate things in windows(and ubuntu but lets not get into that), and I'll use either AutoHotKey, AutoIT, or VBScript, and I have to say, compared to statically typed, compiled, object-oriented C#, those languages blow. So if anyone's looking for a good article subject or community project, I'd love to see a good library in C# code that had SendKey, MouseClick, ActivateWindow, etc. but now the user could leverage all the power of C# along with it. Just a thought.
-
Recommendations for OCR software?Yeah, they did. Its an open source API called Tesseract. I tried it and was really disappointed with the accuracy, and the ease of use. although they must have something better because they're scanning in all those books now. The best one I found to use, from an API standpoint, is Microsoft's MODI library that comes with office. Easy to use, and really accurate.
-
How do I get into the Software industry?Yeah, that's how I did it. The apprentice system is still alive and well in certain disciplines like ours. I just basically hung around this guy at work for a while pestering him with questions until I could do something useful. Then they had me to do all the grunt work for a year or so, writing SQL procs, tweaking javascript, etc. Then I got more responsibility and a raise, and by the time I left I had a real resume and landed a real developers job. I personally think this is the way to go, because you get the taste of what a developers day is like right from the start. When I was in school there were quite a few kids that were majoring in CS that actually didn't like computers much, a few that didn't OWN a computer, and several that didn't like spending hours staring at one. I feel bad for the rude awakening they're going to have when they find out what we actually do. But I guess then they can always fall back to sales :laugh:
-
Why Jonny Can't Code... and just to be clear, I'm not saying he doesn't have a point. I learned through punching in BASIC line by line and i think everyone should experience that. I'm just baffled that he insists that experience is so inaccessible nowadays.
-
Why Jonny Can't CodeThe guys a decent writer, but he's a bit too nostalgic, or just really bad at finding things online. He's totally obsessed with a particular version of BASIC, for some reason. He even mentions QBASIC in his article as one he passed up. That's how I learned to code - after having a TRS 80 16k I was thrilled to get QBASIC on an PC. He keeps going on about how he just wants the kid to able to sit down and punch stuff in with out the hurdles, but QBASIC is actually easier AND better. You don't need line numbers, you have an actual text editor so you don't have to retype a whole line to fix a mistake, etc. He could easily have sat the kid down with QBASIC and punched in all those examples. And if he doesn't like that there's SmallBasic, or Ruby, or for that matter he knocks Python for being too high level, but you can enter BASIC examples in Ruby or Python with only trivial syntax changes. And they're interpreted just like BASIC, so no dealing with a compiler. Basically he just wanted to whine about 'how good it used to be' instead of downloading some of these things from the interwebs. But then I guess he wouldn't have an article.