Forgot your password?
typodupeerror
User Journal

Journal: 2+ port router+asterisk server? 14

Journal by drinkypoo

I need a new system on which to run asterisk, bonus points if I don't have to configure it from scratch. I'd like to spend less than $200 (ideally I'd pick up something used if necessary for $100) but I have storage devices available, whether CF, SD, USB, or what have you. It can have wireless, but it doesn't have to because I have a routerboard for that. I have found my pogoplugs to be unreliable at best.

User Journal

Journal: Soylent News 4

Journal by TheRaven64

I've not been posting on Slashdot much this week, because I've been trying out Soylent News, which is using (and old version of) Slashcode (with some improvements) and lacks corporate overlords. It seems to have captured most of what I like about discussions in Slashdot, although is suffering slightly from not having nearly as many active users (50 or so comments is still the norm and it probably needs 100+ to be sustainable).
If you've not visited yet, I'd recommend giving it a go.

I'm TheRaven over there.

User Journal

Journal: Continuation on education 13

Journal by jd

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: Serious proposals to replace obamacare begin 49

Journal by Qzukk

The WSJ has floated an opinion piece offering what it calls a conservative alternative to Obamacare, that I think is the first time I've seen any conservative alternative except "Nuh-Uh!" Google news popped it up with a link to http://stream.wsj.com/story/latest-headlines/SS-2-63399/SS-2-381425/ which seems to be some sort of glorified rss feed with an HTML skin, so I have no idea if the link will be good for anyone else in the future.

It is, in my opinion, a beginning. In the past, I've called obamacare the wrong answer to the wrong question. This article suggests extending the current employer tax writeoff so that everyone, not just the employers, can buy insurance with tax-free money. Then it goes a step further by means-testing a tax credit for the poor so they can buy privately operated insurance with their tax credit instead of getting Medicaid. I think this is a good start to answering the question of how to make it possible for everyone to get at least minimal health insurance (if they want it. This is the conservative version, remember).

It is still the wrong question, though.

User Journal

Journal: 2.8 seconds of hate - bash-completion 1

Journal by Qzukk

In an effort to be fancy and helpful, bash now has context aware tab completion (in the bash-completion package on Debian). Based on where you are and what command you're typing, pressing tab will Do (what the completion script writer thought was) The Right Thing.

Unless what you think is the right thing was was the behavior of older versions of bash where you could do

**/*.c<Tab><Tab>

and (eventually, ** is damn slow) get a list of all of the matching files. It also worked with [...] {...} ? or any of the other bash wildcards. You know, just in case you wanted to see what your command is going to do before you hit enter.

Now I have to ^U, ls ^Y, then ^Y, which takes about 2.8 seconds (including the realization that bash is just going to keep beeping at me if I keep hitting tab). Or disable fancy and helpful completion with complete -r

User Journal

Journal: Two minutes of WTF 1

Journal by Qzukk

So I right clicked in an explorer window in windows 7 and went to "New >" on the menu and the submenu didn't open. I clicked it a few more times and nothing happened. I clicked it a few more times and the entire explorer shell crashed and restarted.

Wish I knew why the hell it sometimes takes 30+ seconds to get to "New Word Document" on my work computer.

User Journal

Journal: 2 mins of hate: What can make me switch to a new RCS again 1

Journal by Qzukk

Three words: Four. Way. Diff.

Show me where my patch (before and after) conflicted with the last patch (via blame) before and after. Bonus points if you can show both complete commit messages. Extra bonus points if you look at the branch, figure out where it went wrong (at what point did my patch last apply cleanly?) and show me all the commits since.

Telling me shit's fucked up doesn't help anyone (that's what I got with cvs).

Telling me what I was trying to do tells me what I was trying to do, not what Bob was doing when he checked in before me, but at least I know what the hell I was doing when I did it months/years ago (this is where I am now with git rebase).

Telling me what the hell I was trying to do and what the hell Bob was trying to do, now that's what I need, because now I know what it's supposed to be doing when I'm done merging the code and can do so with a reasonable degree of confidence that both Bob and I will be happy with the result.

For my company's workflow, this would be the holy grail of revision control. I'd even be tempted to use a graphical tool to do it.

User Journal

Journal: Today's two minutes of hate

Journal by Qzukk

git, a love/hate relationship. Right now, hating really really hard.

You can do all sorts of incredible things with it, but there's so much that seems obvious I ought to be able to do, but just can't see how.

Case in point: git rebase. This is an incredibly powerful tool that lets you take changes and apply them to a different branch, one at a time very rapidly (if there are no conflicts). If a conflict arises, the process pauses, tells you where it died, lets you fix it, then you git rebase --continue. EXCEPT you get half of the first line of the commit message (despite being on a 128 column terminal it cuts off at 80) and no hash or any other way (I can find) to look up the complete description of the current commit being fixed (other than aborting the whole thing, going through the complete log to find the commit starting with whatever message then starting again (rerere makes this not painful, just annoying)). Oh, and if you used a branch name, that branch name is MOVED to the new location.

Other case in point: git merge. This is an incredibly powerful tool that throws everything together all at once and lets you deal with the aftermath. Conflicts, conflicts everywhere and no explanation of what the code is supposed to be doing. Fortunately, someone made a git-merge-like-rebase script that creates a temporary branch, rebases it to the target, then deletes the temporary branch leaving you with the original branch where it was (like merge) but applying one commit at a time (like rebase).

Still, I just took 2 hours of work doing something that would have taken 2 days in CVS, thanks to git rebase (rolling out a new version of our code for one of our customers with a heavily customized application. Rebased their custom branch onto our new release branch, fixed all the conflicts where they want customers sorted firstname lastname or blinking red lights or whatever and done). Probably could have done it in 1:30 if I didn't have to go back through the log to figure out how to fix "Change order of fields so that customer rep appears before ". I'm working in more and more tricks to reduce conflicts every upgrade so hopefully I'll have it down to less than an hour soon.

So now I love it again.

User Journal

Journal: Life post Google-Reader 5

Journal by Qzukk

So Google followed through on their threat to kill Reader and I ended up having to track down a new RSS feed reader. Having been bitten by the Cloud, I decided it'd have to be locally installed, after trying a few I've settled on FeedDemon (now discontinued, a shame) as "best so far".

The one thing I really, really miss about Google Reader (which in fact was the reason I started bothering with RSS in the first place) is that it had a bookmark you could set that would open the URL of the next unread item in your queue. Dragged the bookmark to the bar, and one click gets me to read something new and exciting (and middle click to read lots of new and exciting things in tabs). Sure, every time someone published an RSS entry without a URL google gave me a 500 error and marked every single article read, but hey, it was damned convenient when it didn't implode.

FeedDemon gives me a link to click on each article to open in its (embedded IE) browser, but as I go down the list of articles it doesn't automatically remove the read ones nor does it automatically add new unread articles unless I manually refresh the article list (maybe I'm doing it wrong?). It has a "Next Unread" button but it doesn't open the URL, it just shows the RSS item header and then I have to click it to open the URL.

Strongly considering taking some of what I learned in the Coursera python class a while back, this feed parsing library, and learning wxPython (platform independence!) and spinning my own. It won't do much, but it WILL have a button that launches a chosen browser with the chosen URL (thinking of making it a systray icon: left click to open next item, right click for menu, blinks when there are unread articles).

It could even pop up a window to display an article with no URL.

User Journal

Journal: 20 seconds of hate: outlook, *again* 1

Journal by Qzukk

Hello, Microsoft. Please explain to me the reasoning why when a meeting is sent to people, they get a blank email with an .ics file attached, which is absolutely fucking useless to everyone not using a calendar app?

Thanks.

BTW, yes, I know about the option to turn ical off, explain to me why the FUCK you are incapable of sending a readable email with an attachment.

User Journal

Journal: Today's two minutes of hate 2

Journal by Qzukk

In every version of it Outlook I've used, it stands out as being terrible at dealing with email in general (aside from the various exploits just from opening malformed emails). It's got rules that cancel themselves because the computer just woke from sleep and isn't connected to the internet (and therefore the rules are "invalid") to having a hojillion different sources of email addresses, none of them configurable or editable (Seriously, why can't I fix a misspelling in an email once it's been saved wherever the hell it gets saved?). Autocompletion of email addresses is a complete clusterfuck. I had to delete a customer from my contact list completely and start over because her email address changed and when I edited her contact, her record refused to come up when I'm sending an email (Doesn't come up when I type, doesn't come up in the contact list when I press the "To" button, but if I write her email by hand and choose "Look Up Outlook Contact" bam there she is complete with name and company information)

If it weren't for Exchange, I'd have ditched this shit long ago. Sadly, it's still the best I've got at dealing with scheduling meetings (at least as long as they're in our own time zone).

User Journal

Journal: nosupportlinuxhosting fail

Journal by drinkypoo

I decided to try out nosupportlinuxhosting but they appear to have suspended hyperlogos.org without notice or explanation. I sure hope I don't have to issue a chargeback, that would be stupid. I'm already waiting for Amazon to process two returns that have been sitting around at their facilities for weeks.

Weekends were made for programming. - Karl Lehenbauer

Working...