Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Comment Re:Umm (Score 1) 92

The article is very light on details, but I take it the idea is that more power would translate to higher clock frequencies or higher data throughput and the like.

I think an easier approach is for the scheduler to query the battery power before and after each task gets its shot at CPU time. If an application is using more than its power allocation, simply schedule it shorter and/or fewer turns on the CPU.

The article also fails to mention whether this mobile OS is capable of multitasking. If it is, then presumably the power settings for a given application would apply to the timeslices during which it is running.

There are two pages to the article, and it's quite clear that it supports some form of multitasking.

Comment "Prisoner's Dilemma" != Prison (Score 4, Insightful) 415

..fear of prison..

The Prisoner's Dilemma is a generalized model for decision-making in a non-zero-sum game (net cooperation must yield more than net defection.) A story involving prisoner's and jail time is only the most popular canonical representation for the game. While I've nothing to say in defense of the researchers' intelligence: to levy criticism that the researchers have perhaps overlooked subjects' aversion to actual prison time is to suggest that the researchers are, perhaps, extremely stupid, and have no idea what they are doing at all.

Comment My Worst IT Experience (Score 1) 1127

Read this post full screen with diagrams and photos

As I tend toward fleeting obsession, and writing up this account of my poor work experience at UnnamedCompanyXXX hits the spot in the exact way that I only wish editing my resumé did (as Joey Cameau puts it, resumé writing seems largely an exercise in "listing the store-bought parts of yourself that you respect the least") what follows is a rather long explanation. For the short answer, just scroll to the image at the bottom. (The forum may crop the image, so use your browser to view the full image if you must.)

I'm hoping some day to find enough interesting artifacts from my work there (like a graph I built of the model schema) to make a really bitchin TDWTF submission, but to directly answer your question: It would seem from my research (which was quite painstaking given that that company's idea of revision control was a stack of CD-R'd ZIP archives of their Java Servlets project directory) that the original hacker to build their web-based business coordination platform understood relational databases and data access abstractions.

He or she wrote Hibernate XML model schema (a technology I thoroughly enjoyed learning to use) with logical relationships between different models, and when I ran the graphing program I wrote (produced a GraphViz DOT graph, which was transformed into SVG and then fed into ZVTM) that model schema formed very cogent, logical constellations showing at most two or three individual constellations -- everything else was well connected and sane.

The later person(s) to work on their platform, however, had no understanding whatsoever of databases, SQL, or Hibernate (I didn't know about Hibernate either, but I learned.) The "holes" I mentioned were in fact new unformalized relationships in the model schema: the programmer(s) had actually added fields like "employeeName" to, say, the Project model, and employeeName was actually a numeric key corresponding to the model called Resource, which due to the lack of documentation, evaded me for some hours as actually meaning freelancers who we may call on or have called upon in the past. Now you might even think that it was a good thing that one of the clueless hackers in between the first hacker and myself thought "employee" was a more intuitive term for this role, but in fact Employee was another model altogether! Extremely confusing!!!

The reason their system was even ailing to begin with was because some hacker(s) had actually written database queries without any SQL -- they simply pulled (often many copies of) every instance of a certain type of model in the database into the servlet task, and then filtered them down to whatever subset it was that they wanted in Java-land. A similar sort of reach-around was employed to bridge relational connections between different models without taking advantage of the programming abstractions for those either.

The first couple of weeks I spent setting up a second server, revision control, bugzilla, documentation wiki, and familiarizing myself with the code (I didn't get any documentation for months.) I spent an entire month mired in a protracted software upgrade side-quest to avoid only a few critical shortcomings in only a few software components: because the system had not been properly maintained in so long, every single software component was out of date by years and had a slew of dependencies that needed upgrading.

The very first change I committed to the new Subversion repository removed 4000 lines of code and replaced it with 14.

One day (long after it was very relevant anymore, unfortunately) they finally got the previous hacker (who was too busy with better paying work to work there anymore) to come in and help answer my questions about the code. I pleaded with him to explain to my boss and his ex-boss that the code was a ridiculous nightmare. I tried explaining to him what was wrong with it, and that he should tell the boss he wasn't really as good a judge as I was. He became extremely offended and stormed out of the office, and I was let go not long afterward (for not getting enough done in the expected time frame -- imagine that.) I suspect he was a friend of the boss's family or someone else's family in the office. I mean no ill will toward the guy, but it's really pretty frustrating that I have such a hard time finding work, but apparently that guy has too many opportunities to work that job anymore.

>:(

It's probably not terribly good for one's health to relive this sort of thing in too much detail, so I'll leave it at that. If I'm lucky, maybe someone will read this and offer me a job! ;) ;) ;) ;) ;) ;)

I just found this photo of our offsite backup system that sat on a desk in the room that adjoined all the other rooms in the office: offsite backup on a budget

I also found this next image, generated from Hibernate model schema XML using a Python script I whipped up in about forty minutes (which I have just annotated in GIMP,) rendered using AT&T GraphViz, and viewed using ZGRViewer. If you ever have to familiarize yourself with new software, this is oftentimes an indispensable approach to learning about it! I believe that a few months after I wrote that script, the Hibernate community built graph generation into their "utils" package. Some day I would like to write my own graph exploration software for a subset (perhaps with some extensions) of the DOT format that makes the graph feel more fluid and less rigid. GraphViz often generates graphs that are too disparate, and I find it difficult to coax them into something more readable. Oh well, thankfully I found ZGRViewer and saved myself a few hours writing my own program.

model schema graph with notes

Comment Mod Parent Up (Score 1) 217

Get with the program people, these machines were built to fail. Don't even question it slightly. Don't say "oh you're being paranoid." Think about it. Is it even slightly possible that what nabsltd has said is off the mark? When is the last time you saw calibration drift at an ATM? Don't dismiss this.

Comment Re:Superficial? (Score 1) 437

...to say that you enjoy Trek movies for something other than the awesome special effects, thematic elements and the glimpse at a whole other reality seems disingenuous.

This was my error then: I've only seen Wrath of Kahn and First Contact, and I didn't really like the latter. I don't have any expectations for Trek movies that don't apply to film in general.

Slashdot Top Deals

The flow chart is a most thoroughly oversold piece of program documentation. -- Frederick Brooks, "The Mythical Man Month"

Working...