About Me

Michael Zucchi

 B.E. (Comp. Sys. Eng.)

  also known as Zed
  to his mates & enemies!

notzed at gmail >
fosstodon.org/@notzed >

Tags

android (44)
beagle (63)
biographical (104)
blogz (9)
business (1)
code (77)
compilerz (1)
cooking (31)
dez (7)
dusk (31)
esp32 (4)
extensionz (1)
ffts (3)
forth (3)
free software (4)
games (32)
gloat (2)
globalisation (1)
gnu (4)
graphics (16)
gsoc (4)
hacking (459)
haiku (2)
horticulture (10)
house (23)
hsa (6)
humour (7)
imagez (28)
java (231)
java ee (3)
javafx (49)
jjmpeg (81)
junk (3)
kobo (15)
libeze (7)
linux (5)
mediaz (27)
ml (15)
nativez (10)
opencl (120)
os (17)
panamaz (5)
parallella (97)
pdfz (8)
philosophy (26)
picfx (2)
players (1)
playerz (2)
politics (7)
ps3 (12)
puppybits (17)
rants (137)
readerz (8)
rez (1)
socles (36)
termz (3)
videoz (6)
vulkan (3)
wanki (3)
workshop (3)
zcl (4)
zedzone (26)
Thursday, 22 January 2015, 01:32

"HoloLens" - PR speak for LASER.

To create Project HoloLens’ images, light particles bounce around millions of times in the so-called light engine of the device. Then the photons enter the goggles’ two lenses, where they ricochet between layers of blue, green and red glass before they reach the back of your eye. “When you get the light to be at the exact angle,” Kipman tells me, “that’s where all the magic comes in.”

First part is clearly a LASER because that's how they work. Second part is? Prism? LCD panel? DLP thing?

It sounds interesting enough on it's own without having to fluff the language so badly. At first it sounded like it could be a hologram due to it using a LASER (coherent light) but it just sounds like a projected screen; common sense tells us that there's not enough processing power to render volumetrically at the required resolution to start with.

My guess is that they were worried that the public might be scared of the makers of Windows and the XBOX 360 RROD disaster making hardware that shines a LASER directly into their retina?

But yeah "light engine", FFS.

Tagged humour.
Tuesday, 20 January 2015, 02:31

Yay, NBN is here at last.

Got the nbn hooked up on Friday - and fortunately i'm still in an area they're doing fibre to the home even if it is coming in over-head. Of course most of the country should be getting that too but the total fuckwits running the country decided to show their complete lack of intelligence and add a ton of future cost and grief by changing it to 'fibre to the node' so they can maintain 50 year old copper pairs until they need to go back to the original plan at double the expense, ... but i digress.

It was something i was kind of excited for a few years ago but then I kind of cooled on the idea since the internet is mostly just a pointless waste of time. But then again so is most human activity isn't it? The NBN is mostly just going to be used for ip-tv i'm sure.

The ADSL I had before wasn't too bad so for the most part there isn't much difference so far since most sites were bandwidth limited their end rather than mine but it should be more reliable during wet weather if nothing else (the old modem was getting flakey too and needed a weekly-or-so reboot). I guess the peak (i'm willing to pay for right now) is 2x download and much higher upload (10x or 20x, not sure what it was before) compared to my ADSL, which is better than a poke in the eye.

I am getting a fixed ip address this time and will be setting up a local webserver - mostly because I can and want to but also to play with some web software and move away from google's advertising-supported services. I'm going to try to write my own cms/server/thing based on some experiments I did a few years ago; but it could be a while before I get anywhere because i'm just not in any rush and the weather is too nice over summer (and it's a fairly large undertaking together with me being a bit rusty on the technologies involved).

I'm also going to try to run it on my beagleboard xm too just for kicks - after a bit of a search i found where i'd left it and it seems to be working fine. It should be fast enough for the "expected load".

I'm too lazy to take a picture of it right now but yesterday I finally worked out how to fit the beagleboard and a usb harddrive into a tidy & compact case. I have an old/dead 3.5" USB HDD enclosure made of extruded aluminium that I cut out and filed down some holes for the usb/network slots and had a portable 2.5" HDD I filed down a bit to slide into the other end (retaining all the shock mounting and external case). I have the connecting cable running externally but since it's already got a network cable coming out the same side it sort of "works" and is a lot neater than anything I could come up with when trying to shoehorn the cables into any other reasonably sized box (usb cables are so bulky in a confined area).

I didn't add any holes for the audio/video panel but there should be room for some right-angle plugs should I need it. I guess if i ever replace my burnt out amp I could set it up near that and use it for a radio too.

Tagged beagle, biographical, wanki.
Friday, 02 January 2015, 02:08

Another year down [the drain]

So there goes another year. I haven't been blogging much for a while because I haven't been doing much terribly interesting for the last few months. I wrote a few posts but decided against hitting the publish button for whatever reasons.

Work had me busy/occupied and I lost interest in hacking for the time being. I did a little work on a "simple" photo/layout editor (mostly due to how shit the gimp has become) but I wasn't really interested enough to keep working on it. Even the last post about ezesdk was work i did months prior. I've got a couple of months off so perhaps it will rekindle some spark.

I got a PS4 a few weeks ago when a bundle came along that tickled my fancy. I mostly wanted it for driveclub which has been pretty fun. At first i thought the handling was a bit funny - like having truck springs/shocks/brakes on a hatchback - but you get used to it and once you get to the faster cars they are a handful pretty much like they are on gran turismo. Not that i'm very good at it as i seem to fall around the 25-50% mark in terms of the leaderboards. Loading times are nice too, i could say "next gen" but just before I got the PS4 i realised I had the PS2 version of WRC4 i hadn't played (at all?) so was playing some of that. Bare menus and sub 10s loading times for tracks, not to mention weather and so on - Evolution have plenty of "form".

TBH I think the game is somewhat better than Gran Turismo actually - the driving is at least as challenging and more fun, the track designs are considerably better and at least it can keep a solid framerate - and that's before you consider how nice it looks. It really puts into question the silly things that Polyphony were focusing on like "1080p-ish", over-detailed car models, volumetric smoke - all nice but not worth the cost of tearing and dropped frames (i think they're good things to focus on, but the target platform must be considered first). resogun is more fun than I thought it would be, it seems slow to watch but once you get going it becomes very hectic. I tried p.t. - thought it was a bit boring getting stuck in a corridor when I couldn't work out how to advance. A bit skin-crawly I guess but not nightmarish-ly frightening or anything (like typical japanese/korean horror). Pixeljunk shooter is really cool - love the music and it has a nice puzzle mechanic (apart from the bone muncher perhaps). I only tried LBP3 for a bit - the levels are very good but as ever it's impossible to find decent community levels and the networking stuff is rather slow. I have the last of us but haven't opened it yet.

The OS is nice. Just simple and quick. Makes using the PS3 a bit of a drag, particularly with the way patches and downloads are handled. The game installs/playgo stuff is really very good too.

The IP-TV and video support is pretty much shit (the DVD player is ok but it's still the same interface they used on the PS2, which is baffling, not that i ever watch dvds). It has a few tv stations' 'catch up' services available but since the whole interface runs at NTSC-derived 60Hz it just plays back like total shit - the PS3 is far (far) superior here - as it is with almost all media. Actually for some odd reason you can only select NTSC fixed resolutions too, it's impossible to set 576p for instance but you can set a woefully bullshit 480p ...

So yeah, that's about all atm. I've been keeping an eye on some other more interesting stuff like the HSA finaliser from AMD and opencl2, but not too closely because it would take a good chunk of time to get anywhere with it. Today is headed for 42 and at 11am it's already 40 and windy and hot enough to feel like you're breathing inside an oven - so i'll probably just be sitting around the house playing games and drinking beer. Unless I go to the pub to do the same but all my drinking mates are working/busy/married/interstate/os these days so it's usually a bit dull and can become a bit depressing.

Tagged biographical.
Thursday, 27 November 2014, 11:36

ezesdk 0.4 released

Been a while and it's been basically ready for weeks (months?) but I finally found a few hours to drop out a new release of ezesdk. As the post linked below notes it's mostly for the 3D rasteriser sample but I did a bunch of re-arranging and other cleanup too.

As usual it is available on the ezesdk home page.

It still requires root to run and i haven't looked at all into the "new driver" stuff. I've been keeping a pretty loose eye on that but not doing anything about it.

Tagged code, hacking, parallella.
Friday, 17 October 2014, 05:08

A sprung spring

Obviously pruned at the right time of year this time. Also got rid of most of the black spot, but not all.

One way ...

The other way ...

The biggest of the lot (bit past it's prime, and doesn't get enough sun, but wow getta load of the size of that).

And that's only half of them. About half of the total are scented and 'smelling roses'. The blurry purple one at the back of the first shot has a rich musk scent and there's a couple more of those.

I can't take credit for the choice of cultivars as they came with the house when I bought it, but one tries to keep them in shape and so far this year they're doing rather well. I did kill one last year but i think it was wild stock and not much to worry about.

Tagged horticulture, house.
Wednesday, 15 October 2014, 08:56

SFA

Have been taking a break from hacking lately, so not much to talk about around here.

Well partly that is because I started back at work a month ago. Not really getting into that either and it's been pretty tiring. I don't feel like i'm getting anywhere but looking back I delivered a good pile of stuff in a very short time so my frame of reference is just out.

Also did a bit of reading, played some games, threw a grand final party - although the game was a bit of a washout, cleaned the house for that, did some gardening and pruned the roses (which are really fantastic right now with big bunches of hand-sized flowers). Nearly bought a PS4 for driveclub during Bathurst last Sunday but BigW were out of the bundle I was after - I guess I will now wait for the next reasonable deal because i'm still after it. If it was something i worked on I would consider the game+engine a masterpiece of engineering although obviously not the broken online part - I would really be interested to know how they fucked it up and whether it's a technology issue, but I guess we'll never know. Not being fully functional after a week points to a pretty large architectural or technology problem and not just a typo somewhere though. I guess writing a twitter+facebook+realtime racing thing isn't all that easy after-all.

Been doing a few semi-interesting things with JavaFX for work but not really enough to blog about so far.

'later.

Tagged biographical.
Wednesday, 10 September 2014, 04:12

Little gpu bits

I've mostly been taking it easy - i'm not going to be on leave forever (unfortunately) - but i've tried a couple of little things on the gpu code.

First I tried creating a tile-based implementation for the ARM/host version but this runs about 1/2 the speed of the line-oriented one. Not that I really optimised it but that's a lot to make up and i don't see the point; it's a convenient test-bed for experimenting though.

Then I tried creating tile-accurate indexing rather than using the bounding box. This improves the output a small amount on the purely arm version but takes a hit on the epiphany backend since the hit to the arm-side code exceeds the gains on the epiphany-side. It will depend on the workload and it might be worth it for larger triangles. Then again maybe the index isn't helping as much as I thought.

I also started (re)reading about some lighting stuff but didn't get very far.

Feeling pretty lazy today too.

Update: But not too lazy to poke a bit more it seems.

I made a "slight improvement" to the ARM based tile renderer and now it's a bit faster (10%) than the line-based one with a specific test-case. Being lazy the first time I was just processing the tile row by row rather than performing the rasteriser pass across the whole tile first and then processing the fragments afterwards. This just helps the compiler keep more setup data in registers for each loop and is closer to how i'm doing it on the epiphany.

Update: Haven't been able to get into it this last week. I think hayfever season is starting and even before the symptoms hit it just seems to wreck my sleep more than normal. Been really tired/lethargic and not really feeling like doing anything - it just feels like all i'm doing each day is hanging around waiting to escape from it into the unconsciousness of sleep again. Today I even feel like i'm "coming down with something" although i'm pretty sure i'm not and it's just some hayfever related nonsense. I've done a little gardening at least - preparing some garden beds, putting in a few seeds, and rejuvenating some pots.

But as a bit of a puzzle a few days ago I tried to see if i could get the rasteriser loop any faster. I think I can get the inner loop down to 8 cycles with some unrolling, double load/stores and some constant preloads. The previous best was 10 cycles but i'm not sure this new version is practical.

This came out of playing with the idea of breaking the work up into squares (4x4 or 8x8) rather than rows. This has overheads due to performing the edge tests multiple times outside of each pixel test but also reduces the overheads of calculating over the bounding box. But it's one of those things I need a solid afternoon to try out by coding it up.

These tile tests also allow one to determine full coverage outside of the loop - which removes the need for the edge testing calculations at all. So I tried to see if that could save anything in the inner loop; but so far the latency from the z buffer testing has prevented any gains being made. Even assuming I could pipeline that away I think I can only save 1 cycle.

I also toyed with creating an integer rasteriser that stores the framebuffer internally using bytes. For a flat shaded/z-buffered/non-blended triangle I think I can get that down to 7 cycles per pixel (and that's rendered, not just converted to fragments). Is that even useful? Who knows. But to test that idea out I need to work on a new design which will take another solid afternoon as well.

Tagged graphics, hacking, parallella.
Wednesday, 10 September 2014, 01:51

Boycott nvidia, cuda?

nvidia has taken the nuclear option to sue every other gpu maker in existence (apart from ati/amd with which they already have cross-licensing agreements i guess).

Patent trolling is usually the last gasp of a failing business. Which implies that despite (or because of) their overpriced hardware they are failing as a manufacturer; GPus are now commodity items and the margins no longer exist to run their type of high-margin business.

Patents are a cruel abomination which distort the workings of a "free market"; they directly codify rentier behaviour which costs society both economical and technological progress. The only beneficiaries are the unproductive leeches of society at the cost of everyone else.

If you're an engineer or scientist who is currently using or considering cuda for your work I suggest you reconsider both to protest this failure of a strategy and to protect the future value of your work.

Just for nvidia to consider this strategy shows they are not long for this world and choosing to use such a single-supplier would be foolhardy.

Tagged opencl, philosophy, rants.
Newer Posts | Older Posts
Copyright (C) 2019 Michael Zucchi, All Rights Reserved. Powered by gcc & me!