Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×

Comment Haven't had a desk phone for 10+ years! (Score 4, Interesting) 445

Here in Norway pretty much all medium-sized and larger businesses have agreements with a cell phone company that basically means that all company-internal calls are free, as well as all external calls made via cell towers located around their office locations.

I.e. all the calls that you would have used a land line phone for in the old days.

We have of course never had the horrible "cell phone receiver pays" system used in the US, partly because all cell phones have gotten numbers from a couple of separate ranges, never used for land-line phones, so that we always knew if we were calling a fixed or mobile phone.

The last time I bought a cell phone with a contract clause must have been 5+ years ago, it was for one of my kids.

Terje

Comment Re:This is amazing: Why didn't they do it 10+ year (Score 1) 226

No, the resource usage was not "extreme":

We did measure some slowdown of applications, but mostly in the single-digit percentage range.

This was simply because most applications those days did all their work in memory, only Microsoft's virtual disk swapper would use the disk during normal operation, and then only in case you suddenly needed a lot of free memory space.

Bulk load of application and data files did slow down a bit, but significantly less than 50%, i.e. the hard drive did not suddenly become half as fast even for bulk transfers.

When I was involved in the AES process more than 10 years ago, one of our targets was to optimize the crypto code so that a 1996 vintage PentiumPro could handle a 100 Mbit/s full-duplex communication line, or correspondingly about 20 MB/s of disk en/de-cryption.

Today full disk crypto is effectively free, except in power usage, since all computers have multiple cores, most of which are idle even when an application is working hard, and a single core can keep up with the fastest available (spinning) hard drive. A modern i7 core with the AES extensions can do the crypto without getting hot. :-)

Terje

Comment This is amazing: Why didn't they do it 10+ years a (Score 4, Interesting) 226

I was in charge of testing/verification of full disk crypto when my then-employer (Hydro) mandated it almost 20 years ago:

At that time 5 vendors made it through our pre-qualification tests, among these I was able to trivially break 3 of them (replace a conditional branch with its opposite), one took 20 minutes and only Utmaco's SafeGuard Easy had done a proper security design, where the user password was used as (part of) the seed for the key used to decrypt a copy of the master disk key.

I.e. the system _must_ be safe against attack from anyone, including the vendor!

I wrote a longer post about this the previous time the same issue came up on /.

Terje

Comment Re:The Brain is Plastic (Score 3, Informative) 317

The reason that over-50 crowd is asking for help is almost certainly due to deteriorating eyesight and glasses!

First of all, a 50 year old needs 3X the light level as a 20-30 year old, second the progressive glasses most of has to start wearing at this time takes a huge slice out of the normal visual field:

I used to be able to easily locate things that were near the edge of my visual field, with my current (very good/expensive) glasses I need to turn my entire head, not just flick a glance sidewise.

This does mean that I find it far harder to locate items in the Supermarket/grocery store, unless it is the local one where I know where everything is located.

It also means that I will ask store attendants for directions to stuff that I would simply find on my own 15 years ago, simply because I know it will probably save me a lot of time.

Terje

Comment Re:40: I'm 55... (Score 5, Interesting) 317

I've been programming since 1977, and I'm still doing it, although my job description hasn't had "programmer" in it since 1984:

(My first job out of university was writing digital signal analysis sw for a research institute, I did that from 1981 to 84.)

During the last few years I've been involved with crypto (AES) and graphics optimization, multicore computing as well as a few programming competitions:
I suspect that I'm probably 20 years older than most of the other quarter/semi-finalists at the two Facebook Hacker Challenges.

The main/only/sufficient reason is of course that I love doing it!

Solving puzzles is something I would pay to do, so getting paid is a great deal imho.

(My official job these days is to be the in-house IT troubleshooter for a very large Norwegian IT company, I manage to sneak in some programming here as well, often some Perl to analyze network trace/log files.)

Terje

Comment Re:Seriously? Yes! (Score 1) 302

I have used SeaMonkey from the day they made the fork, relatively happy even if I nowadays also use Chrome for better cross-instance isolation.

I also have Opera installed, I use that exclusively for online banking.

I do like the fact that in SeaMonkey I can right-click a link in a mail/news msg and do "Open in a New Window".

I also enjoy knowing that SeaMonkey is non-mainstream, even if that isn't much a security feature these days when 90-99% of the browser code is shared with Firefox.

Terje

Comment File size then interleaved secure hash (Score 2) 440

This is a very fun programming task!

Since it will be totally limited by disk IO, the language you choose doesn't really matter, as long as you make sure that you never read each file more than once:

1) Recursive scan of all disks/directories, saving just file name and size plus a pointer to the directory you found it in.
      If you have multiple physical disks you can run this in parallel, one task/thread for each disk.

2) Sort the list by file size.

3) For each file size with multiple entries do:

    3a) How many matches are there and how large are they?

        3a1) Just two files: Read them both in parallel, using a block size of 1MB or more in order to avoid extra disk seeks, and compare directly. Exit on first difference of course!
        3a2) 3 or more files: Read them all interleaved, still using a 1MB+ block size. For each block calculate a CRC32 or secure hash, compare these at the end of each block iteration. When a single file differs from the rest, it is unique.
When two or more are equal but still different from the majority of the group, recurse into a new copy of the scanning function that checks the smallest group, then upon return go on with the rest.

It should be obvious that your scanning function needs to accept an array of open file handles/descriptor plus an offset to start the scanning process at, thus making it easy to call it recursively to check the tails of a sub-array!

(A possible problem can occur if you have _very_ many files of the same size, in that the operating system could run out of file handles for simultaneously open files! In that case I'd fall back on passing in file paths instead of open handles and take the hit of re-opening each file for each block to be read. I would also increase the block size significantly, into the 10-100 MB range, so that everything except big ISOs and similar would be read in a single access. The same process is probably optimal for file sizes less than the minimum block size.)

This algorithm should be able to do what you need in significantly less time than you'd need to just read everything once. I'd estimate about 50 MB/s effective reading speed, so if everything is on a single disk (4.9 TB? Not very likely!) and every single file size has multiple entries that only differ in the last byte, you would need 100 K seconds, or a little more than a day. My guess is you should easily finish overnight!

Terje

Comment Re:A job or a calling? (Score 1) 1086

Genda wrote:
> Wouldn't you also say, that having heavy math chops allows you to see clearly when the line from problem to solution is non-optimal?

Oh, absolutely!

Big O notation/thinking becomes instinctive after some years, making it physically painful to code a brute force/O(n*n) algorithm when you can almost always get to O(n*log n) or even better.

Terje
PS. My MSEE was in fiber optics and required solving the Schrödinger equation for the light coming out of the end of a mono-modus optical fiber. I don't think I've ever needed this level of math since then. :-)

Comment A job or a calling? (Score 4, Interesting) 1086

If you just want to make a living, then you'll probably never need any higher math.

OTOH, if you are at all serious about programming as something you want to be really good at, then you need a _lot_ more.

I've worked with low-level game code (Quake asm), with video & audio codecs (MPEG2, h.264, ogg vorbis), with crypto (one of the AES candidates) and I wrote most of the code for the compiler sw workaround for the Pentium FDIV bug.

I doubled the speed of a Computational Fluid Chemistry code base, so that simulations ran in half a week instead of 7 days.

I've also won a couple of international code optimization contests.

The key here is that except for the h.264 optimization all of this has been pro bono, my daily job at a Norwegian IT company has almost never _required_ me to know a lot of math, but having math as a hobby means that I tend to spot all the bogus calculations in Powerpoint presentations. :-)

Terje

Comment This already exists in civilized countries... (Score 4, Interesting) 299

...but only for public transport!

My wife worked for 9 years optimizing public transport in Oslo, Norway.

One of the key items behind a significant speedup for both buses and trams was a system where each vehicle would signal ahead a given distance before arriving at an intersection, again as it entered, and finally as it left. If you visit Oslo and sit up front in a bus or tram you can see the visual feedback the driver gets: A single white LED mounted near the top of the traffic signal will light up, either blinking or in a steady state.

There is (of course) a web site and a mobile app which will give you real-time information about any given bus/tram/line/stop, as well as rolling displays at all major stops that show the same info.

http://trafikanten.no/ and http://m.trafikanten.no/

Terje

Comment BT, DT: (Was Re:Two mostly similar choices) (Score 2) 467

Before I got my first pure IT job (back in 1984) I was developing sw for my father-in-law's company, I mentioned this during the interview and got an exception clause that would allow me to keep on supporting that software.

I have since then had a number of offers of new jobs/gone to multiple interviews: I have always mentioned the situation with my father-in-law and it has never been a problem.

At the same time (1982-1984) I had also developed some terminal emulation/file transfer software which was moderately successful, I sold a site license to my new employer which at the same time gave me the rights to go on maintaining it and selling it to other customers. During the next 4-5 years those external sales paid for our little mountain cabin near Rjukan, Telemark.

Terje

Comment IEEE do some of the same (Score 5, Interesting) 206

Last year I sent an email to IEEE saying that I would leave the organization if they continued holding research papers hostage behind pay walls.

I.e. authors were told that in order to get published they would have to assign their copyrights to IEEE and would have to remove any freely available copies on their own personal web page.

See also http://politics.slashdot.org/story/10/06/30/2027226/ieee-supports-software-patents-in-wake-of-bilski and http://news.slashdot.org/story/10/06/15/177217/ieee-working-group-considers-kinder-gentler-drm about locking research behind DRM gates.

With very little visible change to their attitudes, I decided to leave.

Terje

Comment Re:How many GIS functions do you need? (Score 1) 316

I did imply that "Flat Earth" calculations are only valid withing a limited distance, like an UTM zone, but this is still several 100 km.

For most GIS style queries exact results really don't matter, i.e. if you happen to select a hospital that is 20001 m away and/or exclude one that is 19999 m away, this is still fine, simply because the origin point is almost never defined with such accuracy, and neither are the stored coordinates for people or hospitals.

If you insist on exact distances then you need to go to Vincenty or a similar formula, since classical Great Circle calculations still have errors.

See http://en.wikipedia.org/wiki/Vincenty%27s_formulae

This is an iterative process consisting of about 75 lines of code, including 2 calls each to sin/cos/sqrt in the setup code, then sin/cos/sqrt/atan2 in the inner loop, followed by a couple of atan2 and a sqrt call at the end. I.e. we're talking about thousands of clock cycles for each calculation.

This means that the exact function is several orders of magnitude slower than the approximate version, so if you insist on handling all the borderline cases exactly, the best approach is to use an approximate distance selector that is safely too large (maybe a meter or two over 20 km), then filter the results by re-checking any that happened to be borderline (i.e. within 2-4 m of the limit). The last set, of borderline distances, will most often be empty.

With this approach you can get exact results with a query speed that is effectively the same as for a simple UTM distance calculation!

Terje

Slashdot Top Deals

"I don't believe in sweeping social change being manifested by one person, unless he has an atomic weapon." -- Howard Chaykin

Working...