tag:blogger.com,1999:blog-90546094452982121062024-03-13T22:03:32.942+10:30A Hacker's CraicGood and bad craic about Atheism, BeagleBoard, C, Free Software, GNU, Java, OpenCL, and the sorry life of yet another jaded software engineer.NotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.comBlogger774125tag:blogger.com,1999:blog-9054609445298212106.post-31340186106337054022018-04-16T20:40:00.002+09:302018-04-16T20:40:28.793+09:30So long and thanks for all the fish!
This will be my last post to a-hackers-craic!
I've moved all the posts and images to http://www.zedzone.space/blog, although how they look and how they work are still very much work in progress. I had already moved most of http://users.on.net/notzed to http://www.zedzone.space yesterday.
Some things might be broken for a while but everything apart from comments should have already made it NotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0tag:blogger.com,1999:blog-9054609445298212106.post-79228335584892990662018-04-04T08:17:00.000+09:302018-04-15T17:08:37.616+09:30time to put some money where my mouth is?Due to some of the surveillance/tracking stuff in the news of late I went down a bit of a rabbit hole of looking at various 'secure' email and so on to do something about my gmail account and blogger.
I didn't really find anything I liked so instead i got myself a domain and a virtual private server to play with. I had originally intended to set something up on my home network via a static NotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0tag:blogger.com,1999:blog-9054609445298212106.post-32671864618174984902018-01-10T12:53:00.002+10:302018-01-10T12:53:40.473+10:30intel bugs, surveys, random shitWell i've been following the whole "spectre" and "meltdown" saga over the last week or so. Apart from the pretty offensive development of branding (ugh) for a set of mostly unrelated bugs, loads of pro-intel FUD, misdirection and so on, it's been a bit of a fun ride of stupidity.
I haven't seen any patches for my laptop or work computers so far - one because i don't run any av software on NotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0tag:blogger.com,1999:blog-9054609445298212106.post-83601019815321264202018-01-02T17:07:00.001+10:302018-01-02T17:07:34.744+10:30Another year downWell that was 2017 I guess. Better than 2016 for me at least.
Pretty much recovered from NYE and NYEE drinking but I might take it easy for a couple of days. Waiting for the weather to heat up enough to get back to the beach, did some gardening. The replacement BIOS arrived today so I resurrected my PC too - still seems a bit funny so i'll probably get another one soonish but it works again NotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0tag:blogger.com,1999:blog-9054609445298212106.post-52355363034185488972017-12-25T22:33:00.001+10:302017-12-25T22:33:16.632+10:30jjmpeg 3.0 released
Put enough together to push out a release of jjmpeg.
It ended up 1700 lines of Java, 2000 lines of C, and 300 lines of Perl.
Apart from supporting the latest version of FFmpeg (at least when I started a couple of weeks ago), it's smaller, cleaner, and more complete than any previous version. Having said that this is essentially just a beta release.
This one is licensed GNU General Public NotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0tag:blogger.com,1999:blog-9054609445298212106.post-65949674485989650462017-12-22T10:24:00.000+10:302017-12-22T10:24:19.621+10:30damned enumsBeen a long week but i'm finally done with work for another year. Although it's mostly a long week because of the late nights working on jjmpeg ...
One of the things I did was fill out/sync up the important enums - AVCodecID, AVPixelFormat, AVSampleFormat, and so on. Previously the pixel format and sample formats were also Java enums - which can be convenient at times and provides some more (NotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0tag:blogger.com,1999:blog-9054609445298212106.post-68853607619738162482017-12-19T19:56:00.001+10:302017-12-19T19:56:50.996+10:30jjmpeg, jni, javafx
So I guess the mood took me, I somehow ended poking away until the very late morning hours (4am) the last couple of nights hacking on jjmpeg. Just one more small problem to solve ... that never ended. Today I should've been working but i've given up and will write it off, it's nearly xmas break anyway so there's no rush, and i'm ahead of the curve anyway.
JJMediaReader
I got this ported overNotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0tag:blogger.com,1999:blog-9054609445298212106.post-64315858476384855312017-12-18T13:42:00.000+10:302017-12-18T13:42:21.129+10:30`parallel' streamsI had a task which I thought naturally fitted the Java streams stuff so tried it out. Turns out it isn't so hot for this case.
The task is to load a set of data from files, process the data, and collate the results. It's quite cpu intensive so is a good fit for parallelisation on modern cpus. Queuing theory would suggest the most efficient processing pipeline would be to run each processing NotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0tag:blogger.com,1999:blog-9054609445298212106.post-24194877251364812842017-12-17T17:54:00.000+10:302017-12-17T17:54:27.389+10:30jjmpeg & stuff
Well for whatever reason I got stuck into redoing jjmpeg and seem to have written most of the code (90%?) after a couple of weekends. It was mostly mandraulic and a bit tedious but somehow surprisingly relaxing and engaging; a short stint of unchallenging work can be a nice change. A couple of features are still missing but the main core is done.
Unfortunately my hope that the ffmpeg api was NotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0tag:blogger.com,1999:blog-9054609445298212106.post-82138903864121923032017-12-08T19:16:00.000+10:302017-12-08T19:16:03.324+10:30jjmpeg?
Well i've had reason to visit jjmpeg again for something and although
it's still doing the job, it's a very very long way behind in version
support (0.10.x?). I've added a couple of things here and there
(recently AVFormatContext.open_input so I could open compressed webcam
streams) but i'm not particularly interested in dropping another
release.
But ... along the way I started looking into NotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0tag:blogger.com,1999:blog-9054609445298212106.post-78648227340599188222017-12-01T07:52:00.000+10:302017-12-01T07:52:07.015+10:30RAM sagaPowered down last night because of an approaching thunderstorm ... half my ram gone again.
disable_mtrr_cleanup did nothing. disable_mtrr_trim would hang the boot.
I noticed the RAM speed was wrong in the BIOS again so i reset it, and lo and behold it all showed up, but only until the next reboot. Back to bhe BIOS and just changed the ram from one speed to another and back again - RAM returnsNotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0tag:blogger.com,1999:blog-9054609445298212106.post-25450455438758351922017-11-19T23:02:00.003+10:302017-11-19T23:02:37.226+10:30I hate my life.And I wish I was dead.
NotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com3tag:blogger.com,1999:blog-9054609445298212106.post-40547283361806332172017-11-19T12:52:00.001+10:302017-11-19T12:52:43.049+10:30I hate peecees
Well I was up till 3am fucking around with this bloody machine.
After verifying the hardware actually works it seems that the whole problem with my RAM not being found is the damn BIOS. I downloaded a bunch of BIOSs intending to try an older one and realised I hadn't installed the latest anyway. So I dropped than in and low and behold the memory came back. Yay.
So now I had that, I thought NotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0tag:blogger.com,1999:blog-9054609445298212106.post-25427951918143789552017-11-18T19:58:00.000+10:302017-11-18T20:35:15.794+10:30io scheduler, jfs, ssd
I didn't have much to do today and came across some articles about jfs and io schedulers and thought i'd run a few tests while polishing off a bottle of red (Noons Twleve Bells 2011). Actually i'd been waiting for a so-called "mate" to show up but he decided he was too busy to even let me know until after the day was over. Not like i've been suicidally depressed this week or anything.
The NotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0tag:blogger.com,1999:blog-9054609445298212106.post-31438994952648943542017-11-18T08:57:00.002+10:302017-11-18T08:57:59.698+10:30Midori user style
Well I found a way to make Midori usable for me as a browser-of-text using the user stylesheet thing.
Took some theme and stripped out the crap and came up with this ... it turns all the text readable but leaves most of the rest intact which is an improvement on how firefox rendered it's colour and stye overrides. It just overrode everything which broke a lot of style-sheet driven GUI toolkitsNotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0tag:blogger.com,1999:blog-9054609445298212106.post-91683742834260408852017-11-17T21:32:00.000+10:302017-11-17T21:32:11.668+10:30Silent SpringWell I finally got tired of Slackware64 - it worked quite well until I upgraded it to 14.2 some weeks ago, and then too much stuff broke - all I could get working was the VESA driver which meant I was back to a single screen, no opencl either. I ended up putting in xubuntu lts (16.4).
The machine is kinda busted anyway one of the DIMM slots doesn't work - the BIOS detects it but Linux throws NotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0tag:blogger.com,1999:blog-9054609445298212106.post-32003236110830934052017-11-05T14:21:00.000+10:302017-11-05T14:21:21.955+10:30JNI and garbage collectionI've started on an article about creating garbage collectible JNI objects. This is based on the system used in zcl but simplified further for reuse by using the class object as the type specifier and binding release via static declared methods.
This also supports `safe' explicit release which may be required in some circumstances where the gc is not run often enough.
It should work well with NotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0tag:blogger.com,1999:blog-9054609445298212106.post-32400793963488932142017-11-05T12:52:00.002+10:302017-12-01T08:06:47.254+10:30java 9Yesterday I had a quick look at java 9 - i hadn't installed it earlier as I was waiting for GA and I didn't really have a need. After a long silent spell I don't get many hits these days to this site so I don't know if anyone will read this but whatevers.
I guess the main new thing is the module system. It probably has some warts but overall it looks quite decent. maven and `aficionados' of NotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0tag:blogger.com,1999:blog-9054609445298212106.post-80342112891625520902017-09-09T13:53:00.000+09:302017-09-09T13:53:46.299+09:30zcl 0.6Yes it still lives. I've just uploaded an update to zcl
A bunch of bugfixes, new build system, more robustness, and OpenCL 2.1 support.
There are still some thing i'm experimenting with - primarily the functional/task stuff as it's just not flexible enough - but it's stable and robust and easy to work with so i'm no longer using JOCL for anything at work.
On a personal note I still haven't NotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0tag:blogger.com,1999:blog-9054609445298212106.post-36434816063947642262016-10-21T15:50:00.004+10:302016-11-29T20:49:21.673+10:30Zed's not deadI just haven't been coding or doing really anything terribly interesting lately!
And so it goes.
Update: 29.11.16 And so it goes ... NotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0tag:blogger.com,1999:blog-9054609445298212106.post-62737092304344182032016-06-03T16:04:00.000+09:302016-06-03T16:04:20.049+09:30Using GNU make to build Java softwareI finally finished writing an article about Java make i started some time ago, multiple times. I was going through cleaning up a new release of dez (still pending) and decided to fill it out with the junit stuff and then write it up what I actually ended up with.
The following few lines is now the complete makefile for dez. This supports `jar' (normal build target), `sources' (ide source jar),NotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0tag:blogger.com,1999:blog-9054609445298212106.post-22629266272552736472016-05-29T14:04:00.000+09:302016-05-29T14:04:41.624+09:30Images, Pixels, Java Streams
This morning I wrote and published article about writing an image container class for Java which supports efficient use of Streams. It is on my local home page under Pixels - Java Images, Streams.
Although there is much said of it, there is still quite a bit unsaid about how many wrong-footed experiments it took to accomplish the seemingly obvious final result. The code itself is now (or willNotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0tag:blogger.com,1999:blog-9054609445298212106.post-6559589118081254692016-05-15T18:40:00.000+09:302016-05-15T18:40:21.917+09:30It was the best of times, it was the worst of times. More fft, more bang for your buck. Same old less bang for your buck.
After posting the result I kept experimenting with the code I `live blogged' about yesterday. I did some linlining but was primarily experimenting with multi-threading. I also looked at a decimation in time algorithm (which i kept fucking up until I got it working today), and a coupe of other things too, as will become apparent.
First a picture of a thousand words.
Now the words.
This NotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0tag:blogger.com,1999:blog-9054609445298212106.post-27185424335217239282016-05-14T20:03:00.000+09:302016-05-14T20:03:10.757+09:30Writing a FFT implementation for Java, in real-time
Just for something a bit different this morning I had an idea to do a record of developing software from the point of view of a "live blog". I was somewhat inspired by a recent video I saw of Media Molecules where they were editing shader routines for their outstandingly impressive new game "Dreams" on a live video stream.
Obviously I didn't quite do that but I did have a hypothesis to test NotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0tag:blogger.com,1999:blog-9054609445298212106.post-55988176674561532962016-05-13T03:16:00.000+09:302016-05-14T10:33:16.646+09:30twiddle dweeb twiddle dumb
I started writing a decent post with some detail but i'll just post this plot for now.
Ok, some explanation.
I tried to scale the performance by dividing the execution time per transform by N log2 N. I then normalised using a fudge factor so the fastest N=16 is about 1.0.
My first attempt just plotted the relative ratio to jtransforms but that wasn't very useful. It did look a whole lot NotZedhttp://www.blogger.com/profile/09469760565180198154noreply@blogger.com0