Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
User Journal

Journal Journal: Fare thee well, Slashdot 6

I've been on slashdot since the early days. I've seen meme after meme come and go from the trolls, I've seen the internet grow from 28.8 modems to multi-megabit pipes. During those years we moved from 386's measured in MHz to Core CPUs measures in GHz.

But along with all the other changes, the internet itself has changed. The quality of comments on Slashdot has changed. Even the quality of selected articles has changed.

And most of it has not changed for the better.

So while I'll still be using Sourceforge.net, I don't think I'll be coming back to Slashdot any more.

Quite frankly, it's boring.

User Journal

Journal Journal: MSS Code Factory 2.3.12994 Service Pack 1

This release refactors and rearchitects the core objects of the system using diamond inheritance of the interfaces so that you can cast between the defining schema names for the objects and the current project's schema names. All of the methods of the new interfaces rely on the defining schema names, but you can safely cast the returned objects to your current schema names.

The goal of this effort was to make it easier to write custom GUI components that rely on the defining schema names for object interfaces, so that you should be able to just reference the jars that provide those custom GUI components, wire them to your projects GUI factories, and automatically use the customized screen components.

It isn't perfect, but it's the best I could do to address what I saw as a glaring flaw with the code base. Of course, the downside is that you may have to do more typecasting in some of your code. There are always trade-offs when designing an architecture.

Another benefit of the new approach is that it is made very clear that you are using the objects and interfaces from a referenced schema/project, an issue which was concerning me as some people might have taken the approach of ignoring the license requirements of the referenced schemas because the code gets re-manufactured into their project. Now there is a clear delineation between the referenced objects and the current project, preventing anyone from pretending they "didn't know" they had to abide by the licenses of referenced projects.

http://msscodefactory.sourceforge.net/

User Journal

Journal Journal: MSS Code Factory 2.3.12932 Released to production!

MSS Code Factory 2.3 adds support for the specification of ServerProc, ServerObjFunc, and ServerListFunc methods that are performed at the server end and atomically committed when invoked by an XMsgClient application.

The 2.3 series also reworks the way that licensing and copyright information are tracked by the manufactured code. Now the license and copyright information of the originating project is used, instead of that of the project that is being manufactured. Just because you included a model someone else designed does not mean you get to take credit for that work.

There will be additional service packs adding new functionality to the 2.3 series, but those enhancements will not require further changes to the GEL engine, only the rule base.

http://msscodefactory.sourceforge.net/

User Journal

Journal Journal: I don't understand this Google vs. Oracle thing

For the life of me, I do not understand why Google doesn't just ship an ARM64 build of OpenJDK instead of futzing around with this fight against Oracle. From a pure developer's perspective, the whole thing is flat out STUPID.

Oracle is not preventing Google from shipping their own build of the JDK. They're just stopping them from breaking Java's portability requirement by shipping non-Java bytecode.

Java is not a compiler kit.

User Journal

Journal Journal: April 2015 has been a busy month

April 2015 has been a busier month than I'm used to.

I got MSS Code Factory 2.1 Service Pack 1 out the door after over two months of work.

I packed up and moved to a new apartment.

Last but not least, I installed Ubuntu 14.04.2 LTS on my failing Debian box. I still haven't done any more work on the Windows 7 laptop to get it into a development-usable state, but since I did all that performance tuning on MSS Code Factory 2.1, I really don't need to use the Windows laptop. In fact, the poor beast is so I/O bound when running 2.1 that it sounds like the hard drive is about to rupture and spew it's guts out the keyboard when MSS Code Factory is running.

The shift to Ubuntu 14.04.2 from Debian 7 was a last-ditch attempt to resolve an X-Server crash issue (white-out screen in NVidia 8600-series hardware with NVidia drivers.) Although I did see one such crash on Ubuntu 14.04.2 since installing it in the first week of April, I have not seen it in the ten days since Ubuntu released some X-Server input patches.

So it wasn't entirely the NVidia driver's fault that my X-Server was crashing; there seems to have been some bugs in the input stream processing.

I'm still not 100% confident that the X-Server bug has been resolved, but it's looking like it has. Which is a good thing -- I can't afford to buy a new computer at this time (nor in any reasonably near future, as I'm on disability and get less than $17,000/year to live on here in Saskatchewan, Canada.)

User Journal

Journal Journal: Reason 431 that I don't bother with Slashdot any more - 5 minute comment timer.

I can type at over 100wpm. Slashdot's comment timer was set to 5 minutes a few years back. So if there is a particularly interesting article with interesting comments, I can comment and reply every 5 minutes.

If I'm going at 100wpm, I could write a 500 word essay as a comment. Or what happens more frequently is, I type out a nice constructive reply to someone, and am granted the text telling me I'm going too fast.

So I close the window and go elsewhere.

5 minutes between messages on a good conversation isn't conversing. I had FidoNet conversations go faster than that. I could type up and send faxes faster than that. With a bit of practice, I could send messages over short wave radio in morse code faster than that.

Even if my comment were "you sir are a moron", that leaves well over 4 minutes waiting for the timer to run out.

If anyone wants to have an intellectual conversation with me on an old Slashdot topic (like, appropriate for the genre "News For Nerds. Stuff That Matters"), find me elsewhere. Even this comment, would still have a 3 minute timeout before I could post it.

User Journal

Journal Journal: Windows 7 laptop is toast -- hello, Debian 1

My Windows 7 laptop was finally nuked. It was only a matter of time before something got to it -- Windows is a virus vector hell.

I'm downloading Debian for my Lenovo IdeaPad Z580 -- I hope it works. I've never tested the system for Debian compatability, though Lenovo has a good reputation for it.

Sadly, I'm pretty sure it's going to mean losing my glorious 192/24 audio playback, as I can only get 44.1/16 working on the desktop despite it having a HD soundchip. I'm going to miss that...

More to the point, I won't be able to do any further work with Oracle, Sybase ASE, or SQL Server for my pet project. Such is life. What's there at this point works; someone else will just have to pick up the ball for those databases.

User Journal

Journal Journal: MSS Code Factory 1.11.12558 Service Pack 6: It is done!

Service Pack 6 provides move up/down functionality for the Chains for all of the supported databases. Note that the RAM storage does not support Chains or complex object deletes at all -- it's intended for high volume read/update/delete data, such as the call record information for an Asterisk or FreeSwitch PBX system, or the internals of MSS Code Factory itself.

There are some critical bugs fixed with Service Pack 6, including cache integrity bugs that were discovered during testing of the move up/down functionality.

With this release, I think I'm pretty much done with MSS Code Factory 1.11. I can't think of any more functions I'd want to add that I have experience with. Sure I could implement proper login security with hashing algorithms, a JEE server to receive and respond to X(ml)Msg requests, and polish the prototype GUI some more, but that's really not my forte. I spent 30 years as a back end database programmer, tuning servers and wringing every last bit of performance out of database engines that I could.

MSS Code Factory 1.11 now incorporates everything I ever learned about making an RDBMS sing and dance. It provides all the functionality points that I was ever asked to deliver to a front end application programming team, and does it all automagically from a Business Application Model.

It's been 18 years of long hours working on this project to get to this point. The idea was around even longer (I came up with the concept way back in 1987, before I'd even had any experience with data modelling tools.)

Service Pack 6 is, in essence, my life's work. My magnum opus. I have climbed my mountain, and the view is great.

http://msscodefactory.sourceforge.net

User Journal

Journal Journal: MSS Code Factory 1.11 Service Pack 1 released

MSS Code Factory is a model-to-code development tool that provides Java 7 using JDBC and stored procedures for DB/2 LUW, Microsoft SQL Server, MySQL, Oracle, PostgreSQL, and Sybase ASE.

Service Pack 1 corrects defects in the manufactured database schema installation scripts, the core Java ORM objects, the stored procedures, and the JDBC layer. It also adds in the production of an XML messaging based communications framework for doing client-server or web development (you have to code the transport layer, but the message parsers and processing are provided.)

Service Pack 1 also provides a prototype Swing GUI that can be used as-is for performing demos and walkthroughs of a business application model for users, rather than counting on users to understand ERD or UML diagrams. The prototype is entirely factory and interface based, so it can form the basis of a custom user interface by either subclassing the manufactured GUI components produced, or by replacing them wholesale with JInternalFrame and JPanel instances as appropriate (the only requirement is that they implement the interfaces specified by the manufactured objects.)

The source code for the project is hosted at github, but the main project is on SourceForge at http://msscodefactory.sourceforge.net.

The project has been under research and development since Java 1.1 was released in 1997, with the past two years focusing on the 1.11 release.

User Journal

Journal Journal: 24/192 Audio Redux

A while back I put my laptop into forced 24bit/192kHz output mode in order to be able to play some Grateful Dead tracks that were recorded in that format. I've left it at that setting on the Windows 7 laptop because it plays back lower resolution audio just fine.

In fact, it seems to upsample lower resolution audio rather nicely. So while CDs and MP3s still are far from as clean sounding as the Grateful Dead tracks, the upsampling prevents "digital fatigue" and sounds more "musical" than 44.1 Hz output does on my Linux box. So I find myself spending more and more time listening to my music under headphones plugged into the laptop (a rather nice set of Sony noise cancelling full-cup headphones that cost nearly $300 15 years ago -- a gift from good friends.)

For the life of me, I do not understand people who claim they can't hear the difference between 44.1 audio and higher resolutions. They must be deaf. The difference is obvious as night and day, if you know what to listen for.

User Journal

Journal Journal: MSS Code Factory 1.11 has been released to production

This day had to come eventually. It was just a matter of patience, persistence, and time.

Today I released MSS Code Factory 1.11 to production.

This is the first time I've ever released a piece of software because I honestly believe it's ready to be released rather than because some marketing/sales rep or management had set an arbitrary delivery date.

This release was 4 years in development. The project itself was started 18 years ago.

But my baby has all grown up, and it's time to send her out the door into the wild, wild world.

If I were to die today, I'd die knowing I accomplished something with my life.

This has been the mountain I had to climb; the ocean I had to sail; the desert I had to cross. It has been my mission ever since I first conceived of the idea of manufacturing code by reversing the logic of a compiler/parser way back in my University days.

For those of you who are programmers, please download and play.

http://msscodefactory.sourceforge.net/

By the way, as a side effect of the testing and validation of MSS Code Factory itself, I produced CFUniverse, a conglomerate business application model project that is nearly 14,000,000 lines of source code. To put that in perspective, the biggest project I ever worked on was about 1.5 million lines, coded by a team of over 150 developers over a 3 year period. Were you to print out CFUniverse at 100 lines per page, double-sided, you'd need 5 cases of paper plus another 20 reams to do it.

I'd love to dump that sucker on someone's desk for a code review!

User Journal

Journal Journal: MSS Code Factory 1.11 is almost done

Within the next week or few, I should be releasing MSS Code Factory 1.11 to production.

1.11 has been a 4 year effort, kickstarted by some rule sets from previous versions of the tool. Each of the earlier versions encountered problems which sent me back to the drawing board to resolve the issues I encountered, going so far as to migrate the core engine code to C# at one point, and then back to Java again, all in an effort to clean up the last bugs in the core technology (the effort was successful, but it was a good two years of my time to do it.)

As I write this, I realize that it's been roughly 18 years since I created the 1.0 version of MSS Code Factory using Java JDK 1.0. I've believed in the "write once, run anywhere" philosophy since day one, and bought into the "Network Is The Computer" concept as well. Hence my decision to focus the efforts of MSS Code Factory on Java, rather than diverging into other languages such as C# or C++ (although there is absolutely no reason I couldn't produce code for those languages, sharing the same database models and stored procedures that the Java code relies on.)

18 years.

My precious is almost an adult.

Just a few more weeks of database script testing, more to find and correct issues with the Business Application Models than with any expectation of long-term problems with the database installation scripts as manufactured by the tool.

At the point of release as a side-effect of testing, I'll have created CFUniverse 2.0. A mammoth general purpose database/schema/application comprising 366 tables and nearly 14,000,000 lines of source code.

Top that, 'ya slackers!

User Journal

Journal Journal: 16/44.1 vs 24/192 audio

Some people insist the difference between 16/44.1 and 24/192 audio files is "all in your head", because some idiot mathematician says you shouldn't be able to hear the difference. Well, human ears aren't mathematicians, and I can most emphatically hear the difference even with these aging ears when using a $500 set of headphones.

I am absolutely in *glory* listening to The Grateful Dead's "Built to Last" album at 24/192 right now. The cymbals *splash* and the triangles *ring*. The maracas *rustle*. You can hear the *wires* of the snare drum rattling against the drum heads. And most important of all, the overall experience of listening is *soothing* instead of earache-inducing as with dithered audio. You should hear the sax I'm listening to right now -- that's one instrument whose sound I *know*, having played one for nearly 10 years in my youth.

My theory is that people who've been raised on digital audio have never learned to hear the difference between live instruments and digital dithering. They *can't* hear the difference, because they've never been exposed to and learned how to hear the sounds, much as someone who did not grow up amongst the Chinese can't hear the difference between some sounds in their languages.

The psychoacoustic training of one's ears is a very real phenomenon. If you've never learned to hear and listen for something because you've never been exposed to it, you grow to be *incapable* of hearing it without a *lot* of exposure.

User Journal

Journal Journal: I am a T-Rex 2

Smart ass punks think they know *nix history.

I cut my wisdom teeth on a VAX 11/780 running BSD in the fall of 1984.

I PRE-DATE the GPL -- Ricky Stallman was just touring campuses (including the University of Saskatchewan) with his "new" GPL idea when I was learning *nix coding and the ORIGINAL K&R 'C' language.

I've run, coded, and delivered systems on just about every dialect of *nix that ever existed. I AM A DINOSAUR! A T-Rex that will eat your OS/X crap for breakfast.

FORTRAN, COBOL, LISP, Algol, APL, PL/C, K&R 'C', ANSI 'C', C++ (from 1.0), Erlang, Java (from 1.0), Z-80 assembly, 6502 assembly, PDP-11 assembly, VAX assembly, -- hell, when I was programming the Z-80, I didn't even *have* an assembler -- I converted my code into hex and POKE'd it into the machine and saved the memory image to cassette tapes!

RSX-11, BSD on VAX, VMS on VAX, AT&T SVR4, VMS on Alpha, DEC Unix on Alpha, HP1000/A, HP9000, the first release of AIX on POWER, Minux, Linux from Red Hat 5 onwards (including RHEL/CentOS/OracleLinux, Ubuntu, Debian, SuSE, Slackware, and a couple other distros whose names escape me at the moment), every flavour of Windows from 3.11 onwards, Mach (which is merged into OS/X), QNX (now Blackberry 10), SunOS, Solaris, Amiga, Commodore 64, Commodore PET, Apple II, and a few more that I can't remember the names of at the moment.

So go ahead and try to "tell me", kid. I'll run rings around you in coding, hardware, and experience. I GREW UP WITH THE HISTORY YOU ONLY HAVE READ ABOUT. I've been programming longer than most of you pups have been alive!

(Can you tell I'm pissed that some 7-digit luser tried to tell me I'm "probably not even a programmer"? :P :P :P)

Slashdot Top Deals

The biggest difference between time and space is that you can't reuse time. -- Merrick Furst

Working...