AMA: Computer Specialist

Mundane & Pointless Stuff I Must Share: The Off Topic Forum

Moderator: Moderators

User avatar
Blasted
Knight-Baron
Posts: 722
Joined: Wed May 26, 2010 5:41 am

Post by Blasted »

Crissa wrote:No, it's not 'wrong': It's overly simplified.
No, it was wrong.
Specifically, CPUs are always taking on *more* functionality and single instructions are still being made faster.
User avatar
Gelare
Knight-Baron
Posts: 594
Joined: Sun Aug 10, 2008 10:13 am

Post by Gelare »

Blasted wrote:Of course, for the most part, SSDs have removed the reason to defrag and if you're obsessing over moving files to the edge of the disk, I think they're very much worth the cash.
I hear that solid state disks are much more expensive per gigabyte than normal hard disks. I've heard about people putting an SSD and a normal hard disk in the same computer, and putting the operating system on the SSD to speed startup. Does that, like, work? Does it cost a lot, is it easy, are there a lot of things that can go wrong with it, is it recommended?
User avatar
Blasted
Knight-Baron
Posts: 722
Joined: Wed May 26, 2010 5:41 am

Post by Blasted »

Gelare wrote: I hear that solid state disks are much more expensive per gigabyte than normal hard disks. I've heard about people putting an SSD and a normal hard disk in the same computer, and putting the operating system on the SSD to speed startup. Does that, like, work? Does it cost a lot, is it easy, are there a lot of things that can go wrong with it, is it recommended?
I use an SSD/HDD setup on my personal computer and it works a treat. Apps, OS on the SSD, data on the HDD.

It does cost quite a bit, but with no moving parts they are a great deal more reliable than an HDD. Their end of life failure mode is very nice as well, instead of failing by losing data, old SSDs simply fail to write. You can still read the data off again. Always backup though - with any type of storage.

Their biggest downside is cost and as always, if you've an enterprise, use an enterprise level drive.
User avatar
Crissa
King
Posts: 6720
Joined: Fri Mar 07, 2008 7:54 pm
Location: Santa Cruz

Post by Crissa »

Blasted wrote:No, it was wrong.
Specifically, CPUs are always taking on *more* functionality and single instructions are still being made faster.
No, it's not. There are four basic method for changing how processors get 'better', and I outlined them.

Not every iteration is faster or have more functionality. In total, sure, there is always something better and faster this year. But changes have not always been in a single line - the processor in your phone is a child of technology developed for bigger computers, and yet it is much slower and with fewer functions!

As for PCs The instruction set from Pentium 64 to today has not much changed. In other words, some of us have been playing with a 64 bit OS for about a decade - because we get more performance from adding layers of caches or exporting processing to daughter components, or bringing them on-board to the central chip. It varies.

-Crissa
User avatar
Blasted
Knight-Baron
Posts: 722
Joined: Wed May 26, 2010 5:41 am

Post by Blasted »

Crissa wrote: No, it's not.
...
Not every iteration is faster or have more functionality.
Each iteration of the current series of cpus from Intel and AMD have offered extra instructions. So yes, they have added functionality.
As for PCs The instruction set from 8086 to today has not much changed. In other words, some of us have been playing with a 8bit OS for about three decades - because we get more performance from adding layers of caches or exporting processing to daughter components, or bringing them on-board to the central chip. It varies.
The same argument can be made for any x86 processor. Extra functions have never been the primary manner of increasing performance. Still, it has been done on each iteration of new chips.
Last edited by Blasted on Tue Jun 22, 2010 5:55 am, edited 1 time in total.
User avatar
Crissa
King
Posts: 6720
Joined: Fri Mar 07, 2008 7:54 pm
Location: Santa Cruz

Post by Crissa »

Like I said, you're being pedantic.

You can't be pedantic and expect someone unversed in the subject to understand.

-Crissa
User avatar
Murtak
Duke
Posts: 1577
Joined: Fri Mar 07, 2008 7:54 pm

Post by Murtak »

Gelare wrote:I hear that solid state disks are much more expensive per gigabyte than normal hard disks. I've heard about people putting an SSD and a normal hard disk in the same computer, and putting the operating system on the SSD to speed startup. Does that, like, work? Does it cost a lot, is it easy, are there a lot of things that can go wrong with it, is it recommended?
It works just fine. You have to spend a couple of hundred dollars even on a small SSD though. Whether that is worth the cost depends on you. A basic outline:

SSDs are much faster than HDDs, in pretty much every benchmark. However HDDs are plenty fast for most needs. As long as you can keep the rest of the computer busy, everything is fine, right? And SSDs, though fast, are not fast enough to make swapping to disk painless. So the gain is not in being able to push around gigabytes of data that much faster. You can do that, but it is not particularly noteworthy (and you could already do that with a RAID setup). The gain is in being faster when reading or writing small chunks of data. Much faster. We are talking several orders of magnitude here. And since many programs do in fact need to load a couple of hundred small files, especially at startup, this is very noticeable. When you start, say, Firefox from a HDD you are going to have to wait a while. Much of that time is just the HDD seeking your files. On an SSD this time is nearly eliminated. The gain is much less pronounced on large files. So opening a large image in Photoshop might be a little faster, but starting Photoshop is going to be much faster. This of course means SSDs lend themselves well to installing software on them and keeping the data on a HDD.

SSDs also have some fringe benefits. They consume less energy, do not get hot and contain no moving parts, which translates into shock resistance. All of that is great for laptops, but only "nice to have" for desktops. The only thing you are really going to notice is loading speed. But that one thing is big, for me at least. My home computer has a fairly loaded Ubuntu running on unimpressive hardware. I installed a ton of crap on it and never bothered to tweak any settings. My load time, from boot manager to login screen, is 7 seconds. After entering my passwords it takes another 1 or 2 seconds to the desktop. After that, most things are instant. Firefox loads in under a second. So does e-Mail. Open office takes a second, possibly two. That is absolutely huge to me, and I hate working on other computers now. Realistically though it only saves me a couple of minutes each day.

Now, if you do decide to buy a SSD, you have to watch out for some clunkers. First generation SSD controllers were mostly crappy, negating all the possible gains (and then some). I can go in greater detail if you like, but basically you want an Intel SSD (not the 40 GB one) or something with an Indilinx or Sandforce Controller. Samsung's SSDs are ok too, from what I remember. Most everything else is crap, and probably slower than a HDD in everyday use.
Murtak
User avatar
Crissa
King
Posts: 6720
Joined: Fri Mar 07, 2008 7:54 pm
Location: Santa Cruz

Post by Crissa »

I love SSDs. I'm really glad they're down to where mere mortals can afford them.

One of my favorite internet services I use has had the entire database and program stored on gigabytes of solid state memory for twenty years... Although when it started it wasn't possible to /have/ gigabytes of RAM.

RAM disks used to be very common, but became less and less so as drives became faster and faster and RAIDs more compact and easily maintained.

-Crissa
cthulhu
Duke
Posts: 2162
Joined: Fri Mar 07, 2008 7:54 pm

Post by cthulhu »

Is Grails, Rails, Groovy etc ready for prime time in a -smallmedium sized government agency as the applications platform for business critical applications, rather than a more traditional choice based on the IBM/Oracle Java + Websphere/Oracle BPM stack or a MS .NET Biztalk/Sharepoint stack

Probably a small agency by US standards, think a small-medium agency in one of the larger US states other than California.

I have my own views, but I'm curious - sources/success stories etc are intresting, if you've got that involvement in government tactically you'll understand the issue.
Last edited by cthulhu on Tue Jun 22, 2010 7:43 am, edited 4 times in total.
User avatar
Crissa
King
Posts: 6720
Joined: Fri Mar 07, 2008 7:54 pm
Location: Santa Cruz

Post by Crissa »

I don't think it would perform worse than .NET. But Oracle does have experience advantages at large scales.

-Crissa
cthulhu
Duke
Posts: 2162
Joined: Fri Mar 07, 2008 7:54 pm

Post by cthulhu »

Anything that can remotely scale to enterprise levels is fine, transactional volumes and datastores are not at the level where I would worry. Oracle 11g is more than they can ever realistically use over the horizon for any platform.

Both SQL Server, Oracle, DB/2 all have the level of scalability and performance. I need robust analytics, but have Cognos and will license whatever.

I'm just not sure how can you match (can you?) sharepoint + biztalk server or Oracle BPM/Fusion vs what the hell in grails? Do I jettison Sharepoint/Oracle BPM, or does grails only come in effectively to do the intergration of the relevant components across the applications stack?
Last edited by cthulhu on Tue Jun 22, 2010 7:59 am, edited 2 times in total.
User avatar
Murtak
Duke
Posts: 1577
Joined: Fri Mar 07, 2008 7:54 pm

Post by Murtak »

cthulhu wrote:Is Grails, Rails, Groovy etc ready for prime time in a -smallmedium sized government agency as the applications platform for business critical applications, rather than a more traditional choice based on the IBM/Oracle Java + Websphere/Oracle BPM stack or a MS .NET Biztalk/Sharepoint stack
Well, I am working at a private company in Germany, but Rails is fine for business-critical applications in my opinion. Sure, Java is more "enterprisey" (whatever that means) and most importantly faster, but at least for our needs Rails is great. We are basically trading application speed for greater development speed. Since Ruby/Rails performance is a drop in the bucket compared to database accesses anyway the cost is negligible and the speedup in development is huge. I am sure my Java is rusty, but I can't even imagine attempting some of the stuff I get working well enough to demonstrate a feature in a couple of hours. Also I can only talk about Rails, I've never used Grails.



Edit:
cthulhu wrote:I'm just not sure how can you match (can you?) sharepoint + biztalk server or Oracle BPM/Fusion vs what the hell in grails? Do I jettison Sharepoint/Oracle BPM, or does grails only come in effectively to do the intergration of the relevant components across the applications stack?
I was under the impression that sharepoint lets you do something like picking a data source and making it available via SOAP and mentally filed it under "unneeded graphical interfaces". I have to admit that I have a tendency to zone out when confronted with buzzwords though, so I is likely I have missed something.

Rails is basically a shortcut to automate the most common tasks when setting up a standard web application with database access. There are many modules you can tack on and newer versions can be trimmed down to the bare minimum needed to get stuff on the web but that is general idea: cut out all the repeated crap you do every time you get an application on the web/intranet. If you want SOAP support you install a module (most likely in gem format), generate some code and a couple of minutes later your server is spitting out and listening to SOAP format requests. Basically no more time-consuming to get running than filling out a wizard, but if you need to change anything you can.

Can you give me a more concrete example of what you need to do? "Matching some-program-or-combination-of-programs" is rather vague.
Last edited by Murtak on Tue Jun 22, 2010 8:43 am, edited 1 time in total.
Murtak
cthulhu
Duke
Posts: 2162
Joined: Fri Mar 07, 2008 7:54 pm

Post by cthulhu »

So do you build the business process management layer in rails? How do you intergrated into legacy apps?
User avatar
Murtak
Duke
Posts: 1577
Joined: Fri Mar 07, 2008 7:54 pm

Post by Murtak »

cthulhu wrote:So do you build the business process management layer in rails?
Yup. Or rather, in ruby. Rails is just a huge set of defaults to get you up and running. All coding is done in Ruby (internally) and HTML/Javascript (the UI and presentation).


cthulhu wrote:How do you intergrated into legacy apps?
If it's just stuff in a database, access the database.
If it is some application you can exchange data with, do that.
If you are willing to do some low level programming, call the old application from Ruby.
Otherwise you need to reimplement the old application.
Murtak
User avatar
Murtak
Duke
Posts: 1577
Joined: Fri Mar 07, 2008 7:54 pm

Re: AMA: Computer Specialist

Post by Murtak »

Somehow I forgot to ask my original question:
krainboltgreene wrote:Ask me anything (Even RPG related).
Do you know anything among the lines of Shoes that is not continually in beta, or at least works on both Linux and Windows? Preferably ruby, but I am willing to look into any language that is not too verbose.
Murtak
cthulhu
Duke
Posts: 2162
Joined: Fri Mar 07, 2008 7:54 pm

Post by cthulhu »

Murtak wrote:
cthulhu wrote:So do you build the business process management layer in rails?
Yup. Or rather, in ruby. Rails is just a huge set of defaults to get you up and running. All coding is done in Ruby (internally) and HTML/Javascript (the UI and presentation).


cthulhu wrote:How do you intergrated into legacy apps?
If it's just stuff in a database, access the database.
If it is some application you can exchange data with, do that.
If you are willing to do some low level programming, call the old application from Ruby.
Otherwise you need to reimplement the old application.

Yeah, this seems like the problem. There are 9 databases (of varying levels of criticality, and I'm ignoring the pure line of business apps) several core business apps that stretch across multiple lines of business.

Integration is a bitch anyway, but if Grails or Groovy isn't really stepping up, not sure the value can be leveraged.

Thats the bit I don't see - biztalk or fusion gives great intergration options.
User avatar
Murtak
Duke
Posts: 1577
Joined: Fri Mar 07, 2008 7:54 pm

Post by Murtak »

cthulhu wrote:Thats the bit I don't see - biztalk or fusion gives great intergration options.
And that is what I don't see when I look at the homepages for those products. What do they actually do that makes them great at integrating anything? How do they help you so to access your legacy applications? All I see is marketing and buzzwords - and that immediately makes me think the product is useless.

An example:
I have an old application, let's say someone wrote a single user Access application, just a couple of dozen tables and some views and entry forms. This was then handed out to a hundred employees and used for a couple of years. Now it is time to pool all the data into a single intranet application, completely redo the presentation but keep / reimplement the logic. However other applications still accesses one of the access databases, so you need to synchronize to that DB. Talking directly to the other applications is not possible.

How does Biztalk help me here?
Murtak
cthulhu
Duke
Posts: 2162
Joined: Fri Mar 07, 2008 7:54 pm

Post by cthulhu »

Murtak wrote:
cthulhu wrote:Thats the bit I don't see - biztalk or fusion gives great intergration options.
And that is what I don't see when I look at the homepages for those products. What do they actually do that makes them great at integrating anything? How do they help you so to access your legacy applications? All I see is marketing and buzzwords - and that immediately makes me think the product is useless.

An example:
I have an old application, let's say someone wrote a single user Access application, just a couple of dozen tables and some views and entry forms. This was then handed out to a hundred employees and used for a couple of years. Now it is time to pool all the data into a single intranet application, completely redo the presentation but keep / reimplement the logic. However other applications still accesses one of the access databases, so you need to synchronize to that DB. Talking directly to the other applications is not possible.

How does Biztalk help me here?
Okay, scenario:

14 core business applications in a combination of lotus notes (I know!) and PL/SQL/Oracle Forms, supported by Notes sequential database capability a number of Oracle DB instances. Some are deployed by Lotus notes web, some is accessed via Citrix. Total data holdings is only a couple of terabytes, but there is duplication up the wazoo. Functionality is an extranet for customers, online process, business user workflow, monitoring and some BI.

In addition to these core holdings there is a number of purely silo'ed systems that I'm still trying to get to grips with inside and outside of IT, some of which have been point solutions by a cowboy saying 'well, IT won't do X so I will' in various languages, plus a number of access databases embedded into the business used for work flow management and reporting. Most of them import/export from bits of the two of the core PL/SQL applications

Finally this also needs to connect to a payments engine in SAP, and we're looking at doing a drop of a Siebel (brand not confirmed) CRM into the environment as well.

That's a very high level overview of 'the problems' Ultimately this a mess and unsustainable. However, any 'big bang' replacement is completely futile as well, so I need a phased approach that's going to enable me to hollow out each application and redevelop in turn over a 5 year strategic planning horizon, and I need to resolve a major data integration issue (being in that I don't have any).

However, I'd also like to preserve a rapid application development (RAD) capability, hence my interest in groovy or whatever - this is all relative and we can never be as snappy as a fresh startup, but I'd love to be able to deliver a more cyclical development cycle with frequent updates, as the users cannot spec requirements to do a big bang and need proof of concepts and prototyping.

So I need a staged approach where I connect everything up with ESB (some of the interfaces have massive reliability problems now, so I can get some quick wins here), then expand the middle ware as I go through hollowing out each of the business applications as I go. both ESB's I've tossed up have canned modules to integrate with all products I have, and stuff I want in the future (Be great to do web services to external clients in the future).

It is all B2B

Features I want:

Rapid integration of all components - the ESBs mentioned to date have canned integration adapters to big components of my infrastructure, and can spit out services that I want in the future (particularly web services because I'd love to give end users that) - with some developer work. They key here is enabling me to build an integration layer (which needs to be expanded from current state anyway) and then enable me to take the silos apart one by one. It's not a big deal, but it is important for the phased implementation approach.

For example, what it would let me do in your world (but relating it to my world) is provides a framework to integrate access' relational database into a notes sequential database, where both have completely different data models, and then provides an reasonably robust adapter so I can snap out notes for sharepoint later.

But really that's a trival solution that you could do with ODBC and a bit of jiggery pokery. I need something that will intergrate custom business rules, SAP and Siebel on a number of levels - because I need a single human centric process to go via new stuff into legacy, back, legacy, back, SAP and back again - so sharing not just at the data level, but also at the process level.

Sharepoint or Oracle BPM give me GUI's that BA's can use to make changes to the business work flows without involving a developer (with some sweat).

I need biztalk and sharepoint to provide the MS stack solution - It's different for oracle and IBM, but I'm still at the business case level. We have relationships with those three providers already so they are front runners.
Last edited by cthulhu on Tue Jun 22, 2010 12:58 pm, edited 5 times in total.
krainboltgreene
Apprentice
Posts: 50
Joined: Sun May 30, 2010 6:15 am
Location: Eugene, Oregon
Contact:

Post by krainboltgreene »

Wow, lots of questions!
One of my favorite internet services I use has had the entire database and program stored on gigabytes of solid state memory for twenty years... Although when it started it wasn't possible to /have/ gigabytes of RAM.
Check this out: http://rethinkdb.com/

Is Grails, Rails, Groovy etc ready for prime time in a -smallmedium sized government agency as the applications platform for business critical applications, rather than a more traditional choice based on the IBM/Oracle Java + Websphere/Oracle BPM stack or a MS .NET Biztalk/Sharepoint stack
First off, Grails is a web framework built with the Groovy language (OOP Java). Rails is a web framework built on Ruby.

Grails and Rails are about as similar as Apples and Oranges. That is to say: They're both frameworks. Frameworks are a Big Fucking Deal when you start talking about the weight category that Rails exists in. Rails is used by a whole bunch of start up companies, like Twitter or YelloPages.

Grails not so much. Grails is, however, backed by a rather large company.

Here's what Rails does: It makes development easier /as long as you understand OOP, REST, and Ruby/.
Last edited by krainboltgreene on Tue Jun 22, 2010 1:20 pm, edited 1 time in total.
krainboltgreene
Apprentice
Posts: 50
Joined: Sun May 30, 2010 6:15 am
Location: Eugene, Oregon
Contact:

Post by krainboltgreene »

Do you know anything among the lines of Shoes that is not continually in beta, or at least works on both Linux and Windows? Preferably ruby, but I am willing to look into any language that is not too verbose.
I'm actually surprised to see someone who doesn't think Shoes is an Ruby GUI Library.

Answer in two parts:

1. No, none exist. The "why" behind this turtles all the way down. GUI languages don't exist because GUI libraries are terrible. GUI libraries are terrible because graphic libraries are fucking terrible (Cario is pretty good though). Graphic libraries are fucking terrible because... Well, you get the picture.

Each shit cake is stacked on another shit cake. Eventually you get to the outer layer (The GUI programming language, which is what Shoes is) and all you've got is crust.

2. None will exist. Shoes was a failed attempt by _why to start fresh. Shoes never got anywhere (before _why left) in popularity because you couldn't write a Ruby program using it and everyone billed it as a Ruby GUI Library. With _why gone no one on the team is creative enough to finish it.

In final: If someone were to make a language that was linguistically simple to read with the power of C or M2/M3 then you could possibly, eventually, get to a point where a GUI language is plausible.

Ruby is on the fall, however, and that's simply a fact. The community depended on it's rock stars to stay on the cutting edge of ideas. Zed Shaw and _why are gone and more follow.

Whom is left? DHH? Great.
Last edited by krainboltgreene on Tue Jun 22, 2010 1:20 pm, edited 1 time in total.
krainboltgreene
Apprentice
Posts: 50
Joined: Sun May 30, 2010 6:15 am
Location: Eugene, Oregon
Contact:

Post by krainboltgreene »

Oh, two final notes after reading the rest of the posts:

1. Rails is soon to be at the 3.0 mark. Rails3 is an entirely new beast with a lot of power.

2. Why in the world would you compare Rails to Java and say Java is "faster"?
User avatar
Murtak
Duke
Posts: 1577
Joined: Fri Mar 07, 2008 7:54 pm

Post by Murtak »

krainboltgreene wrote:2. Why in the world would you compare Rails to Java and say Java is "faster"?
Because Java is faster than Ruby. Much faster. And as far as I know know, Java-based frameworks are the de-facto corporate standard. Of course Ruby speed often does not matter much, algorithm choice trumps language speed and maintainability is more important than raw speed any day of the week.

But even so, Ruby is slow and fat. And depending on what you want your application to do this may be an issue.
Murtak
User avatar
Murtak
Duke
Posts: 1577
Joined: Fri Mar 07, 2008 7:54 pm

Post by Murtak »

krainboltgreene wrote:Ruby is on the fall, however, and that's simply a fact.
News to me.

As for Shoes, it works great for me - on Linux. On Windows it unpredictably crashes. I would be perfectly content with the current functionality if it simply worked on all platforms.
Murtak
cthulhu
Duke
Posts: 2162
Joined: Fri Mar 07, 2008 7:54 pm

Post by cthulhu »

krainboltgreene wrote:Wow, lots of questions!
One of my favorite internet services I use has had the entire database and program stored on gigabytes of solid state memory for twenty years... Although when it started it wasn't possible to /have/ gigabytes of RAM.
Check this out: http://rethinkdb.com/

Is Grails, Rails, Groovy etc ready for prime time in a -smallmedium sized government agency as the applications platform for business critical applications, rather than a more traditional choice based on the IBM/Oracle Java + Websphere/Oracle BPM stack or a MS .NET Biztalk/Sharepoint stack
First off, Grails is a web framework built with the Groovy language (OOP Java). Rails is a web framework built on Ruby.

Grails and Rails are about as similar as Apples and Oranges. That is to say: They're both frameworks. Frameworks are a Big Fucking Deal when you start talking about the weight category that Rails exists in. Rails is used by a whole bunch of start up companies, like Twitter or YelloPages.

Grails not so much. Grails is, however, backed by a rather large company.

Here's what Rails does: It makes development easier /as long as you understand OOP, REST, and Ruby/.
Yeah, the question is though, is it worth plugging them in ontop of a .NET or Java driven IBM/Oracle or MS stack, what can they replace in the middleware, BPM and apps server space and will they have an impact on my DB requirements.


Yeah, I goofed with the name sorry, I was thinking of monorail (which is not proven) and got confused.
krainboltgreene
Apprentice
Posts: 50
Joined: Sun May 30, 2010 6:15 am
Location: Eugene, Oregon
Contact:

Post by krainboltgreene »

[quote]Because Java is faster than Ruby. Much faster. And as far as I know know, Java-based frameworks are the de-facto corporate standard. Of course Ruby speed often does not matter much, algorithm choice trumps language speed and maintainability is more important than raw speed any day of the week.

But even so, Ruby is slow and fat. And depending on what you want your application to do this may be an issue.[/quote]

1. You compared Java to Rails. Rails is not Ruby. Ruby is not Rails.

2. Java is not faster than Ruby. That is blanket statement that really does disservice to your credibility. Java, the programming language, is "faster" than Ruby 1.8 (MRI) with [i]optimized programs built to test speed[/i].

More later.
Post Reply