I’ve recently been interested in experimenting with Hashicorp’s Nomad for deploying/running apps as an alternative to the the somewhat convoluted combination of Docker + ansible I currently use. Since I primarily use a Synology NAS for running Dockerized apps, my first hurdle was coming up with a way to somewhat sanely install the nomad server/client on a Synology. I found nomad-spk that was promising, but wasn’t compatible with the latest major version of the Synology OS (aka DSM7).
As part of developing RESTful HTTP APIs at work, there’s been a lot of discussion over the “best” way to architect/implement everything. To avoid relying strictly on my own instincts and relearning mistakes that many others have already learned from, I’ve been reading O’Reilly’s Building Microservices. I haven’t finished it yet, but have gotten a lot out of what I’ve read so far (and been pleased to see that my instincts have been largely supported by someone who’s experienced implementing such systems).
So apparently GCC4 should be released before too long. Release candidates are out and release date is set for some time in April. Recently found out Fedora Core 4 will include it, which made me a little wary of trying it out (seems like it took a while for the GCC3 release to settle down and for apps to fix compatibility issues). Weird thing is, I was looking through a feature comparison for OS X (Tiger.
Ack! My pants are on fire. Was just perusing the gcc website when I noticed they’re refering to it as the GNU Compiler Collection. Hmm. Wonder if it’s always been that way, or just since they added other languages… Edit: Dug around their wiki some more. Looks like it used to be GNU C Compiler (at least the initial release was), just as I thought.
Don’t know what made me think of it this morning, but I was remembering something my first programming teacher said. He was teaching a course in introductory C programming for engineering applications and we were using gcc as our compiler. At the time, he claimed GCC stood for Good C Compiler. Seems pretty suspect since the gcc most everyone knows is actually the GNU C Compiler since it’s been developed by the GNU organization which was founded back in 1984 (although the first release of gcc wasn’t until 1987, but that was long before I took this course).
I’ve decided to work a bit on porting over some of my old content to the new site/format. So far, I’ve converted over the pages about the senior design project I developed with John, the UR-5beta. Figure I may put up a copy of my public key at some point, but since the only one I use with any regularity is already up at my CRHC site, I’m not sure there’s much point.
After a little bit of work, I got the simulation of 32 input vectors in parallel up and running in my simulator. Pretty sweet. Shouldn’t be too bad to get basic sequential circuit support added in and then I’ll have done both extra credit options. Mainly need to figure out how to time my program and the rest is trivial. Will probably look into doing some further optimizing of my code, but seems pretty zippy for any circuit I’ve run it on so far.
Yeah, so I’ve been pretty busy this past week, and haven’t really had time to post. Chi-Wei checked in fixes for the bulk of the bugs I had encountered in the gui, so I’m pretty happy. I can actually sorta use the thing now. More importantly, Jeff and I have made some comments about additional features we REALLY want, so with any luck, we’ll actually get some of those before long.
So my local data caches finally started doing stuff today. Cluster 0 requests M[0x0]. The main cache sends all words in that local cache line and informs cluster 0 that it has exclusive access. Cluster 1 then requests M[0x0]. The main cache informs Cluster 0 that the block is now shared and waits for an ACK to confirm that it hasn’t become modified. Pretty sweet! I may actually have it all up and running before much longer.