Matt RaibleMatt Raible is a writer with a passion for software. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.
You searched this site for "free sex movies for men non blog". 1,227 entries found.

You can also try this same search on Google.

Denver JUG: AspectJ and Grady Booch

Well, I made it to the DJUG Meeting and there's wi-fi - sweet! I just got here (20 minutes late), so don't have much to say. I might be a little late to follow the AspectJ stuff, but I'll try. The meeting room is packed - it's a huge auditorium, so that means there's probably a couple hundred folks here - wow! This Booch guy must be good (or at least famous).

Joseph Gradecki is presenting on AspectJ. I don't really know a thing about AspectJ, except that it's an implementation of AOP. One of these days, I might quit writing log.debug statements and start using AOP - but I don't know if its mature enough yet*. I know Rickard is using it like a madman, but he's always on the bleeding edge.

It looks like Mr. Gradecki has written a lot of books - all very recent titles.

* I've had a heckuva time introducing the concepts I've learned over the past couple years to new development teams. It seems that most teams I've worked on haven't worked much with webapps or their frameworks. Because of this I seem to get a fair amount of blank stares when I start mentioning things like Hibernate, XDoclet, Validator and Tiles. I couldn't imagine trying to introduce using AOP on a project - IMO, most clients would never go for it. Maybe I need to put together some presentations on the different tools I use, and then present that to new teams. For now, I guess I'll just have to recommend they buy Professional JSP, 3rd Edition (which rolled off the presses today BTW). I doubt they're going to want to read 704 pages, so there's probably still some motivation to create short and sweet presentations.

Back to the topic at hand, IDEs that support AspectJ: JBuilder, Eclipse, Sun ONE (Forte). Problem with using AspectJ - it's actually been patented (6,467,086), as well as AOP. They started the application in 1999 and it was approved this year. One gent in the room mentioned that you're safe as long as you use it as part of Eclipse - if you try to fork it, that's when there's issues (I hope I'm quoting him correctly).

The major question from this preso: How do you use AOP in a production system, outside of logging? If you're using AOP in production (and its not just for logging), how are you using it and how has it helped your application(s). An audience member mentions JBoss 4.0, but is anyone using it in production?

During the break, I discovered that James is coming to the Boulder JUG in October. Boulder is actually closer to my new gig.

Grady Booch Next up: The Architecture of Unusual Things by Grady Booch, IBM Fellow. Don't let his picture fool you - he looks like someone you'd like to hang out with (balding, long greying hair, nice voice). Here's his first slide:

The Limits of Sofware
  - the laws of physics
  - the laws of software
  - the challenge of algorithms
  - the difficulty of distribution
  - the problem of design
  - the importance of organization (human issues dominate from here down)
  - the impact of economics
  - the influence of politics
  - the limits of human imagination

Grady mentions SourceForge and that he loves it (as a community collaboration space). I agree, the idea is great. Features I like: CVS, Mailing Lists, Downloads. Features I don't: it seems to be down whenever I cut a release (not very often), the forums need some work.

He's been talking about DNA Architecture for the last 20 minutes - sorry, I lost interest and did some blog-reading... now I'm back - and he's comparing DNA Sequencing to SETI@home (the first attempt to use large-scale distributed computing to perform a sensitive search for radio signals from extraterrestrial civilizations).

His point? Common architectures may be found in uncommon places.

If you're still reading this, I'm amazed - I usually blank out and don't read long posts. I tend to read blogs for quick tips and tricks, not for long interviews/arcticles. Here's the first automated stalker: Asimo (Brady had a cool video - I can't seem to find it). He recommends getting a Lego Mindstorms Robot.

The most noticeable thing about Grady's session is the PowerPoint presentation. It's got pictures on almost every page, URLs in the bottom-left corner and he's had several videos. I doubt that he created it, but whoever did deserves to be recognized.

"All legacy systems exhibit sedimentation." Hmmm, the Computer History Museum might be cool to visit. Good luck in getting your wife to join you for that visit! At the end of October, Grady is meeting with some gents to work on putting some more source code (i.e. Bill's early stuff) on the web.

4th Generation of Web Sites (we're in the third generation now): Aspects (simplifies architecture) and the Semantic Web (bits of the web have self-knowledge and self-behavior, agent-based architecture).

Lesson: An architecture must grow and adapt or die (i.e. eBay, Amazon). These companies have done a major re-architecture several times over the years (eBay = Websphere plug). 1/2 life of a software architecture? Grady's opinion: 3-5 years. Web Services - allow for refactoring bits of a legacy architecture bits at a time. However, sometimes you have to break the foundation.

Brady recommends honing your skills in Patterns, as well as in Java. Warning: IBM may patent some of its business process patterns. Another lesson: Fundamentals never go out of style.

Final Note: The driving force behind software engineering is the rising levels of abstraction.

Good stuff - glad I came. Didn't really learn much that I can use tomorrow at work, but I did learn more about architecture and the history of computing.

Update: You can now download Grady Brooch's The Architecture of Unusual Things (5.1 MB zipped) presentation.

Posted in Java at Sep 10 2003, 06:24:25 PM MDT 4 Comments

Tonight @ Denver JUG: AOP and UML

Good stuff at Denver's JUG meeting tonight. I hope I can blog it in real-time (I heard a rumor: there's going to be a wireless network available). If not, I'll check to see if I have any data usage left on my phone. I plan on learning a ton.

Posted in Java at Sep 10 2003, 03:05:56 PM MDT Add a Comment

Doin' the Netflix thing

I got inspired by Matt's post about Netflix and I signed up on Sunday. 3 DVDs arrived in the mail today. Nice! That was quick. The question is - will they have the same new releases that Blockbuster does?

Posted in General at Sep 09 2003, 10:38:06 PM MDT 4 Comments

My tips o' the day

I found an easy way to update a MySQL database with new columns this morning. The traditional way is to create an ALTER_TABLE script and run it. However, I had added more than 30 columns, and creating this script sounded like a pain in the ass. Keep in mind that I use Hibernate to create my database from scratch - tables, and all. If you're familiar with appfuse, you might be able to use this stuff.

  • Dump the existing (production) database using "mysqldump -c database > database.sql". Edit this file, replacing CREATE TABLE with CREATE TABLE IF NOT EXISTS. The "-c" option includes column names in the insert statement.
  • Create an empty database (appfuse: ant db-init) and export (mysqldump database > create-tables.sql) it.
  • Drop all the tables in the production database (backup first!), mysql < create-tables.sql followed by mysql < database.sql.

Of course, other suggestions are welcome - I'd love to see a mysql diff tool that generates the ALTER script for me!

My other tip is how to start/stop Windows services from the command line - don't know why I haven't used this sooner.

net start "$serviceName"

Where $serviceName is something like "Apache Tomcat 4.1" - use "net start" to see all currently started services.

Posted in General at Sep 09 2003, 02:07:31 PM MDT 2 Comments

I dig Dave's New Look

Dave, I dig your new Bluebar Theme. Very nicely done - now if I could just get you to make "Blogging Roller" into a link with the same href as "Home." I constantly click on it with no results. That goes for all Roller users - please make the title text or image of your blog into a link. Here's how:

<a href="$ctxPath/page/$userName" title="Home">Your Title Here</a>

Posted in Roller at Sep 05 2003, 05:18:13 PM MDT Add a Comment

iCal for Denver JUG

I am once again gripped with that emotion - "there's not enough time in the day!" I wake up at the ass-crack of dawn and still can't seem to get everything done that I need to. So I began planning my days and writing down "to do's" for each day. I'm using iCal for the time being, with Outlook and Yahoo's Calendar in my back-pocket if this doesn't work out. As a small experiment, I created the Denver JUG's upcoming meeting list as an iCal. Feel free to subscribe, I don't plan on deleting it.

Posted in Java at Sep 04 2003, 10:09:27 PM MDT Add a Comment

How to run Tomcat on Port 80

I've had people ask me how to run Tomcat on Port 80 before (as a non-root user). I've never had an answer until now. Today I found that Holger Klawitter has a solution using Kernel space port forwarding. I don't have a need to try this at the moment, but if someone is using it - please share your experiences.

As an FYI, Tomcat 5 will use commons-daemon making this much easier to do. Also, the first Beta of Tomcat 5 (5.0.9) has been released.

Posted in Java at Sep 04 2003, 09:45:16 AM MDT 8 Comments

Good CSS Design at Lee Jeans

Russ reminds us why Web Standards are cool:

From Zeldman which I just recently added to my aggregator, I just saw this great awesome article on how the XHTML/CSS design was created for the new Lee Jeans - One True Fit website.

The overview is short and to the point and gives links to all the tricks used on the page to get the design desired. Adding ?style=false to any of the page's urls will show the non-css markup. The difference is astounding. I'm more and more amazed at the power of a good designer and CSS every day.

This article is very elegant in explaining how CSS and XHTML can simplify your life. I'm a huge fan of web standards and (luckily) have been able to convince most teams/clients to use them in the past couple of years. Just to remind you how easy it is to write XHTML, check out the New York Public Library's XHTML Guidelines.

On a related topic, I've had a few folks ask for my wiki's theme recently. So here it is. Enjoy!

Posted in The Web at Sep 04 2003, 08:24:08 AM MDT Add a Comment

California Rocks, Family Rocks

We just got back into Denver a few hours ago. It's great to be home, but it sucks that vacation is over. 10 days of driving up the cool California coast - aaaahhhhh blissful... We had an awesome time seeing my parents and sister, as well as a few old friends (and their families). It reminded me of two things: 1) don't sink your life into your job - it can disappear at any time, family and friends are forever, and 2) the United States is a beautiful country. We're actually thinking about moving to San Diego in the next 6 months.

Tonight the e-mail reading, blog reading, and tech support begins. I feel like it's a 2nd job. I feel like I need to put in 2-3 hours per night to keep up. However, with my just-got-back-from-vacation mindset, the motivation just isn't there. It feels good to be de-motivated, rather than technology obsessed - too bad it won't last very long.

Posted in General at Sep 02 2003, 09:21:43 PM MDT Add a Comment

PHP vs. Java - which is better?

I have a former client that has a customer. This customer asked them - "so when are you migrating from Java to PHP?" So evidently this person has the impression that the next wave of web applications will be written in PHP. My former client has asked me to provide an answer for their customer. If I translate it, I think they mean to ask "what is different between Java and PHP and why should we use Java over PHP." Here are my opinions - please add yours as you see fit. I must admit I don't know a whole lot about PHP, except that it's widely popular among the Linux/Apache/MySQL crowd and that it's similar to ASP in it's lack of a MVC architecture (yes, I know about the PHP MVC project).

  • I think Java is more of an industry standard, whereas PHP seems to be popular among hackers and hobbyists.
  • Java provides better separation of layers - key for testability. PHP has all the code embedded in the page, so you have to run it through a browser to test if database connections work (for instance).
  • Java is more scalable.
  • More folks know Java and it's easier to qualify someone's Java skills. How do you test someone knows PHP? Is there a certification?
  • More for-profit organizations use it.

If you're a Java or a PHP-lover, I'd love to hear your opionions (facts are always better). I'm going to point my client to this post, so keep it clean.

Posted in Java at Aug 22 2003, 03:52:33 PM MDT 98 Comments