Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
User Journal

Journal Journal: Continuation on education 13

Ok, I need to expand a bit on my excessively long post on education some time back.

The first thing I am going to clarify is streaming. This is not merely distinction by speed, which is the normal (and therefore wrong) approach. You have to distinguish by the nature of the flows. In practice, this means distinguishing by creativity (since creative people learn differently than uncreative people).

It is also not sufficient to divide by fast/medium/slow. The idea is that differences in mind create turbulence (a very useful thing to have in contexts other than the classroom). For speed, this is easy - normal +/- 0.25 standard deviations for the central band (ie: everyone essentially average), plus two additional bands on either side, making five in total.

Classes should hold around 10 students, so you have lots of different classes for average, fewer for the band's either side, and perhaps only one for the outer bands. This solves a lot of timetabling issues, as classes in the same band are going to be interchangeable as far as subject matter is concerned. (This means you can weave in and out of the creative streams as needed.)

Creativity can be ranked, but not quantified. I'd simply create three pools of students, with the most creative in one pool and the least in a second. It's about the best you can do. The size of the pools? Well, you can't obtain zero gradient, and variations in thinking style can be very useful in the classroom. 50% in the middle group, 25% in each of the outliers.

So you've 15 different streams in total. Assume creativity and speed are normally distributed and that the outermost speed streams contain one class of 10 each. Start with speed for simplicity I'll forgo the calculations and guess that the upper/lower middle bands would then have nine classes of 10 each and that the central band will hold 180 classes of 10.

That means you've 2000 students, of whom the assumption is 1000 are averagely creative, 500 are exceptional and 500 are, well, not really. Ok, because creativity and speed are independent variables, we have to have more classes in the outermost band - in fact, we'd need four of them, which means we have to go to 8000 students.

These students get placed in one of 808 possible classes per subject per year. Yes, 808 distinct classes. Assuming 6 teaching hours per day x 5 days, making 30 available hours, which means you can have no fewer than 27 simultaneous classes per year. That's 513 classrooms in total, fully occupied in every timeslot, and we're looking at just one subject. Assuming 8 subjects per year on average, that goes up to 4104. Rooms need maintenance and you also need spares in case of problems. So, triple it, giving 12312 rooms required. We're now looking at serious real estate, but there are larger schools than that today. This isn't impossible.

The 8000 students is per year, as noted earlier. And since years won't align, you're going to need to go from first year of pre/playschool to final year of an undergraduate degree. That's a whole lotta years. 19 of them, including industrial placement. 152,000 students in total. About a quarter of the total student population in the Greater Manchester area.

The design would be a nightmare with a layout from hell to minimize conflict due to intellectual peers not always being age peers, and neither necessarily being perceptual peers, and yet the layout also has to minimize the distance walked. Due to the lack of wormholes and non-simply-connected topologies, this isn't trivial. A person at one extreme corner of the two dimensional spectrum in one subject might be at the other extreme corner in another. From each class, there will be 15 vectors to the next one.

But you can't minimize per journey. Because there will be multiple interchangeable classes, each of which will produce 15 further vectors, you have to minimize per day, per student. Certain changes impact other vectors, certain vector values will be impossible, and so on. Multivariable systems with permutation constraints. That is hellish optimization, but it is possible.

It might actually be necessary to make the university a full research/teaching university of the sort found a lot in England. There is no possible way such a school could finance itself off fees, but research/development, publishing and other long-term income might help. Ideally, the productivity would pay for the school. The bigger multinationals post profits in excess of 2 billion a year, which is how much this school would cost.

Pumping all the profits into a school in the hope that the 10 uber creative geniuses you produce each year, every year, can produce enough new products and enough new patents to guarantee the system can be sustained... It would be a huge gamble, it would probably fail, but what a wild ride it would be!

User Journal

Journal Journal: Windows 7 printing worse than Linux and XP

Hey Microsoft, I can install 76 updates in Linux under 10 minutes, including a new kernel. I'm not waiting two hours to install the 76 updates the computer already downloaded in the background. I powered down after update #2 took over twenty minutes to install. Life is too short. I expect the Windows 7 installation on my desktop is hosed now.

My ten year old canon ink jet died. I replaced it with a Samsung laser.

I'm sorry. Windows 7 is worse than XP and Linux. CUPS detected, installed and printed a test page on my new Samsung Laser with no other input than a IP address. Worked flawless under Kubuntu, and Xubuntu. Windows 7 autodetects the IP printer as a Brother but adds it as a Samsung to the installed printers. Printing a test page results in 10 pages of garbage. I add the printer manually and it tells me it cannot find a driver. My XP-SP3 laptop adds it as an Samsung IP printer just fine. Test page prints fine.

Oops. I just aborted the Windows XP3 updates on my laptop. I refused the new Genuine Advantage Agreement (I guess my old agreement wasn't good enough). Why does Microsoft periodically require my license key and IP address for product updates? Oh yeah, I'm a thief first instead of a licensed user. If I walked into any Store and they frisked me to see if the clothes I was wearing or the devices I had in my possession were stolen I wouldn't shop there any more. Fuck you Microsoft. There is a reason I spent over $500 on Android devices/services this Christmas.

Why did I have to boot to Windows on my laptop and desktop? Because my wifes new job needed her to update some employment information. It wouldn't let her use the system without using Firefox/IE/Safari under Windows or Mac. Can I give a big FUCK YOU to the developers of that web site? You suck. We live in a neutral world but your software requires specific browsers and OS versions.

Ubuntu

Journal Journal: The End of Ubuntu 4

I have just upgraded my machine from Ubuntu 11.04 to 11.10 and everything is broken.

Everything.

It began with Unity. The horror. If there's a way of finding the main menu, I wasn't able to discover it. Menu bars have entirely disappeared from applications, to be replaced with the mac "menu on top" paradigm, a.k.a. one of the main reasons I've never used a Mac since 1994. You can't even log out of the bloody interface, let alone tweak it. Even the fonts are terrible.

It took me about 15 minutes to figure out how to get rid of Unity and replace it with Gnome 3 and I can't say there's really much of a difference in terms of usability. All of my default Gnome 2 desktop settings have been blown out of the water. Completely. My panels and taskbars and lauchers are either deleted or are all over the place. Even if I wanted to change them back, everything is basically uncustomisable as far as I can tell. You can't move objects around in the taskbars. Yes that's right. You can't move objects around in the taskbars.

Is this what a desktop is supposed to feel like?

I feel like my computer window has been turned into a walled garden, like that on an iDink, which I am permitted to carress and fawn over, but have disallowed from making my own in any way. Will I have to download some kind of "App" from the "Ubuntu App Store" to gain back basic functionality? Do I have to dive into arcane settings and ppa just to get back the system which I had and liked only a few hours ago? Do I have to give up and choose Gnome 3, or move to XFCE, or move everything to the shell, or basically waste the next two weeks getting back what I had?

If that's the price of Ubuntu (and it is) then I am leaving.

Ubuntu and Gnome died the moment they allowed the UI designers to take over. The art students, the inveiglers, the smooth talkers, the wild eyed dreamers, the "visionaries", the people who didn't care what they were doing as long as it made them feel talented and superior. These are the people who have designed unusable,confusing systems and interfaces that delete years of carefully customised menus and discourage serious use of computers.

And as for the "boring" people, the programmers, the testers, the package maintainers, the people who listen to the community, those who put real thought and concern for users into their themes and interfaces, the people who don't go to conferences, who communicate with users directly via forum and newsgroup, who sit at their desks working to make distros better, often for no reward at all; what of them? Are they in charge in this brave new work? No. They are cast down and out, by a brigade of bullshitters too busy bopping on their iPods and blogging than in doing useful work.

If you let the wrong people into an organisation or a community, they can destroy it. Ubuntu and Gnome shows that this can happen to distros and open source projects just as easily and quickly as it has happened in the many industrys, countrys, and economies throughout the word. The destroyers will fail upwards, the blazing heat of their incompetence scortching all new pastures dry. The rest of us will be left behind to pick up the pieces and start again. In 5 years time, Ubuntu may be back on the path to being usable again, but I can't wait that long.

I'm thinking of starting off with Mint.

User Journal

Journal Journal: I want to test out deletion ... 2

Can I post this and then delete it? Maybe. Does it exist 10 minutes from now? When is now? Why is Hitler, Who is Spain?

User Journal

Journal Journal: A Shout Out to my Peeps!

Word up to the Shane of Westgate for confirming all my stories.

DG

Books

Journal Journal: History books can be fun (but usually aren't and this is a Bad Thing) 2

Most people have read "1066 and all that: a memorable history of England, comprising all the parts you can remember, including 103 good things, 5 bad kings and 2 genuine dates" (one of the longest book titles I have ever encountered) and some may have encountered "The Decline and Fall of Practically Everybody", but these are the exceptions and not the rule. What interesting - but accurateish - takes on history have other Slashdotters encountered?

Canada

Journal Journal: My new career path. 24

More here.

As a bonus , I'll probably soon reveal the unbelievable story of how I acquired my legal knowledge - by doing something nobody else ever has, and which, until now, would be considered pretty much impossible.

I'd rather not, because there is some danger involved, but it's necessary to achieve my goals in an open and transperent fashion.

Advice and help sought and welcome.

Open Source

Journal Journal: Yet another open source failure 14

Trying to print an envelope address in openoffice under linux? What a waste of time.

Do the people who code this sh*t actually ever use it? Or do they never use anything else, so they simply don't know that it's possible to do better?

Easy prediction - open source will never be competitive. When it's so bad that I'm tempted to throw a copy of XP (or even Wn95) on the box because linux on the desktop is still 2 decades behind the times anyway, there's a fundamental problem that obviously will never be fixed.

I really hate them, but my next computer is going to be a mac.

The Internet

Journal Journal: Every browser is *still* broken. 17

After 15 years, we still don't have an un-b0rked browser. CSS 2.1 was done in 1997, and yet firefox, opera, chrome, arora - they all render differently for non-trivial layouts.

15 years, and they still can't get the basics right. It means that the problem is not the implementation, but the underlying concepts that are flawed in fundamental ways.

And there's no blaming Microsoft or Apple for this fiasco.

No, we did this to ourselves. We're all suckers. The people setting the standards did it wrong, and we didn't immediately stone them to death, salt their fields, enslave their families for the next 3 generations, and all that other "Carthage must die!" goodness.

So we have let ourselves become slaves to stupidity.

What a waste of time, energy, brain cells, and just general aggravation. Have fun with html5 + css3, folks - you'll never see it finished in your lifetime, not even if you live for another 100 years.

Apple has it right - apps, not a stupid one-size-fits-nada web browser. Just like they have it right about not releasing stuff until it's good and ready.

Stupid browsers. Stupid us.

User Journal

Journal Journal: Getting a Job 4

Someone on Slashdot recently claimed I hadn't read Keep the Aspidistra Flying because I thought the ending was depressing. After I finished my PhD in 2007, I've managed to avoid the same fate and have successfully avoided having a real job for almost five years. I've done freelance programming and written four books, and had a lot of time to post on Slashdot (as you can tell from the fact that, so far, I've posted more than anyone else this quarter) and do open source stuff (Ohloh ranks me in the top 2,000 geeks with no life^W^W^W^Wopen source developers).

That's about to change though. I had two interesting job offers recently (I seem to get job offers from banks very often, but I have a very low tolerance for tedium, so I'd probably have been fired around day 3 if I'd taken any of them). One was from Google in Paris (yay!) but working on boring things (boo!). The other was from Cambridge University, which is about as well paid as you expect in academia (aww!) but basically involves working on the same stuff I do for fun (yay!) with some very intelligent people (yay!). Oh, and it's in a city where a quick search found four tango classes (yay!) and property prices not much lower than London (oops!) and which is both small and flat enough that I can cycle everywhere (yay!) and so does everyone else (look out!).

So, in a few weeks I'm moving to Cambridge. I'll miss looking out at the sea, but being able to dance tango more than once a week should be some compensation. There also seems to be a lively salsa scene, although having to learn yet another set of names for the same Rueda steps is going to be a little tiresome...

When I visited, I went for drinks with some of the makerspace guys the night before my interview (I have no idea how much I drank, but it didn't seem to affect my interview performance too badly...) and met someone who worked on the C++11 atomics spec (which I was in the middle of implementing at the time) and someone who had ported 2BSD to a 32-bit PIC with 128KB of RAM, so it definitely seems like a city with no shortage of geeks...

Programming

Journal Journal: NoSQL+ sprintf() == better. 7

Old technology doesn't die - it get re-implemented when newer ways get too bloated and turn everything it touches into Beavis and Butthead.

In the dying days of the last century (awk! - how time flies) I used to do web cgi using c, same as a lot of people. Used malloc and sprintfs() to insert variables into a "template" and then printf()s to output. It was easy to track memory allocation for such cases, so the whole "OMG you'll leak memory" issue was a non-starter.

And then along came the attack of the killer web scripting "pee" languages - php, perl, and to a lesser extent, python. The concept of a "templating language" evolved and eventually we ended up with "templating engines" - megabytes of code to make up for the shortfalls of the approach.

For example, output buffering. php includes stuff like ob_start() because even one stray newline emitted will prevent you from setting cookies on the client. c/c++ cgi programs didn't worry about a stray newline being output by an #include file because only printf() and putchar() would actually write stuff to stdout - so as long as you were just sprintf()ing to your format strings you were all good. In php, even one space before the opening tag or after the closing tag in index.php and you're hosed for sending cookies (which is why you should always omit the closing tag - the spec allows it).

Another advantage was that the ONLY character you needed to escape in any file you loaded as a template as a sprintf format string was the % symbol. No worrying about single or double quotes, angle brackets, or whatever.

For user input, the only sanitation needed was the left and right brackets (to prevent someone from entering raw html, such as script tags) and, again, the % symbol. No "escape_string", no "real_escape_string", no "really_really_escape_string", since the data was stored and read w/o needing sql.

In terms of performance and memory use, sprintf() easily beats regexes. You really can't help but notice the difference. And it sure beats the so-called "compiled templates" produced by templating engines like smarty.

Yet another advantage is portability - any language that supports sprintf() can be used w/o modifying your template files. This means that if you need the best possible performance on some really really HUGE files, you can always do it directly from a shell in c, or if you're so inclined, java.

So I decided to re-implement my old approach from scratch yesterday in a couple of hours in php. The entire code - including for variable range-checking, reading and writing data (strings and arrays), meta tag files, html, reading and parsing config files, getting and setting cookies, posts and gets along with verification and using sane defaults and coercing the values to those default types, loading templates, creating those little "go to page 1 2 3 4" clickies for larger web documents and everything else, is under 9k, including the site's index.php file.

THAT is a lot more maintainable than the 1.1 meg download for smarty templates (and smarty doesn't do the reading and type coercion from the client or the minmax range checking or some of the other stuff).

So, +130 files for smarty, or 2 for the old way (and one is index.php,so it really doesn't count ...)? Oh, and the template files look a LOT cleaner. For example, no embedded program logic like {include file='whatever'} in the templates, so stuff like

<input name="first_name" value=$smarty.get.first_name> // no default values!!!
<input name="last_name" value=$smarty.get.last_name> // no type coercion!!!
<input name="address" value=$smarty.get.address>
<input name="city" value=$smarty.get.city>
<input type="submit" value="Save">
<input type="reset">

becomes:

<input name="%s">, etc ...

... so your template looks like this instead:

<input name="first_name" value="%s">
<input name="last_name" value="%s">
<input name="address" value="%s">
<input name="city" value="%s">
<input name="age" value="%s">
<input type="submit" value="Save">
<input type="reset">

and your index.php file looks like

<?php
$BASE = '../'; all files live outside of public_html space
include "$BASE/php/libfoo.php";

$HTML = read_tpl("test_page"); // read_tpl automatically prepends "$BASE/tpl/", appends ".tpl" extension.

$css="my_skin_2";
$js = "new_js_lib";

$head = read_tpl("head");
$meta = read_meta("test_metadata");
$desc = $meta[0];
$keywords = $meta[1];

// want to test a new skin, new javascript libs
$HEAD = sprintf($head, $desc, $keywords, $css, $js);

$form = read_tpl("junk");
// get, post, cookie, gpc_pg, etc all sanitize the %, < and > symbols.
// also use an optional default value, and coerce any entered data to that type,
// so, if you ask for an integer and specify -42 as the default, anyone entering "FOO" returns -42
$first_name = get('first_name', 'Enter first name here');
$last_name = get('last_name', 'Enter first name here');
$address = get('city', 'Enter address here');
$city = get('address', 'Enter city here');
$age = get('age', -1);

// do any additional validation, data manipulation, etc.
// no need to do output buffering ... it's all in memory until you do the next line.
$FORM = sprintf($form, $first_name, $last_name, $address, $city, $age);

$footer = read_tpl("footer");
$FOOTER = sprintf($footer, "have a nice day!");

//okay, now write the whole thing
printf($HTML, $HEAD, $FORM, $FOOTER);

There is zero programming logic in the template itself - and that's the way it should be. Templates like smarty fail in the "presentation should be separate from code" department.

Plus, since most templates won't include variable names. they're pretty generic, again promoting template re-use. The footer, for example, could contain the output of several other templates instead of a simple message, and you'd never touch the main page template OR the footer template.

Operating Systems

Journal Journal: Bad news for Windows and Linux 9

Remember how Apple captured a generation of users by concentrating on getting their computers into schools? You ain't seen nothin' yet.

One trend that I haven't heard a peep about is how mothers and grandmothers are using their iPhones and iPads to play with their kids. I'm not talking grade-school children, but babies under a year old. I have yet to see a parent do this (play with their baby) with a non-iOS device.

Cradle to grave, these kids are going to think a "computer" is something you buy from Apple, and anything else is a cheap knock-off (which is too true nowadays, btw).

Microsoft will still manage to hang on in the business world, but android? Not a very good future in either smartphones or tablets, unless you want to talk about the lower end. Androids' continued fragmentation problems mean Apple will continue to be the one to beat.

Android on TVs? Nobody wants a "socially networked TV". That's what they have their iPads and iPhones for. TV is for vegging out, for background noise when doing homework or housework, or for playing games. So even if/when android comes standard on most TVs, it's going to be like the clock on those obsolete VCRs - always blinking 12:00:00 because nobody bothers to configure it.

Medicine

Journal Journal: Time to take on DrugCo (Merck) 4

Olmetec and Benicar (Olmesartan medoxomil)are a $2.5 billion a year industry. I was on Olmetec for 3 months, and let me tell you, the side efffects were nasty.

I stopped taking it a month ago, and am pretty much recovered from it, aside from still feeling like I want to take a nap once in a while, but at least the bone-crushing tired-all-the-time can't-stay-awake for more than 6 hours a day even after 6 cups of coffee feeling is gone, along with the other nasty side effects.

There are people who have reported similar reactions, but I suspect that shame keeps them from reporting the worst one - after a couple of months dealing with it, and the depression that it threw me into (another side effect that patients have reported that is not mentioned in the product monograph), I experienced the same suicidal ideation that a few others have reported. Now, considering that I've been through a lot worse and have never spent weeks in a deep dark funk thinking about offing myself, there's a problem with this drug - especially since when I stopped using it, those thoughts went away.

In my email to them, I asked what they proposed to do about this - and about the lack of warnings to either physicians or patients, esp. when there have been similar reports since at least 2009, along with reports of gradual short-term memory lost and other problems, and that two studies have shown that it also presents up to a 5-fold increase in sudden death from stroke in patients who are diabetic.

The argument from the FDA review of these deaths was that the benefits of reducing non-fatal strokes mostly outweighed the risks. That's like saying that you have a car with a steering wheel that will let you either walk away from an accident, but with a much higher risk that it will gut you instead, with no middle ground, and no, we won't tell you that it is much more likely to kill you. Or that for certain trips, maybe you should take a different vehicle. And that diabetic patients and their physicians should be looking at other options.

Their response was the usual corporate mumblings. Lots of words to avoid actually saying anything. I'll be posting it on the net sometime tonight or tomorrow, along with the ROADMAP and ORION studies, and the FDA response.

It's interesting that since the FDA review last year, some of those who said "overall, it's worth it" are now not so sure ...

And yes, I am certainly both upset and angry about this, now that I can see it for what it was.

User Journal

Journal Journal: I guess I'm PMSing a bit ... 6

... or that I'm fed up that I went to check my email after spending most of the day away from the computer, and I get yet another SEO con artist from India sending more spam offering their crappy services - stuff anyone who can throw together a few meta tags and a sitemap.xml file can duplicate.

So corporatesales@web-seo-proposals.in got the following reply:

Hi:
Kindly go fuck yourself. Preferably with a dildo covered in barbed wire. Repeatedly.

It's rare that I swear, but I'll make an exception in their case. And cut-n-paste it into a few of the many others in the inbox.

They also operate under the name ethical-seo-comapany.com (no, the typo is not mine - they actually don't know how to spell company).

Just make sure you check the headers before doing anything similar to make sure the spammer isn't really someone pulling a joe job.

The rest of them got this enhanced versin:

Hi:

Kindly go fuck yourself. Preferably with an aids-infected dildo covered in barbed wire. Repeat until you remove yourself from the gene pool.

Medicine

Journal Journal: Good news, bad news ... 7

The good news - doctors visit yesterday, and got the results from my latest labs. It turns out that going off that evil blood pressure medication was a smart move - my bp is lower now than when I was on it. He asked what I was doing, and I told him that every once in a while I would stop and remember to just "clear my head and RELAX!!! NOW!!!! DAMMI!!! :-)"

No need for meditation or anything like that - just thinking of something better for 30 seconds or so, to "break the cycle." It works.

I've never bothered worrying about cholesterol, but out of curiosity I asked, since it's a problem for other family members - turns out mine is just fine, as is my long-term blood glucose level.

Und now, ve haf zee bad newz! Stupid eye started bleeding again yesterday morning. It's still sore today, so I'm limiting myself to 15 minute intervals, with an hour breaks. Oh well, can't win them all.

Slashdot Top Deals

Genetics explains why you look like your father, and if you don't, why you should.

Working...