Slashdot Mirror


Ask Slashdot: Has the Time Passed For Coding Website from Scratch?

First time accepted submitter thomawack writes As a designer I always do webdesign from scratch and put them into CMSMS. Frameworks are too complicated to work into, their code is usually bloated and adaptable online solutions are/were limited in options. I know my way around html/css, but I am not a programmer. My problem is, always starting from scratch has become too expensive for most customers. I see more and more online adaptive solutions that seem to be more flexible, but I am a bit overwhelmed because there are so many solutions around. Is there something you can recommend?

66 of 302 comments (clear)

  1. Yes by Anonymous Coward · · Score: 5, Funny

    Setup Dosbox runniing wordstar to do mailmerges to generate your temp pages.

    That shit is hand tuned assembler, it will scream.

    1. Re:Yes by Anonymous Coward · · Score: 2, Funny

      That shit is hand tuned assembler, it will scream.

      Yeah, and so will everyone using it. Cover your ears!

    2. Re:Yes by marcello_dl · · Score: 3, Interesting

      Hmm, this sounds like a false dichotomy.

      The problem could be formulated like:

      "I know how to use HTML and CSS and javascript too, but:
      - translating my design to a complex CMS is time consuming, new versions might impose a lot of updating, and I must keep ahead of the plug ins that offer the functionality my site needs. Js widgets also need more work or attention to be succesfully integrated.
      - static site doesn't cut it because I need dynamic features like user logins or have data that is better organized in a DB
      - roll-your-own dynamic site with scripts requires a lot of attention to security and vulnerabilities"

      An answer could be: use a lightweight framework that does not impose many restrictions on the structure. Radiant for rails is the classic one, but I prefer wolfcms because it is a bit easier to deploy and has no domain specific language for templating, you embed PHP. Radiant needs an extension to do that.

      In such frameworks you could start with your hand crafted html and:

      - Put your hand made html pages in the CMS tree. The advantage is that you can login to the server to edit and upload content without much fuss (watch out for upload limits in php.ini though)
      - Separate design (using layouts) from content, so that less repetition and more consistency is achieved.
      - Automate navigation so adding a page to the tree updates the links and the site map.
      - Use either the DB or the page parts (they are like db fields, the page is like a record) to further separate content from presentation, so that even unskilled people can add content.
      - Refactor functionality in plugins so they get reusable (if you're getting a pro)

      If you're going to need app-like functionality, though, a full stack framework like web2py rails or the thousand others is where you'll likely end up, eventually.

      --
      ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
    3. Re:Yes by saider · · Score: 2, Funny

      If you wish to make bread from scratch, you must first invent the universe.

      --


      Remember, You are unique...just like everyone else.
  2. Yes by Anonymous Coward · · Score: 3, Insightful

    You wouldn't grow your own wheat, sugar cane, raise chickensc, etc for the ingredients for your choclate chip cookies. Just go buy the dough from the store. Good enough for 90% of clients out there. For the other 10%, you might make from scratch but you are still going to use store-bought ingredients.

  3. Become a Programmer by LionKimbro · · Score: 3, Interesting

    ...and write a generator, to your own specification.

  4. Choose a CMS you like by s1d3track3D · · Score: 5, Insightful

    Well, it really depends what they need but most folks want a website they can 'control' to some ability and with lot's of built in features. As you said there are many CMS' out there. I'd say pick one which appeals to you, maybe one which has a separate template system, since you're a designer, you can make a nice front end, that is all they will care about anyway. (with template scaffolding this should speed up development time).

    I know all the php/wordpress snobs on /. will dismiss this and laugh but personally if i'm building a site for someone (usually for no money and limited time) I just install wordpress, 'secure it', then use or modify a theme. Just basic stuff, you can remove the meta links from the front page and other tweaks and now they have fully functioning site that you don't have to do much to. If you are hosting it, be prepared to apply security patches the instant they come out and backup the db.

    1. Re:Choose a CMS you like by fuzzyfuzzyfungus · · Score: 5, Insightful

      With the one caveat that, unless your client was already selling herbal viagra and penis pills, you'd better allocate enough time for patching in perpetuity and/or until the money runs out.

      Not like web servers haven't had their share of bugs; but you'd think Adobe had something to do with Wordpress.

    2. Re:Choose a CMS you like by buchner.johannes · · Score: 4, Informative

      I know all the php/wordpress snobs on /. will dismiss this and laugh but personally if i'm building a site for someone (usually for no money and limited time) I just install wordpress, 'secure it',

      I dismiss this and laugh because you think you can secure WordPress.

      If you're using WordPress for clients, you better budget in the time you/they will spend upgrading WordPress to fix its latest security vulnerabilities.

      Actually you can upgrade Wordpress with the click of a button on the Admin panel. You can even delegate that to your users. Or have Wordpress.com host you. Yes, there are more secure frameworks (your hand-made one is not among them), but few that receive as much auditing as the widely deployed Wordpress.

      Building websites based on Wordpress is super-easy, there are extensions for everything, and you can let other people design and integrate the layout/template. Also, other people can take over what you leave behind.
      Your other options are things like Drupal or Joomla!, but they take significantly more effort to adapt and hack.

      --
      NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
    3. Re:Choose a CMS you like by Jesus_666 · · Score: 3, Insightful

      Not so fast, my friend. While I agree that the WordPress core has come a long way and is reasonably secure once hardened (such as by removing the XML-RPC and trackback files, two of the biggest attack vectors) I decidedly disagree on plugins being even remotely secure.

      Some WordPress plugins are well-written and secure. Most WordPress plugins are messy and were written by people who haven't even heard of code injections. If you want your WordPress to be secure, don't use plugins. Ever. At least not without a full code review by someone who knows how to write secure code in PHP.

      Seriously. Most WordPress CVEs these days are for plugins and after having seen the code of a few dozen plugins I can see why. Do not trust a WordPress plugin you have not verified yourself.

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    4. Re:Choose a CMS you like by Jason+Levine · · Score: 2

      I run a few WordPress sites and log all bad login attempts. Around 98% of the login attempts use "admin" as the username. The remaining 2% are mostly split up between "administrator" and the name of the site (if your site is example.com, they try "example"). There are others, but these are the vast majority of attempts. If you change your administrator account so that it isn't one of these three, you'll get reasonably protected against brute force login attempts. (Go ahead and try to brute force my "admin" account passeword. Will never happen because it's not named "admin.") Add in some brute force protection plugins (5 login attempts and you're banned for a day) and you'll be pretty well protected against brute force attacks.

      This isn't to say that you'd be 100% protected. One should always treat one's website as if there's a huge security hole that hasn't been patched up. You should still back up regularly and actively install updates. Still, it's amazing how the simple act of changing the "admin" account's username can improve your site security.

      --
      My sci-fi novel, Ghost Thief, is now available from Amazon.com.
    5. Re:Choose a CMS you like by Jesus_666 · · Score: 2

      If you want to lock down the login the easiest way (besides using a nonstandard admin user with a good password) is to rename wp_login.php and write a little plugin that changes the login URL to point to the new file. There's actually a hook for that. That way all brute force attacks will get 404'd by Apache without the WordPress core getting involved, which saves a ton of resources. In case someone mounts a distributed brute force attack on you this might mean the difference between somewhat elevated traffic and the server going down. (Yes, that happened to us already. Renaming wp_login.php took us from base load of 6 with spikes of 120(!) to a base load of 1 with spikes of 3. Login limiters and fail2ban weren't nearly as effective against distributed attacks.)

      XML-RPC should mainly be disabled because of pingbacks; not too long ago these could be exploited to make your site participate in a DOS attack. XML-RPC itself not a significant security risk these days. You can go for a more nuanced approach by only disabling the functions used for pingbacks (there's a hook for that too) but if you don't need XML-RPC it might be easier to just rename or delete the entire file.

      Trackbacks should be disabled because of trackback spam. Yes, you can install plugins that help you deal with it but - seriously - pretty much no Wordpress-as-a-CMS user cares about trackbacks (or pingbacks, for that matter) in the first place. Disabling them means fewer hassles.


      Again, these days the biggest security risk are badly-written plugins. We once had an infected WordPress where it turned out that the attacker never compromised any user account. They didn't need to because a plugin allowed them to execute PHP code on the server. They just injected their attack code directly into WordPress and could do whatever they wanted, such as displaying dodgy pharma ads without even touching the database. That's the kind of danger unreviewed plugins pose.

      WordPress can be quite capable when managed correctly. Just don't make the mistake of assuming that you can just install a plugin and get new functionality without any risk. Badly-written plugins are common and they can screw you just as much as an insecure admin account can.

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
  5. So, the problem is.. by Anonymous Coward · · Score: 3, Interesting

    i) Frameworks are too complicated - but poster admits he is not a programmer (hence the framework difficulty) and unqualified to judge their complexity.
    ii) Complains about things being too expensive to make (again, how is he making sites form scratch without being a programmer? I think he must at least have some coding skills, mor than he credits himself with)

    The answer: Frameworks are there to reduce time to market; if he's refusing to use modern tools and frameworks, much is explained.

    (I'm not suggesting frameworks are good in general; but a good framework is good in its niche; you want to put up a blog.. it takes 10 minutes using an existing blogging framework; you want to write it yourself, order of magnitude more time.)

    So .. this is his problem, not a systemic problem?

    -black

    1. Re:So, the problem is.. by AuMatar · · Score: 5, Interesting

      He's making sites from scratch without programming because HTML isn't programming. Most small business/personal websites require little to no work even at the javascript level. He isn't talking about writing a blog, he's talking about a dozen screens for a restaurant with their location, menu, and a few pictures. Which still probably shouldn't be done by hand anymore unless its a personal for fun project.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    2. Re:So, the problem is.. by Intrepid+imaginaut · · Score: 4, Insightful

      (I'm not suggesting frameworks are good in general; but a good framework is good in its niche; you want to put up a blog.. it takes 10 minutes using an existing blogging framework; you want to write it yourself, order of magnitude more time.)

      Problem is it works so well that clients immediately want fifty adjustments not covered by any plugin, and now you're spending ten times longer untangling spaghetti code slapped together by a myriad of well meaning contributors with no interest at all in documentation trying to make that happen.

    3. Re:So, the problem is.. by TechyImmigrant · · Score: 5, Informative

      I can program and I maintain the web site of our family business with as much static html as possible. The actual places where dynamism is required (E.G. class bookings) is handled with CGI in python. Credit card processing is farmed out to stripe.

      Thus the total amount of code that needs to be comprehended is small. A few hundred lines.

      The long term savings in terms of enabling staff to go in and edit stuff live has saved a fortune.

      What works for one business may not work for another. I tried Django and the sheer volume of stuff I needed to do to get the same functionality up was huge and then the staff couldn't edit it because for all that's claimed for Django, there's a big model you have to get in you head before you can start meddling with it, and that means web professionals who cost a lot of money.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
  6. Obviously. by __aaaipu5720 · · Score: 3, Informative

    The technologies are changing quickly. You're going to have to man-up, and keep with the changing market, or else, pay the price. Custom coding websites is all but dead. If you can't build web-applications, you're screwed. Get with the times, or learn what the traditional-media advertising illustrators discovered the hard way.

    1. Re:Obviously. by Intrepid+imaginaut · · Score: 2

      Yeah, we had a guy at work that came from a C programming background that thought the same. But you know what, in software contracting programming that doesn't fly:

      Bluntly, this stuff is a great deal easier than C.

      A: Since it is a waste of time trying to get a bug-free code that you wrote from scratch, instead of using something that does the same and it has been heavily tested by everyone.

      B: The peculiarities of that particular code you write will not have anything close to the documentation you find for some libraries out there, so again, huge waste of time for the whole team trying to understand "your" way.

      Which is great right up until the client requests something not covered in the framework/library, and then hey, you're back in the trenches praying to stackexchange.

      C: The whole oh sorry that doesn't work yet part, but we'll get there. (probably two weeks after the deadline if you ever have time)

      Yes, which is exactly what happens when you're faced with a requirement not part of the framework's capabilities.

      had to act as a mediator to bring some common sense, especially when we had to compete with some other companies that were using the full angular/grunt stack.

      Ever had to explain to a client why you could roll out this great website in a couple of days, but changing the layout of the calendar will take a week or so while you unpick the various files and dependencies? No thanks.

  7. About 7-8 years ago? by Crazy+Taco · · Score: 4, Interesting

    Yeah, the time for coding them from scratch probably passed about 7-8 years ago. Can you still code them from scratch today? Yes, technically you can, but at most employers you would be way to slow on the productivity side. As a web developer and web hosting guy for a large Fortune 500 company, I can tell you that marketers expect to be able to get a very nice site with lots of bells and whistles up within just a few days anymore, with all kinds of custom features that allow them to edit the page without a developer. To meet that kind of demand, you can't code from scratch. You really need to use a CMS tool to handle the editing/admin functionality, and then some sort of RAD framework, whether it be .Net MVC, JQuery, AngularJS, etc (or multiple of these frameworks) to quickly set up the rest of your custom functionality. Otherwise they'll just go to someone else who can do it faster so that they can meet their ever shrinking time to market campaign goals. This, by the way, is one of the reasons I'm no longer a developer. I personally enjoyed the nitty gritty of coding from scratch, and got bored quickly from just doing "information plumbing", where you pull from one or two databases, get to do a tiny bit of code but mostly the framework does everything interesting. I know lots of people prefer that because they don't want to deal with low level stuff, but that's not my bag.

    --
    Beware of bugs in the above code; I have only proved it correct, not tried it.
    1. Re:About 7-8 years ago? by Intrepid+imaginaut · · Score: 3, Interesting

      Except 99.999% of web developers will never work for a Fortune 500 company with those kinds of demands. And even if they do they'll still need to know the code back to front.

    2. Re:About 7-8 years ago? by Anonymous Coward · · Score: 5, Interesting

      I work at Amazon, and I can tell you that there's reams of code written from scratch... and then left to moulder in a corner. Once in a while you might find and old package that still works, saves you a ton of time, and impresses your coworkers, but mostly you'll just get partway through setting it up and you find that it depends on something else that has become incompatible or deprecated.

      Knowing what packages are available, what they do, and whether they're still working is a word-of-mouth operation; people occasionally try to gather this tribal knowledge in a wiki page, but the page usually fizzles out after a little while. After six months someone else starts up another wiki page to do the exact...same...thing. This is also why 'the wheel' has been reinvented dozens of times here.

    3. Re:About 7-8 years ago? by Areyoukiddingme · · Score: 3, Informative

      Yeah, the time for coding them from scratch probably passed about 7-8 years ago.

      Uh huh.

      May I suggest a counterpoint?

  8. Learn by Intrepid+imaginaut · · Score: 4, Interesting

    My advice is to become familiar with HTML/CSS/JS/PHP/MySQL or whatever and build your own stripped down frameworks, basic stuff like a CMS and frontend scaffolding. Then you can adapt that as need be, add bits on or take them away, change it while keeping costs down (since you've already built the basics) and maintain a minimal profile.

    It's not that hard once you start laying the foundations.

  9. Honestly, the web is dead. Abandon ship. by Narcocide · · Score: 2

    There are still tech companies doing stuff that require high-paid expertise, but website design isn't one of those things. So much of the work has been already outsourced to third world countries there's no point anymore in trying when your next cheapest competition is willing to work for 5$ per week. Just get out of the web. Its no longer a high-paid or even respected career choice. You can make better money at Starbucks.

  10. Re:Yes and No by captnjohnny1618 · · Score: 3, Funny

    I should add that I use squarespace and hate it. I do NOT recommend it. Only for the stupidest of folks is it appropriate. Dunno what that says about me that I'm into year two of my subscription...

  11. Re:GoDaddy. by jon3k · · Score: 2

    Except that's existed for the last 20 years and the demand for web developers is growing, not shrinking.

  12. Mod Parent Up by LionKimbro · · Score: 5, Interesting

    Here's my website. I invite anybody to look at the source code, and compare it against your run-of-the-mill WordPress website.

    Here are the 249 lines of Python code that I use to render it. In addition to the source code, there are x6 template files (each less than 1KB large), and x1 CSS file (less than 2KB).

    What the parent post says, rings true to me.

    No need for Django, no need for frameworks, no need for deployment systems beyond DropBox.

    "The long term savings in terms of enabling staff to go in and edit stuff live has saved a fortune." -- This especially rings true to me.

    "I tried Django and the sheer volume of stuff I needed to do to get the same functionality up was huge and then the staff couldn't edit it because for all that's claimed for Django, there's a big model you have to get in you head before you can start meddling with it, and that means web professionals who cost a lot of money." -- And this too. (And I'm a professional Django developer, by day.)

    I heard recently that there are people working on an "Indie Web" concept; I'm all in favor.

    1. Re:Mod Parent Up by buchner.johannes · · Score: 5, Insightful

      Here's my website. I invite anybody to look at the source code, and compare it against your run-of-the-mill WordPress website.

      It doesn't do comments on blog posts, it does not have an interface to post new blog entries, it does not keep track of which articles have been viewed. You might as well generate your pages from templates and serve them statically, 0 lines of python needed on the webserver.

      --
      NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
    2. Re:Mod Parent Up by CAOgdin · · Score: 2

      Frankly, if I delivered that kind of site to my customers, they would never refer me to another prospect. While I applaud your getting it all done with such compact code, it's inflexible, unadaptable, and visually appealing only to the kinds of people who hang out at /. (and they are a small minority in the larger world). Nice job for your particular needs, but for any practical business trying to lure customers, it would could easily be replaced by large boards nailed over the business' front door.

  13. Eff No! by Lije+Baley · · Score: 2

    Man up, and get thee to a text editor!

    --
    Strange things are afoot at the Circle-K.
  14. Your problem... by dark.nebulae · · Score: 5, Interesting

    Your problem is you've mixed design with the site HTML.

    Developers are notoriously bad at design work. Being a developer, I can tell you that we are not usually great at the artsy aspects it takes to design good sites.

    However, if you give us a design, we can transform it (using our preferred frameworks) into a working site.

    Somewhere along the way you got the idea that you can do it all, but that's your problem. You can't (and shouldn't) be coding or generating all of the pages. If your expertise is design, then have at it. But after your design is done, hand it over to a developer for implementation.

    Just as I don't want to see a developer designing, I don't want to see a designer developing.

  15. If you're a trailblazer, yes by Crudely_Indecent · · Score: 2

    There are guys like Matthew James Taylor and David Walsh who code new and innovative interfaces and widgets - but even their sites are database driven (even maybe homegrown) CMS that they use to display their code inventions.

    I write extensions for a popular CMS which make it more useful for myself and others, but an HTML/CSS only designer will have a tough learning curve to jump into that type of development as there are many languages working in concert (PHP/ASP/Java, JS, JSON, XML, SQL, INI, HTML, CSS, ???) with HTML/CSS being perhaps the least used.

    Not that I couldn't, but I wouldn't hand code an entire site these days. Efficiency and productivity is the key now and you just can't compete with a modern CMS in those regards.

    --


    "Lame" - Galaxar
  16. Re:HTML = programming by Anonymous Coward · · Score: 2, Informative

    HTML is a markup language, not a programming language. Creating a web page with HTML is not programming. If you think it is, you're just wrong.

  17. Do your pages load fast? by thogard · · Score: 4, Interesting

    If your page isn't fully loaded in less than 2 seconds over a real world network without using cache, potential clients have will leave before the 1st page load.

    If you can write pages that load fast, keep doing the custom work. If your pages are slow, fix it or fix your technique.

  18. Far better a Restaurant site in HTML... by Nova+Express · · Score: 4, Insightful

    ...than one of those bloated, slow-loading, all-Flash restaurant front-ends that take 20 seconds to load and animate before they show you the location, hours of operation, or any menus.

    --
    Lawrence Person (lawrencepersonh@gmailh.com (remove all "h"s to mail)

    http://www.lawrenceperson.com/

  19. Static website frameworks - the sweetspot! by thatkid_2002 · · Score: 2

    Use something like Nikola or Pelican with [favourite python template system here] to hit the sweet spot between hand-coding/frameworking and CMS. You can adjust any part of the look, feel and templating easily and you can enable customers to have a very easy/cheap way to get the site up, running and maintainable.

    Because it is a static website there is no security maintenance needed. You don't have to be a programmer to work with a lot of these static site generators and the time investment to learn them is quite low in my experience.

    Also, you can always just drop a PHP script (or embed snippets that are compiled in) with the static site to do any dynamic stuff you may need.

  20. Save to PDF by WaffleMonster · · Score: 5, Funny

    Make your websites a PDF file. It will always look and print nicely without wasted time quibbling over screen size, browser compatibility, fonts, CMS security patches or complaints from clients who need your help changing x, y AND z by themselves for free.

    The nice thing about PDF files creating them is just a click away for most WYSIWYG publishing systems and by withholding source document your clients will have no way of making any changes without paying you.

    If you object to my response with reasonable arguments it may be better to consider a different approach better addressing your (customers) specific needs.

  21. Google Sites by pr0t0 · · Score: 3, Informative

    If all your client wants is a simple/stupid brochure site that they can maintain, just build it in Google Sites with a Google account they can own. You can do a whole site in 1-3 hours depending on how much custom graphics you have to build. You can reasonably charge $250-1000 depending on your time, and spend an hour training them on how to maintain it so you don't have to in perpetuity.

    I've done this just a few times now (twice for free), and every time I'm glad I did. The more you dig into it, the more you realize it actually does allow for *some* customization. If you get into the scripting, you can do even more. I see tech-challenged people starting their small (1-20 people) brick & mortar businesses and being totally lost on things like document sharing, company email, web sites, cloud storage, etc. I just hook them up with the Google Business apps...$50/person/year. It's cheap and works.

    --
    I'm sorry, but your opinion seems to be wrong.
  22. Frameworks by corychristison · · Score: 2

    The beauty of frameworks and content management systems, is there are so many of them to choose from. You really need to do your research, and find one with a very simple templating system.

    I, personally, have built my own. I've built and rebuilt it a dozen times now, and it is teetering between framework and CMS. I can crank out a nice, fully responsive, easily managed (with point and click editing) website in an evening.

    My pricing is considered high to other local "shops" (ie. basement dwelling teenagers, or those who outsource to india).

    I compete in the following ways:
    - built fast (depending on project scope)
    - no templates, every project is custom designed and developed
    - complete customizablilty, and purpose built functionality (restricted by budget, of course)
    - actual support (email, or telephone)
    - hosted on our infrastructure

    I will manage every aspect of the site, including content updates, online marketing, and social media.

    Although, I will admit, I make more money building (standards compliant) web based applications for medium sized businesses.

  23. Re:HTML = programming by Dashiva+Dan · · Score: 2

    He's making sites from scratch without programming because HTML isn't programming

    this is just not true

    any time you use code to write computer instructions it is "programming"

    he uses CMSMS, which means he only codes part of the site "by hand"

    internet coding is not complex compared to coding a first-person-shooter, but the demands of the individual coder are different

    i've seen many coders spend 10 minutes writing some executable code then spend an hour figuring out how to get it to go where they want in the HTML page on a website to look right

    HTML is structure and layout, not programming.
    CSS is structured storing of display values, not programming.
    Using a structured specified format to lay out static structural content is not quite the same as "computer instructions" Unless you call using notepad to write a shopping list "programming" (you're using the code of the alphabet to instruct the program to display them in a specific static order.....)
    If you need your site to do more than display pages of content, you need something more.
    A programming language of some sort.
    There's javascript, python, php, asp, etc, etc, etc... All web programming languages.

    Show me the pseudocode version of something written in pure html and css, and we'll see how much programming is involved.
    Show me how HTML manages mutable variables, and basic logic structures and loops....

    --
    "lt;dr" is the correct response to most of my posts.
  24. That's WordPress in a nutshell by Wrexs0ul · · Score: 5, Insightful

    WordPress is the store-bought bread solution. Does what most people need, is advanced enough that most work can be done through the admin GUI, and plugins are easy enough to build that a fellow by-hand person can figure them out without too much difficulty.

    The only caveat I'd put on using WordPress is that you need to treat updates like you would on Windows: make sure your WordPress core and plugins are always up to date. Its huge user-base means there's a lot more hackers running automated exploits that'll bog-down a web hosting server if you get compromised, and that might get your account suspended. On our shared hosting we're now recommending clients install WordPress via Installatron (a cPanel addon) and have it automatically patch everything by default.

    Simpler sites, but more OS-level issues from going mainstream.

    --
    --- Need web hosting?
    1. Re:That's WordPress in a nutshell by Anonymous Coward · · Score: 5, Interesting

      Wordpress is a goddamn mess.

      The average person who uses wordpress, doesn't update anything, and there are theme/plugin developers who push needless feature creep into their updates, and sometimes completely obliterate a clients site because the update conflicts with other shit plugins they were told they needed in the name of security (eg Wordfence) or Mobile compatibilty (Jetpack)

      Here's the dealy-o...

      If you want a site to look a specific way, create a mock-up in Photoshop, Illustrator, Flash, I don't care what you use, but then send that to someone who knows how to code HTML from scratch. That will get you a static page, and you can test how slow or fast it is. Then you ask someone to wrap the CMS around the theme, not try to hammer the theme into a CMS. Wordpress is often too much for the average person, and is touted by cheap webhosts as a way to get a "Business card" website up. You can't run a serious website on Wordpress AND use a cheap host. Cheap hosts do not install the necessary opcode caches that are required to make the site not run slow and load-spike the server (Dreamhost will just nuke your site if it overloads... because they don't install any php opcode cache.)

      What PHP was designed for, was mixing code and PHP together, so it would be compiled once and run many times. But CMS's use PHP's OOP features to make it a hell of a lot more complicated.

      My "hand tuned" CMS takes less than 1MB of RAM to run, and less than 1MB of opcode cache space, and performs 100x better than Wordpress does. My static-page generating CMS that uses Perl, performs even better than any PHP cms, but because it has to generate static files, it's not a good fit for readership engagement (short of disqus or intensedebate on the pages.)

      And while I'm complaining about Wordpress, I'll mention that I've used other CMS software before, and I would turn my nose up at all CMS solutions unless they were being rolled out onto a large site that has it's own maintenance crew. Drupal or Joomla should only be used if you are using the CMS for absolutely everything, and everything on the server goes through it. Wordpress likewise should be used that way too, but it's difficult to use that way because it contains no security partitions what-so-ever, so one bad apple will spoil the entire system. Hence you end up with a server with 20 independant installs of wordpress, where one of those sites can make the server fall over because the idiot insists on not running the caching plugins because the readership engagement is too fast.

    2. Re:That's WordPress in a nutshell by Cederic · · Score: 2

      Anybody discounting PHP based solutions based on them being based on PHP doesn't have an opinion I want to base my decisions on.

    3. Re:That's WordPress in a nutshell by Curunir_wolf · · Score: 2

      You can't run a serious website on Wordpress AND use a cheap host. Cheap hosts do not install the necessary opcode caches that are required to make the site not run slow and load-spike the server (Dreamhost will just nuke your site if it overloads... because they don't install any php opcode cache.)

      That's not necessarily true (depending on how you define "cheap" hosting services). You may have to shop around a bit, but I've found that most commodity hosting services support at least Zend opcache, or they can support php 5.5, which includes opcache out of the box.

      --
      "Somebody has to do something. It's just incredibly pathetic it has to be us."
      --- Jerry Garcia
    4. Re:That's WordPress in a nutshell by John+Bokma · · Score: 2

      Or maybe he knows exactly what he does; how does the exported HTML compare to handcoded HTML?

    5. Re:That's WordPress in a nutshell by Enfixed · · Score: 2

      Like every other tool that has an "export to HTML" option: Complete unreadable garbage.

      --
      Sigs are bad for you...
    6. Re:That's WordPress in a nutshell by Dashiva+Dan · · Score: 2

      Ahh, as you said, same mysql interface used in many other languages. The problem was never that "The old MySQL wasn't secure" - I actually think the new mysql implementation is too much hand holding and coddling. I've been writing in PHP using MySQL for over 15 years now, and I did/do my own security on for it, same as I wrote/write my own user authentication, and specify htaccess rules, and set up firewalls (or have the sysadmin do it for me)... The problem with PHP is also what makes it so good: It's easy to get into. And that's great, When interviewing for more PHP developers, it's really not hard to tell which ones are programmers and which aren't.
      Whatever the field, it's good to have an easy-access at entry level tool that's capable of, when you learn it properly, full commercial-grade applications.
      PHP is a lot like photoshop: Easy to get started in, and make a mess with, and if skilled, and you master it, capable of top quality professional work, but just because there's a lot of "I'm a designer, I've got a mac with photoshop" or similar, it doesn't mean the quality of work is there.
      Most other web development languages have smaller "user bases" and higher levels of entry, so the problem is far less prevalent, or they're frameworks that allow lesser skilled developers to produce 'working' product without needing to even think about things like security. But hate the player, not the game :)

      --
      "lt;dr" is the correct response to most of my posts.
  25. The time for "from scratch" is gone for ALL of IT by msobkow · · Score: 4, Insightful

    I can't think of a single thing I do or would want to do with a computer that doesn't have some sort of toolkit, library, framework, or other component out there to get a "leg up" on doing the work, unless you're only doing the most basic and simplistic pieces of code or presentation. In the case of HTML, that means a text document without images, video, or sound; never mind "active" components of the interface via JavaScript.

    The hardest lesson to learn as a programmer is that "not invented here" is code for "I am too arrogant to use someone else's solution."

    --
    I do not fail; I succeed at finding out what does not work.
  26. CSS by hcs_$reboot · · Score: 2

    Using a framework would really make sense for the client side, imo - ie CSS, Javascript, HTML, to cope with browsers differences and other language peculiarities, the result is usually immediately visible, tangible. The server side otoh may require more attention to detail if data from client is checked / analyzed / processed / stored - leaving that responsability to a framework will likely produce a lot of spaghetti code doing only approximately what you want, and any manual maintenance (ie modify the resulting code directly) is hard and cut the consistency links with the FM.

    --
    Slashdot, fix the reply notifications... You won't get away with it...
  27. I would be nice if popular CMS's were not so slow by mike2006 · · Score: 2
    If page response is greater than 2 seconds clients will leave and last time I looked that was still a problem with many of the CMS's out there. I end up encountering very large databases with unique tools that are a pain to integrate.

    Because of that I continue with my own CMS or create my own then feel foolish for doing so rather than figure out how to get around the integration problems or break them apart to improve their performance.

    Anyone else go through this?

  28. designers are fucking awful! by Anonymous Coward · · Score: 2, Insightful

    Design right now is the biggest fucking problem.

    I see the shit going up these days that's designers are crapping out, yes the designers, and I want to see the developers going back to doing the design.

    Crap like: ohh look we have continues pagination on a page, and see the floating search/header bar that scrolls down the page as you scroll. And pages that transform as you type into the search bar.

    It's fucking awful! Stop that shit!

  29. Re:I would be nice if popular CMS's were not so sl by Yosho · · Score: 3, Interesting

    Anyone else go through this?

    Nope. Throwing faster hardware at a problem is much cheaper than having a team of developers spend weeks optimizing a framework or making a new one.

    --
    Karma: Terrifying (mostly affected by atrocities you've committed)
  30. I build modular sites by HalAtWork · · Score: 3, Interesting

    Now I have a repertoire of modules I can use to put together a site for a given situation.

  31. Re: Windows XP has been insecure for nine months by Billly+Gates · · Score: 2

    Wrong. Your customers and customers customers decide when you don't support your OS and ancient version of IE.

    XP still has more daily users than all of Macosx and will continue to be used for another decade. Just because update isn't supported anymore doesn't mean the average IE 8 user who doesn't know what a browser even is will stop using it until the machine no longer turns on.

    He will think you suck and not his platform

  32. Yuck by SuperKendall · · Score: 5, Insightful

    You wouldn't grow your own wheat, sugar cane, raise chickensc, etc for the ingredients for your choclate chip cookies. Just go buy the dough from the store.

    That's quite a leap man. No I would not grow my own sugar cane, but store bought dough is disgusting compared to small effort to make your own cookies from ingredients you buy at a store...

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  33. Static website frameworks - the sweetspot! (YES!) by jtara · · Score: 2

    And for Ruby fans there are Middleman and Jekyll (among others) with [favorite Ruby template system here].

    In fact, you can mix and match templates from like a couple-dozen choices, (using partials) even in the same page. Write headers, footers, menus, etc. in Slim, body text in Markdown, head material (script and style links, etc.) in ERB etc. etc. etc.

    Slim is great for fine-grained elements - it's got the wierd HAML-like syntax but without the stupidity of HAML. Takes some getting used-to, but perfect for the 2 to 10-line partials I write for table cells, list items, list containers, menu choices, etc. Markdown is great for writing text content that is actually readable in source form. sometimes you just want good-old ugly ERB.

    I use Middleman for PhoneGap/Cordova projects. I want to throw things when I see people hand-coding Phonegap documents and then doing mass edits when they change their minds about structure or appearance! Use a damn SSG! Please stop the cut-and-paste madness!

    I also use build tools like rake to make custom "pre-build" systems even when I DO have a framework. I've done this to create a family of similar mobile apps. Here's a presentation I did on it at Motorola AppForum 2014. The first half is probably of interest here. (The second half is way RhoMobile Rhodes-specific, and afraid it is lacking the audio - the first half is pretty understandable from just the slides.)

    Large-Scale Multi-App Development Using Rhodes

    While I don't typically create websites (I write hybrid mobile apps) this can also be a great approach for websites if you need to "brand" similar sites for multiple clients, and then each site wants somewhat different features. The above link shows how I created 6 form-filling data-collection apps with similarities but considerable different details, with something like 80% of the app code shared. The same techniques can be applied to websites.

  34. Has this person even heard of Sinatra? by flajann3290 · · Score: 2

    Not all frameworks are bloated and complicated. You can throw a website together with Sinatra pretty quickly, with just a few lines of code.

  35. Become a Brogrammer by Moblaster · · Score: 5, Insightful

    Don't bother coding from scratch. Any client for whom money is an object, you're better off just hanging out and drinking beers with as you co-plan world domination. Eventually if you ask enough detailed product spec questions the client will realize they are in over their heads, get intimidated and abandon the project. They got off lucky. You got free beer.

  36. Re:HTML = programming by TheRaven64 · · Score: 2

    You mean declarative, not functional. HTML does not have functions, which is a big clue that it isn't a functional language. Your other examples are just plain wrong (SQL is definitely not a functional language and isn't even a declarative language, PostScript is imperative language and is a functional language if you squint a bit).

    --
    I am TheRaven on Soylent News
  37. Re:HTML = programming by TheRaven64 · · Score: 2

    The simplest place to draw the line: Does it have conditional flow control? If so, it's a programming language, if not then it isn't. If you can't write some equivalent of an if statement, then it's not a programming language. There are some languages (e.g. BPF bytecodes) that are intentionally not Turing Complete, because having finite and deterministic run time is a design goal, so they omit loops, but they do have conditionals (but only forward branches).

    --
    I am TheRaven on Soylent News
  38. Re:The time for "from scratch" is gone for ALL of by NickFortune · · Score: 3, Insightful
    p>

    The hardest lesson to learn as a programmer is that "not invented here" is code for "I am too arrogant to use someone else's solution."

    Well sure. No one should ever invent anything without written permission from the Flying Spaghetti Monster, countersigned by Bill Gates, His Holiness the Pope and the ghost of Alan Turing. I mean everyone knows that!

    Seriously, I quite agree with Dutch Gun's point that we all build on the work of others. I just think that blindly accepting third party solutions can be just as bad as blindly rejecting them. And if no-one ever reinvented the wheel, we'd probably still be coding in COBOL

    --
    Don't let THEM immanentize the Eschaton!
  39. Depends on the need... by itsdapead · · Score: 2

    I'd ask yourself (or the client):

    1. Is the content regularly changing?
    2. Does the client want to update and add content themselves?
    3. Are they happy with a slightly generic look and structure rather than a completely bespoke interface?
    4. Do they want 'blog' functionality - i.e. users can comment directly on each article?
    5. Do they want a system where the bloody <ol> tag is still bloody broken? :-)

    If the answer to several of those questions is "yes" and you don't already have a bulging toolkit of your own solutions, then I'd go with off-the-shelf CMS or blogging software. Alternatively, you could do a really nice front-end "sales brochure" in lovingly handcrafted HTML and then link to a CMS/Blog for news, support, customer forums etc.

    Frameworks... can have uses but beware the "rapid application development" tarpit whereby you get your basic site/application working in record time and then hit a brick wall because you need to do something that the framework designer never anticipated.

    --
    In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
  40. Time to fire stubbornly insecure customers by tepples · · Score: 2

    Your customers and customers customers decide when you don't support your OS and ancient version of IE.

    When your customer can't take standard measures to protect the confidentiality of its own information or the information of your "customers customers", it's time to fire a customer.

  41. Off-the-shelf vs. custom by Anonymous+Brave+Guy · · Score: 2

    Your food analogy works quite well, I think.

    If I want a quick but useful meal when I get home after a very long day, I can pick up a ready meal from the store and throw it in the microwave or I can stop by a burger joint and get some fast food. This requires negligible effort and makes me not hungry any more.

    Alternatively, I can pick up some meat and vegetables and a tin of sauce from the store or the market and cook something myself following a recipe in a book. This requires more work from me, but it probably tastes better and/or costs less and/or has nutritional benefits over the ready meal.

    If I want a superb dinner, I will go to a good restaurant and let their chefs make dinner for me. They are going to make everything fresh from their own choices of raw ingredients and to their own recipes, but they will do a much better job than me, producing a meal where everything goes together perfectly, the nutrition is balanced, and the presentation is excellent. Of course, I'll have to wait while they prepare and cook the meal, and I'll have to pay more for it.

    If you want a self-hosted blog site in half an hour, nothing will be faster than installing ready-made blogging software like WP and configuring it for a few minutes.

    If you have more demanding requirements but you're still basically talking about a form-based front-end for a CRUD app, you can probably get that done quickest by developing with heavy frameworks like React or Angular.

    If you want to build something larger and more specialised, where you need greater levels of control and flexibility, you'll probably be better off putting together a team with the skills to build anything you need entirely bespoke. They can still use existing tools if and when they're actually useful -- going this route does not mean you build every last detail from scratch -- but crucially, they'll have no problem creating something new if that gets better results and they won't have any clutter getting in their way when they do so.

    Obviously the price, timescales and quality of results all increase sharply from each of these levels to the next. You need to decide how important that fine tuning really is for any given project, and look at your budget and timescales, and then build the best thing you can within your constraints.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  42. Still Disgusting by SuperKendall · · Score: 2

    12 minutes later, hot chocolate chip cookies.

    Make cookies with a recipe that uses actual butter just once and compare them you to "Toll House" and you will never go back.

    Plus you get to decide the kind and QUANTITY (hint: a lot) of chocolate you use in your own custom cookies. And it's really simple to just add a few things together to make real cookies.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  43. you nailed it by h2h · · Score: 2

    This is a pretty accurate summary of how you actually do real web development, and why wordpress sites (that are not priimarily blog oriented) suck. The problem is and always has been amateur or incompetent web 'designers', they used to make Flash sites, remember those?, because all they could do was flash, now they make these wordpress/jquery monstrosities, both are dead ends for the client, since it's very hard to impossible to maintain the stuff over time, and it's almost always a bad way to do a real site, though, exactly as with Flash, they look nice and shiny when you first see them. Developers think of that type of problem, designers don't, and that's how you can tell if you are a designer type or a developer type. Now, if all you have are small time clients, who cares what you use, the ones that are serious will learn and fix the mistake by going more pro, the ones who don't, will stay small, the rest will end up with what they always end up with in the end, nothing.

    For the guy who said you don't know what you're talking about, re hand coding the photoshop design, that is a clear indication he/she has no clue about what they are talking about, since this is how you do it if you are a pro. Anyone who uses export to html from any software product and believes that's a good idea is obviously an amateur or a typical web designer trying to be a web developer but not knowing how to code.

    If I explain to a client the role of a designer, I will tell them, they are about 1 to 5% of the project, and they follow what we tell them to do. As time goes on, and with real web development, the site does in fact go on, not grind down into a steaming pile, that percentage gets smaller and smaller. The developer{s) is (are) the rest. I have actually gotten good code from designers by the way, clean high quality css/html 5, because we spec'ed css/html5 as a requirement, took a few tries to find someone competent though, so I'm not going to diss all designers, just most of them. And the ones that understand the work flow, design to specs, hand off design to those who code the design, implement as a template, are also great to work with, so it's really just this niche of 'designers' who have no clue how to do anything but still try to make sites, that are the problem, but even they are fine since the web will always have this low end thing, that successful people/site owners come away from after being burned a few times by it.

    A quality CMS that is picked to meet the needs of a client, which is the correct choice for almost all websites that are not blogs (and wordpress with good clean templating is a good choice for a blog, I would use that too), is a fine way to make sites. But the problem is, a quality cms is sort of hard to run, and not always easy to update/upgrade. And too many people view the choice as wordpress or drupal, both of which are awful choices for most websites, unless you are running a blog or a huge heavy traffic heavy content update type site like, whitehouse.gov, for example. Between that are many options, some, like Modx, are developer oriented, and really a joy to run, but just happen to create by default exactly what most site owners actually want, a cleanly templated and easy to update and operate website that is a hierarchically organized collection of resources with a standard navigation to access them, that office staff can run by themselves, with the developer just adding features as required by the admin staff. I was somewhat amazed when I started seeing these wordpress monstrosities appearing, it was instantly obvious based on the terrible templating and implementation that these would inevitably fail on upgrades at some point because of too many conflicting extensions etc, besides being terribly slow and absurdly inefficient.

    But as with all bad designer fads, as clients realize they are left with unusable junk, this fad too, like flash sites before them, will fade away, and the site operators who are going to succeed long term will move to professional solutions, an