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)
Saturday, 30 January 2016, 01:38

still breathing

Holidays about to end. Yay, back to work.

Pretty uneventful overall. Getting sick stopped me going to the beach and then I didn't feel like doing anything at all; it's been a very quiet last few weeks and I haven't left the house in a week. I ran out of people to catch up with as well, and vary rarely does anyone try the reverse. Peach tree got ripe which is nice and i'm starting to get some chillies, and i might finally get some ripe tomatoes next week - they're just taking forever. Overall the garden's been a bit shit this year as it's just been too dry - we just had a wet couple of days but that's the only rain we've had for months. My water bill will make none of it worth it. Even the roses only flowered properly once.

I finally decided to crack open some of the games sitting here and I've been playing a lot of Bloodborne the last week ... i'm pretty impressed with the level and enemy designs and the fighting mechanics. I'm always surprised when i find a whole new area to explore which adds another major variation to the environments and enemies. The graphics and framerate are much better than I expected from "reports" - the chromatic aberration is barely visible from the couch and actually looks fairly natural, and it's got some frame-drops but is otherwise very solid. The level of detail and density is incredible and the lighting changes as one progresses (certain bosses advance time) changes the whole mood. After 28 hours i restarted with a new guy so i could level better and am 37 hours and 90 levels in with him. But despite the really tight combat (which took days to get to grips with) and inspired setting; it's just starting to feel like any other RPG - I progress till I get stuck on a new area or a big baddie and then have to grind levels and equipment to progress. Death is cheap so it's more just an annoyance at this point. I did the first couple of preset chalice dungeons yesterday and they are a mixed bag; it leveled up my weapons but even the first run feels like grinding. So it's getting a little boring actually since i'm getting a bit overpowered in the areas i've already done, stuck on a new area, and the chalice dungeons feel old already. I guess I'll keep going, at least it's a heavy time-sink. It's all a bit fucking dreary though.

And still no Vulkan?

Tagged biographical.
Monday, 11 January 2016, 11:21

vintage hardware

So my random visits to 2nd hand shops & pawnbrokers finally ended in spending some money.

It also came with the garishly-bright-orange lined, grey padded vinyl carrying case and a few bits as well. Was a little bit of a haul on the bike but it survived the journey home strapped to the pannier rack.

I took the top off and it looks unworn although there are a few wear marks here and there externally. I ran a few stitches and it seems to work ok, certainly better than the other machine from such a limited test. It has some strange stitches such as ones that move the needle backwards and the zigzag width setting mechanism is just a bit novel.

Not much about this make on the internet apart from someone trying to sell the same one for $400 on gumtree. But it just appears to be a Brother rebadge and there's more info on those and best i can tell it seems to be about as old as me. Strangely there are almost no manufacturer markings on the machine at all apart from the branding on the front and a serial number on a plate riveted to the underside. Maybe they were hiding the fact that it was made in Japan?

I just wanted a free-arm machine and given it was almost all metal and it looked to be in good enough nick the $89 cash converters wanted didn't seem much of a risk even if the bloke gave me some funny looks. Not that i have anything in particular to sew but it's handy to have one that works properly.

Tagged biographical.
Friday, 01 January 2016, 10:36

big whoop, another year down

Been busy with getting out of the house, going to the beach (it's turned into a weekly heatwave here), hanging around friends, ... but now i'm pretty stuffed and have some time to think about the year ahead.

It's just as bleak and pointless as it's been every year for the last 20 and i'm getting pretty tired of it.

Tagged biographical.
Monday, 21 December 2015, 10:47

making dough

Tried making some ciabatta today based on the first hit for such via a search engine.

Well it was more a two-day "effort" although there wasn't much interaction apart from trying to work with some very sticky glump.

I probably baked it a little too long but it's serviceable. Has a nice flavour and chewiness though.

Tagged cooking.
Friday, 18 December 2015, 11:20

hot for xmas

Yay i'm on leave at last.

But what am i to do,

with all this time to pass.

It's been really hot this week - from Monday I think it was 39, 40, 41, 42, and the last forecast i saw had 43 44 for Saturday before a bit of a cool-down. I've been going to the beach in the afternoon then dropping into the city for a couple before going home (and yesterday i went back to the beach again but that was a bit keen). Today i stepped on something in the murky water (puffer fish? crab?) which cut deep enough into the pad of my foot to sting, so i came straight home and tended to that. Seems ok so far and i drew more blood hitting my head in the bathroom leaning down to dry my feet so hopefully it will clear up and i'm not stuck hobbling for too long - i've had more than enough of that this year. Apart from not being cold enough there was a line of murk and some shit floating on the water so it's not the peak experience so i might've skipped tomorrow regardless. It's pretty much dull as fuck too but it is decent exercise and i'm getting quite fit and shapely.

The pubs have been a bit feral and i'm not really enjoying the beer much so i might give that part a rest for the foreseeable future too. Drinking alone really is pretty pathetic but it's somehow ended up at a stage where it's either that or stay home alone apart from some occasional visits to friends (well, one friend, who's still close enough and usually home) or from friends (well, mostly one friend, but not for a while). I rarely hear from family unless they're passing through town although that's probably about the right amount. It just sort of happened.

Going to be a touch cooler next week but its looking high 30s for xmas day which at least is a good start for the day. I probably wont go "home" for it but i'm undecided as to it's final fate. I have done it alone before and that was a really nice and relaxing day but I can imagine it being not so nice if the mood swings the wrong way and this year it's not been swinging up much. Friend offered his parents do if i feel like grandchildren running amok.

Garden's still alive but it's taking a lot of water to keep it so. Its been a pretty dry year with rainfall 150mm+ under the average which is only a paltry 550mm to start with but there might be one more thunderstorm left yet. After a short family visit on the first, the second morning of leave I cut down a tree out the front that was over-shading the roses and was rotting at the base - I was expecting the rest of the tree to be a bit dead but it was only right at the stump but i'm glad i got it out since it didn't seem too solid in the ground. But it's been too hot to do much since. Riding isn't actually too bad so long as you're moving and you slow down as soon as you feel over-exertion but i think it's wise to give the hills a miss for the moment unless i feel like an early ride and have the urge to feel sore the next day (yeah i dunno, i'm a bit over that).

I need more winding-down before thinking about hacking so perhaps i should finally crack open some games but eh, maybe. I could use some good sleep-in's too but i keep getting up early instead, at least the heat has slowed down the builders across the road some so i might have a chance if i try. I sort of did this morning but being awake from 3am to 7am beforehand rather negated any possible benefit.

Life rolls by.

Tagged biographical.
Saturday, 05 December 2015, 07:48

Well that sank a lengthy day.

Who would have thought a pair of boardies would be so complicated.

Picking apart seams will be in my dreams.

Tagged biographical.
Friday, 04 December 2015, 08:04

Clothes are expensive.

I overdid this week a bit and had to get out of the house today. It was also hot for the first time in a couple of weeks so I had to get out into it. I had plans to buy a few things but they partially fell through and all I did was end up pissed off.

I did find some (pretty crappy) sort-of-actual-shorts (as opposed to no-they're-actually-longs, you know, they actually end above the fucking knee) because the typical length shorts of the day are too hot, too uncomfortable, and rub the top of my legs in ways that cause soreness. Now I don't have such a fat-arse at least it's possible to have them fit the leg when they fit the waist. One of the pair I got is basically white - they look like 60s sports day shorts, I just need the white singlet and dunlops and the no 1 haircut to go with an old family portrait, but they're just for for around the house. Either the sizes are a little "generous" or i'm down to a small now and that size definitely wasn't tight.

Actually I haven't really stopped losing weight despite eating pretty normally and doing enough basic exercises to gain muscle. This week I measured a minimum "under 69.0" for the first time in decades (but that was just the extreme of the trough). I somewhat expected it to level off by now.

I went looking for a battery for my bike headlight - the charger for the chinese junk I bought broke but the light is fine and i've been charging the mystery battery with a PSU I made in uni - but i got really pissed off at the dickhead at jaycar who couldn't do more than point at the shelves I'd already looked through so i gave up and walked out. If i just want to get their cheap junk i can get it myself, i only went to the shop to see if they had knew anything I didn't and to support a local business. dx.com it is I guess. Last time I tried the battery bar in the city but the shop assistant was utterly clueless and the 'tech guy' was a condescending fuckwit and it seems more like a "junk bar" than a battery bar anyway.

There's two local shops I will NEVER return to ever again. I made the effort to go to a local shop physically and with a literal pocket full of cash, and they weren't interested in even attempting to close any sort of sale. Fortunately at the expensive wool-clothes shop I went to after the battery bar I had a long chat to the bored shop assistant and she tried to upsell everything 'male' they sold (which isn't much but i hadn't intended to get a jumper when i went in).

I bought some dried fruit from The Market and tried to find a silicone gasket for a (stove-top) coffee maker for one of my brothers - but nobody sells them. At least one guy said it was because they never wear out - which is the whole bloody point! I got one for my machine at Gaganis Bros but they're still in the bad books for their bicycle parking arrangements they didn't have many back then anyway.

At this point i was ready to fall apart or have an accident (i've just been in a foul mood all week and this made it worse) so I said fuck it and had a beer at the Exeter. I quite like the pub itself and the staff are decent but this isn't the first time i've looked around and realised I was surrounded by other middle-aged men so I decided if I have any more I should try somewhere else. I decided at this point to go buy some bike shit after seeing it last time - I grabbed some new shy shorts (30 was the right fit, so yeah I guess I am small now) - the ones i've been using lately are 36 and they were too tight last year but now they feel like nappies with their built-in chamois and the draw-string. Also too long and too hot. Ugh I spent like 170 on another pair of cargoish things at the same time back then which I had been using but they feel like clown pants now, they were even bigger (and both have faded poorly, why are they all black anyway??). And a couple of jersey's which are possibly a bit on the tight side but we'll see - most they had were black and that's too hot so I got a white one and a red one to match my roadie (hey why not). One specific jersey I used most recently still has serviceable cloth but got stretched too much to be passable so at some point I will see if i can take it in somehow. Those expensive bike faded shorts are too big for that but I might also try to take in some other stuff I've never even worn if i can get my sewing machine to cooperate (stuff i was too fat to fit, and now falls off).

So that bike shit (incl, shoes I bought last week, new pedals and cleats), the wool tshirts and jumper, the "POW" PE shorts, jerseys and shorts, a new tyre, well over a grand. It is what it is.

I ended the afternoon with a few beers at the Austral - fuckit, if i get gout so be it (but so far so good?). I had 4 total for the day but I think 2 was probably what I should've stopped as after those two I just wasn't' really feeling anything good and all it left me with was a headache and a churned guts which still persists a couple of hours later.

I contemplated life and it came up very very short. As ever.

I even thought about tattoos. Why? To belong to "something" I guess? I didn't think about them too much.

Tagged biographical, rants.
Wednesday, 02 December 2015, 10:19

dumb lockless 'queue' idea

I was playing with linux signals the need arose for a lockless queue, although given the mess of poll vs signal and so on i might just use a pipe for signalling as i've done before. But such a queue is useful for that case as well.

Unless you're dealing with exotic hardware or performance I imagine that a basic bounded lockless queue is fairly easy to implement using a two-index compare and swap but I was thinking about the unbounded case. Not that unbounded is necessarily a good idea in many cases for other reasons.

After a couple of mistakes I think I arrived at a very simple solution which should work. It's actually half a stack, and half a something else I don't even know the name of, but it can be made to appear as a queue cheaply.

enqueue

This is implemented as a push onto the head of a single-linked list. This can be implemented very simply using a compare and swap against the single pointer of the stack head. The next pointer of the node can be freely updated until it is owned by the queue once the compare and swap succeeds.

void enqueue(queue q, msg m) {
  queue old, new;

  do {
    old = q;
    new.head = m;
    m.next = old.head;
  } while (!compare_and_swap(q, old, new));
}
dequeue-all-reverse-order

This is no dequeue operation, instead there is a dequeue-all which removes every element currently on the queue but returns them in reverse order. It just clears the stack head and returns it's old value. This can be implemented trivially using an atomic exchange operation with NULL.

queue dequeue_all(queue q) {
  q = exchange(q, null);
  return q ? q.head : null;
}
dequeue

This has to be performed as a separate step but it is performed local to the reader. It should be efficient enough on typical processors. In the (very) unlikely event that order isn't important then it isn't even necessary.

void dequeue_foreach_rec(msg stack, func cb) {
   if (q) {
     dequeue_foreach_rec(stack.next, cb);
     cb.apply(stack);
   }
}

void dequeue_foreach(queue a, func cb) {
  dequeue_foreach_rec(dequeue_all(q), cb);
}

It supports multiple writers. Whilst it still functions "correctly" for multi-reader queues it probably isn't terribly useful for that case as it's first-come-first-gets-all with no attempt or possibility of balanced delivery.

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