Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?
For the out-of-band Slashdot experience (mostly headlines), follow us on Twitter, or Facebook. ×

Comment: Re:Today's computer science corriculum is practica (Score 1) 142 142

From what I vaguely remember netmasks are stuff to make sub-networks
a netmask of will create a sub-network with ips ranging from X.Y.Z.0 to X.Y.Z.255 (it is a binary AND of the main network ip address and the netmask). This is what I remember from head, I did not look it up on wikipedia.

But then again I graduated only 3 years ago. I will probably completely forget this in 5 years.

Comment: Re:Today's computer science corriculum is practica (Score 3, Insightful) 142 142

Jeez I learned that stuff in my networks classes, but I don't remember the stuff about netmasks, does not mean am I a bad programmer? It does mean at least that if I am faced with a problem that requires that knowledge I would be able to study it to complete the task.

Comment: Re:Jeez, sparse arrays, really? (Score 1) 126 126

Well that is the way I learned it, one way to implement them is using a linked list for each row (or column) of the array (skipping the null/0 values each element storing its index). It was a footnote on my data structures class, maybe that is why students failed the test, the professors did not bother teaching sparse arrays.

For example
0 0 1 0
0 0 0 0
3 0 4 0
0 0 0 5

in a sparse array implemented with linked lists would be:
L0 -> (2: 1) -> null
L1 -> null
L2 -> (0: 3) -> (2: 4) -> null
L3 -> (3: 5) -> null

Comment: Complex DOM Manipulation (Score 1) 124 124

If you need to perform complex DOM manipulation jQuery is still the best tool, fortunately recent javascript frameworks drastically reduced the need for manual DOM manipulation. Usually you encapsulate your jQuery DOM manipulation code using your framework of choice, this is very common when doing specialized UI components.

Comment: Re:Those outside of Greece will have an impact (Score 1) 357 357

That is called hyperinflation and the only reason it has NOT happened in Greece is because Greece uses the Euro. It happened to several countries in the last couple of centuries.

For a formal explanation:

For a funny explanation (they wipe their asses with money, literally):

Comment: My experience so far (Score 1) 178 178

One HR skype interview (~1 hour)
One technical skype coding interview (~1.5h hours)
One manager skype interview (~1 hour)
One home exercise (~8 hours over one week)
One on-site interview

It took some time (around 40 days), but I thought the overall process was fair. The worst part was that after every interview it took around one week to get any response from the company, they should had really streamlined the process so I could take the several interviews in a row and take the home exercise in a single day.

Comment: Re:Problems with Node (Score 1) 175 175

This article is not about nodejs being bad, it is about low experienced programmers doing crappy things with it. It is basically saying: "To architecture good scalable web applications you need to be a smart guy with some experience". Well that is pretty much the same thing for all languages...

The author then goes into a rant that I can only compare to VB6 rants of the old days: It made easier for beginners to get into the bandwagon, so much code written in it sucked, this caused VB6 to have a fame for being a bad language because of that (which was not true at all at the time).

Comment: I can't believe no one mentioned Meteor (Score 3, Informative) 175 175

Meteor ( ) is a javascript framework that runs on top of Nodejs and it is GREAT. It is a full stack solution, it has a view engine (Blaze templating language, based on handlebars), a server (Nodejs) and a database (MongoDB) all bundled up and it just works out of the box, no configuration required. From the meteor website:

"Really, you'd like to use a combination of packages that have been not just tested individually, but tested together, since so much of the complexity in a large software project comes not from its individual pieces but from how they're integrated. Rather than leaving your package system to select the "best" combination of package versions, which could change every day and could be a totally new combination that nobody else has ever tried, you'd like to use a set of packages that has been comprehensively tested by professional release engineers that really know the platform.

That's what the Meteor Distribution provides. Similar to a Redhat or Ubuntu distribution, the Meteor Distribution is a set of package versions that have been tested and recommended for use together."

And that is just one of the great features that Meteor provides. Another great feature of Meteor is that your Javascript code runs both on the server and on the client _at the same time_. Whatever action you make that triggers a state change (change in the database) will run both on the client and on the server, the client has something called MiniMongo that caches the result from the server database and the changes happen without a roundtrip to the server. If the server state is not consistent with the client state Meteor takes care of synchronizing everything. So the application looks like is running locally there is no lag at all.

This drastically reduce the code necessary for example, you don't write form validation code twice, you write it once and show a popup message on the client and throw an exception on the server if something is wrong. Really everything in Meteor works great, there is a really good automatic deploy system (it even deploys to phonegap, also I believe you can deploy your mobile apps to app stores automatically), the API is really small, the meteor packages work great (check out the Velocity testing framework, it is awesome!) and so on

There is one big caveat though, you can't migrate parts of your existing application to Meteor, the only real optional part of Meteor is the View layer, you can discard Blaze and run your own solution. I have had a great time using React with Meteor for example.

People who go to conferences are the ones who shouldn't.