my dear SRAM …

… i want you back. really. i’ve lived too long with my DRAM, though very fast too, but it’s the latency that makes me wait a lot longer than necessary. even if you want to minimize the tracelines on the PCB and still use standard chipset timings/layouts – fine – use the CAS / RAS access schemes, but get rid of the latency and precharges and all that!

with structures of .25 microns now you can fit a lot of sram cells on a die and still have a decent pricepoint. think of flash – you’ll get 8GB for $30 on sale, that needs about 6 times the area, and even more if it’s multilevel, but still, you could get a GB of SRAM for the same price. and that’ll fit all the programs you usually need (kernels, drivers) and some of the userdata as well

i’d rather have some SRAM in my system than SSD – the loading times don’t bug me as much as wasted performance while i’m running an app! and even 12MB cache in the latest CPU isn’t doing it for me. i want my SRAM back!!!

IP cams

i’ve been playing a lot with panasonic bl-c1 cameras, they get you about 4 fps on a 640×480 resolution with best quality (‘precision’ setting). there are 11 with half-duplex 100Mb network, i use the 4 other strands for power. about $100 a piece. server P4-1800-400-512 can do about 1fps per 5% cpu, fast enough for the purpose. needs 80MB RAM per cam to buffer!

what i’m missing though is a setting to pull BMP etc off the cams – it doesn’t make sense on the LAN to compress the pics, then transfer to the server, and uncompress them to analyse for motion. bandwith on the LAN is plenty, and cheap, but compression takes time and power ( = heat and $) … maybe some firmware change?

water & energy management

why don’t we have underground water storage tanks for rainwater? or ‘clean’ wastewater?

1. it’s FREE
2. for fires it might be useful
3. it ‘collects’ energy – hot or cold

with a heat pump you could draw lots of energy from it, or ‘dump’ heat if you need to (eg from airconditioning)

also think about all the waste water from a hot shower or a bath! besides you could reuse the water for the toilet flush – i know it’s done already. My idea is that you ‘tell’ your wastewater system how dirty your water is – eg it’s fairly clean from the rinse cycle of your dishwasher! Or just let the system analyze the waste and decide!

All the systems in your house need to ‘talk’ to each other to use water and electricity more efficiently.

what’s in a name?

you do this every day many times over: type a username, then a password

but why? it’s all just letters and numbers, right?

it is known that most smart attacks involve some kind of social engineering e.g. the attacker knows the victims name, and tries a list of well known passwords (like 1234, admin, test etc) from a list – sometimes a dictionary helps, too, with the most common names, or combinations of username with birthyear etc (like john1975)
and then it’s up to the password to keep you safe – so you ought to choose one that’s long and has special characters in it (like #<*). if that doesn’t work the attacker digs deeper and calls coworkers, pretending to be a friend, super, lawenforcer or other coworker to obtain more infos.
BUT the name is still fairly simple to guess. so WHY NOT get rid of it?

let’s say your username has 10 letters, and the password is another 10 – that’s 20 letters to type, and in between you gotta use the mouse to move from field to field (or the cursor or tab)
the first 10 though are almost a waste of time, and the next 10 are supposed to be very difficult to guess (if you can’t find the post-it-note next to the screen!) – so sometimes people put a post-it up on their monitor with that info …

what about if you just enter a (complicated) 15 letter ‘access code’ that might have some personal meaning to the user? eg FOOL1975=>JOHN!

hard to guess, in NO dictionary, personalized, shorter than 20, and safer!

almost as safe as certificates – but who remembers a sha1 hash with 40 characters? besides, the # of wrong logins and attempts per timeunit has to be limited anyways

installing … waiting … installing … waiting …

you’ve seen this a million times: start an installer, click through the fine print, the ‘agree’ buttons, the choosing of the options, install directory etc etc – what is the CPU doing during all this time? nothing!!!
THEN after all this we gotta wait to uncompress the CAB files etc, copy data to the disk, check for updates etc … what a waste of time!

why not have the CPU do all this WHILE we (maybe) read through the legalese etc – once you hit ‘agree’ the already waiting files get linked into the filesystem, and that’s it! would save countless hours of waiting for us and the CPU, besides doing an install faster is MORE productive, and SAVES electricity – you’re able to switch off the machine right away!

modern multi-cores should be even fast enough to uncompress ‘on the fly’ while the data/updates are read off the CD/DVD or downloaded

switching tasks …

… takes time, some paper i read mentioned between 3 and 5 percent overhead for a 1000Hz tick on a new chip –
why not run the whole scheduler in L2 or L3 cache, in a protected area – 1 or 2 MB would do the trick?
switching tasks could be done in a few cycles, and even within the time it takes to get a byte from the disk – or even a page fromĀ  RAM (filling a cache line)

i always feel like my CPU is bored and useless whenever i hear the disks rattle!

PS i know there are microkernels, but AFAIK they are ‘normal’ pieces of code, very compact, but they can be thrown out of the L1/L2 cache when needed. my thinking is there;s gotta be a protected area inside where 1-2 MB reside and run the task scheduling with almost no swapping or overhead

the catch with virtual machines is that (at least) a hundred times a second everything gets thrown out and a new task ‘moves in’ … ok that’ll be only a few percent of the whole CPU time, but what if you could switch seamless whenever one CPU is waiting e.g. for memory swapping (a whole 4k page!) or even worse, diskĀ  I/O

Intels approach now is that they started integration mem controllers in the CPU (a few years after AMD), but they work in parallel, and the mem is not managed (or has no affinity with a certain task), so everything gets scrambled around anyways!

stupid disks needed …

… that’s the solution to many problems! only the OS (and somehow the user that might be in charge here) would know the following:

–> what files need to be accessed quickly (in how many milliseconds) e.g. logfiles, config files, databases etc

if needed the OS could create several copies all over the disk (coherency problems!) so you can reach the file within a “short stroke” (make a note in RAM that IF you’re not busy all copies need updating)

–> what files need to have fast transfers (in bytes per second) e.g. for hibernating, video-editing (HD demands!)

look for some nice real estate around the outer cylinders, and do NOT allow remapping to ruin the dataflow

–> what files are important e.g. email, OS files etc so that the OS can make sure those are safe areas (NO read or ECC errors in the past, check frequently, make auto-backup copies someplace else)

a normal disk controller would not know anything about the quality of the data that gets sent to him. several categories need to be established, see above, e.g. transferspeed/reliability/accesstime with different weights so an intelligent choice could be made even if the disk is getting totally filled up

the OS needs to make the decision to remap or not, or how to use the remapped areas, e.g. for unimportant files that gets accessed only once in a while

disk controllers could be smaller, cheaper, and overall you get more flexibility and speed!

even SSDs would benefit: low speed, high capacity areas are cheaper (smaller) to make than high speed areas, so even within the same die you could seperate the two and offer the OS to choose

unplug the plug

that’s the only really safe thing to do – when you’re in trouble, or you got a worm/trojan/virus/hacker etc (or, more recent, the conficker-virus, about 5M victims)

as long as you’re unplugged, you can do ALL the troubleshooting, pinging, DNSing etc that you want to do, mostly without messing things up more than they are already

most admins are somehow helpless without any network, but for that case you carry a few different Boot-CD/DVD with you (with various OS, just in case one won’t boot because of some BIOS compability issue etc)

unfortunately the whole activation/serial number issue is keeping admins from doing their work – being online is dangerous with an unpatched system, but to fully run the system you need to activate, but to do that you gotta be online … don’t you just learn to love linux?

powerbricks

most schematics i’ve seen recently convert the 110V AC into DC right away and then go thru capacitors & inductive circuits to go down in voltage. from what i’ve read some bricks would work on DC right away – if the voltage is high enough … i’ll run some tests here

would be great if we had some 24V DC outlets in our homes (easy 2 car batteries in line for backup!) – that seems to be the highest volts any of my PC/laptop/screens/mp3/DVD player needs … and that nicely coinicides with the 26V from the solar panels :)

think how much gets lost thru conversion:
12V backup battery -> 110V AC upconverter -> powerbrick to 19V DC -> internal 1.2/3.3/5V DC for the circuits

let’s say you got 3 conversions with 90% efficiency each: overall you got .9 x .9 x .9 = .729 means you got about 73% at the end! the rest is HEAT

solar panel split-power

my favorite panel comes from kyocera with a 200W rating – at a max of 26.3V at 7.6A. the thing has 6×9 little segments. so why can’t we have several outputs to switch the Voltage so your home does NOT require ANY switching power supply to charge your in-house batteries etc – the efficiency might improve since there’s no conversion necessary? i think you can have several different power supply voltages thrughout the home – e.g. for A/C, computers, flatscreen, heaters – 5,12,24,110 V

that would work best if every segment had it’s own connector, i admit, and here you would have 108 wires sticking out … but let’s say you got only 9×2, one pair per stripe on the panel, and you got 10 panels on your roof (for max 2kw), that’ll give you some possibilities to switch the array according to the needs

think of it as a smart power-grid that gets reconfigured as needed!

wiki tells you that each cell has about .4-.6 V, so i guess here all 54 cells are ‘in line’ to reach the 26.3 V