Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×

Comment Crawl Up the Corporate Ladder (Score 1) 341

When I was working (in the EU) for a huge international company based in the US, I had a similar experience and when I realised that my normal contact person could do absolutely nothing, I slowly crawled up the corporate ladder by asking my contact for the details of his manager, whom I contacted. Nothing happened and I asked for the next higher level ... no result. At the third level up, though, it started to happen and after several phone calls, E-mails and a couple of nicely phrased letters, I got my money ... after three more months, making it almost nine months in all until payment.

I never got any of the late payment penalty invoices paid though - they never pay late payment fees as a corporate policy, I was told.

Thank you so much!

Comment Understanding Programming (Score 1) 767

I think software development, apart from the most basic programming, is an inherent trait that cannot be learned -- much the same as playing an instrument. I played in a school orchestra and one of the other musicians played the French horn. He could get the basic tones out but had no sense of beat and could not play syncopes or counterpoint, no matter how much we helped him.

Programming is a mix of skills ranging from "language" skills, where the programmer needs to understand:
- The syntax of the programming language
- The semantics of the programming language

The programmer also needs to know how to "interface" and thus understand:
- The interaction with the OS
- The interaction with storage systems
- The interaction with networking systems
- The interaction with the presentation layer (this includes communicating with the user)
- The limitations of each subsystem

And lastly the programmer has to solve the problem and therefore needs to understand:
- The problem
- The solution
- The different ways of achieving the solution and select the best in the circumstances
- What can go wrong at every step and catch each possible error in a meaningful way that does not break the functionality

On top of this, any seasoned programmer knows a number of "tricks", methods and algorithms, and can select the best for the current job. The list is probably not even complete, but the best I could do at short notice.

Many of the above skills can be learned, but some are just beyond many, if not most, people like understanding the semantics of the programming language (Perl is notorious in this respect) and the intricacies of the interaction with the subsystems (like how a program can fail miserably when ported from *NIX-type systems where filenames are case sensitive to Windows where they are not), to name two. And coming up with a solution to even simple problems is impossible for many -- believe me, I have seen quite a few failing. What can go wrong and how to catch it is a challenge for even the most seasoned programmer -- it is near-impossible to learn this if you do not have the "gift".

Comment It Is a Matter of How to Encrypt (Score 1) 120

I think everybody would agree that the data should be encrypted, but often the problem with encryption is access to the data. If the server-side application stores the encryption key, this key could potentially be found (maybe through a vulnerability) and thus give access to the entire database.

Best practice is to encrypt each record with a unique key. This key could be generated by some unique identifiers per user like Visible User ID (maybe E-mail address) and Password and Hidden User ID (different from the visible and generated independently from it) and Android ID.

To create the database entry:
1. Collect the information to store
2. Key = Hash(Visible User ID, Password, Hidden User ID, Android ID)
3. Send Visible User ID and Key to a receive-only system with as little an Internet Surface as possible (i.e. one that is next to impossible to hack into, if done correctly) -- This information is used retrieve the user data for analysis and such
4. Store the information in the more accessible database encrypted with the key

To retrieve the data from a user's application:
1. Collect Visible User ID, Password, Hidden User ID and Android ID
2. Key = Hash(Visible User ID, Password, Hidden User ID, Android ID)
3. Use the key to retrieve the necessary data

To retrieve the data from the inside:
1. Use the User ID to Key data to decrypt the data

Comment I could have said ... (Score 1) 317

... Computer Teacher, but then I remembered Salman Khan of Khan Academy fame -- that is almost like the real thing. (I do like Khan Academy, really!)

What I really wanted to say was commercial Space Travel with Space Hotels, but that was not an option, so Underwater City got my vote, which is not too bad either as I have always been fascinated with living under water.

Comment Let us just agree ... (Score 1) 615

... that eight hours work a day should be enough in normal circumstances to balance work/sleep/family/leisure/commute/health/...

That said, I worked for a short while as a consultant on a survey ship in connection with oil exploration. As you were confined to the ship for as long as you were on-board (obviously), they had made it twelve hour shifts, 8 to 8. That worked quite well as they had two weeks on-board and two weeks off. Two weeks at home with the family. So not only was the pay good, but the compensation for the family "deprivation" was sufficient to actually keep people interested.

I had an experience with really long working hours when another customer of mine had a problem: An employee had made a circuit board as an extension to their office computer and the company had a commitment to install this board before the end of the week, only it did not work! I worked for more than 40 hours straight to make the board work and presented the working board and updated software in the morning to a manager, who just said, "OK, drive out to the customer and install it." I politely declined, telling him that I was not driving anywhere in my condition. In the end the manager chauffeured me there and back, and the installation was a success.

There were times during the nights where I was doubting I would ever get through and it was not top productivity all the time, that is for sure -- but on the other hand, the company was generally extremely supportive and still on my top-five list of companies I have had as customers.

Comment Runtime Analysis (Score 1) 1086

One of the fields where mathematics have definitely intersected with all types of serious programming is runtime analysis of algorithms and programs.

I know that computers today are magnitudes faster than the early days and that most western households have more computing power in their house than was available in the whole world some fifty years ago, but the problems we try to solve have grown even further and yet we expect the response times to be reasonable for everything we want to do.

One problem that just came to mind is navigation: That little box on the windscreen is actually searching through millions of roads to find the optimum route between two points and still we expect it to take less than a minute.

Comment Re:Field dependent requirement (Score 1) 1086

At university (much too many years ago), I did a program to perform symbolic math. It was written in Algol (should give you an idea of which millennium) and could optimise and present almost any formula in different ways, it could calculate the value of the formula given values for all variables and differentiate the given formulas, and even perform limited integration by applying a few strategies.

I am afraid that the boxes of punched cards have been lost some years back and I am working (very slowly) on a new version using a more recent programming language, Perl.

Comment No More "Pirate" (Score 3, Insightful) 298

Can we please (pretty please!), once and for all stop using the term "pirate" instead of "copyright infringement" or maybe "illegal copying" (if you want to get a slightly harsher tone) — especially for headlines and story blurbs!?!?!

I know you know, but still: Pirates are people that get what they want on the high seas, normally using violence or threats of violence. Let us not play into RIAA/MPAA/FACT/...'s hands by using their propaganda language.

And you are right, "The Copyright Infringement Bay" has not got the same sound to it as "The Pirate Bay".

Comment Three Locations, Two Countries (Score 1) 304

I have some years ago emigrated and live abroad, which has given me an opportunity to use servers in three different locations in two countries. At home, at my brother's and at a friend's.

My Linux servers back up automatically with a homebrew Time Machine-like functionality based on rsync. It consists of a script and a configuration file with information of what files and directories to backup/not backup. The structure is fairly simple and has worked well for a very long time now.

The mail servers back up any mail in the mail directories to each other, but overwrites/deletes as needed instead of the TM-type functionality.

The family Windows machine is backed up manually with an rsync-based BAT-file whenever I feel like it (which is rather often) to one of the local servers which propagates the backup through the TM script to one of the overseas servers, which again propagates it to the other overseas server.

All in all it seems to be sufficiently redundant (three copies of all relevant data in less than three hours) and sufficiently dispersed more than 600 miles between the farthest points and no sites closer than about 200 miles.

Obviously, I reciprocate the service for my brother and my friend.

Comment VoIP and Gaming (Score 1) 396

I would be rather worried if my ADSL connection got past 50 ms for the first hop after the router/modem, but that said, the real clincher (at least to me) is Voice over IP like SIP phones and, well, Skype -- a latency beyond about 150 ms end-to-end makes it difficult to "duplex" properly (i.e. interrupt the other without too much frustration) and 300 ms is near the edge of tolerable.

For gaming (and real-time financial transactions ;-), the answer is: Less is more!

Comment Re:Fragile development (Score 1) 445

What you fail to mention is that this only works if you have a benign dictator at the helm, like Linus Torvalds -- a person who can cut through all the requests for half-baked solutions and unmaintainable, untested code.

In many companies, the one at the helm is more a despot than a dictator -- and worse yet, the decision-maker is not at all technically minded. Shudder!

Comment No! (Score 4, Insightful) 301

This assumption goes wrong in a number of places, of which some obvious are:

1. Parents have the time to school their children
2. Parents have the inclination to do it
3. Parents have the capability to do it. (How many know parents whose maths is non-existent or whose spelling is beyond comprehension?)
4. The parent/child relationship works towards learning and not against it. (Think obstinate teenager here.)


I am sure there would be many other problems too, like very few parents have learned the tips and tricks a teacher has.

So in my humble opinion, it will not work!

Slashdot Top Deals

I have hardly ever known a mathematician who was capable of reasoning. -- Plato

Working...