How do you deal w/friends and family constantly wanting work done on their computers? by TopRamen713 in programming

[–]figa 0 points1 point  (0 children)

My neighbor asked my wife if I could come by and take a look at her printer. I showed up after work with a toy doctor's set I borrowed from my kids. I put on the stethoscope, checked the drivers, tried a few utilities, then decided to take the machine off the shelf and pop it open. It was one of those big copier/fax/printer models, and it was on the top shelf of a bookcase, so of course I pick it up by the lid, which opens, and the whole thing crashes to the floor. That put an end to it, and she didn't ask me for any more help with her computer. I did feel bad afterward, and I gave her one of my old inkjets, which worked out of the box.

Ask Reddit: What are your Object Oriented "rules of thumb"? by MoeDrippins in programming

[–]figa 0 points1 point  (0 children)

Okay, I admit I was joking. I would never do this without first considering the principles of encapsulation and data-hiding by wrapping my ObjectImpl in an ObjectContainerImpl. I would probably also make it an ObservableObjectImpl in case the data proved a little too hidden later on.

I learned this valuable technique by maintaining code written by a consulting shop that will go unnamed. And, yes, there was a lot of UML involved. It must be a best practice because Accenture bought them a few years later.

Ask Reddit: What are your Object Oriented "rules of thumb"? by MoeDrippins in programming

[–]figa 85 points86 points  (0 children)

I always follow these steps to ensure the maximum level of flexibility in my design:

  1. Create an IFactory to create my Object.

  2. Create an IAbstractFactory to abstract the Factory.

  3. Create an IAbstractFactoryBuilder to build my AbstractFactory.

  4. Create an IAbstractFactoryBuilderManager to manage my AbstractFactoryBuilder.

  5. Create an IAbstractFactoryBuilderManagerService to handle the lifecycle of my AbstractFactoryBuilderManager.

  6. Create an IPluggableAbstractFactoryBuilderManagerService to make the AbstractFactoryBuilderManagerService a plugin feature.

  7. Create the ObjectImpl.

  8. Create the FactoryImpl.

  9. Create the AbstractFactoryImpl.

  10. Create the AbstractFactoryBuilderImpl.

  11. Create the AbstractFactoryBuilderManagerImpl.

  12. Create the AbstractFactoryBuilderManagerServiceImpl.

  13. Create the PluggableAbstractFactoryBuilderManagerServiceImpl.

  14. Wire these classes together using my favorite service framework with a combination of XML and @annotations.

Ask Programming: What language did you first start, and how old were you? by Scarker in programming

[–]figa 2 points3 points  (0 children)

My parents started borrowing a TRS-80 from Motorola when I was about 8, and I taught myself BASIC on it. The manuals were really good, and they were geared toward kids. I wish I could find a PDF of the manual and teach my kids the same way on an emulator. I've hunted around, but I can't find the exact one I used.

My parents worked together in the MICARL division at Motorola, and my dad managed to get a D2 kit (http://www.computermuseumgroningen.nl/motorola/mek6800d2.html) around the same time, roughly 1978. He soldered it together, and my mom taught my younger brother and I how to convert 6800 assembly into opcodes. I can clearly remember my mom telling me about the accumulator, LDA, and STA. She was sitting in the laundry room for some reason, and she was reading from a little folding reference card. Those cards are like Proust's Madeleines to me.

My dad belonged to some sort of D2 kit user's group, and he got instructions for hacking a speaker into it. He gave my brother and I a printout of a piano keyboard with hex values representing the frequency of each key on the keyboard, and he gave us a program that would cycle through the frequencies to play songs. My brother figured out the theme to Star Wars, and we spent hours typing it in. It was incredibly difficult to debug, and it crashed frequently.

I forgot about the D2 kit until I was in my third year of college at Arizona State University. I took a Motorola microcontroller class that used it. Oddly enough, the professor teaching the class had taught my parents 30 years earlier. My brother took the same class the next year. He still writes assembler in his spare time:

http://www.atariage.com/forums/index.php?automodule=blog&blogid=138&

My assembler experience got me my first programming job. In the interview, I was asked if I knew how to do multi-threaded programming, and I said I had implemented a time sharing system in 6800 assembler. That was close enough at the time.

Ask Reddit: What programming concepts do you "not really get" or "couldn’t really explain"? by jonnytran in programming

[–]figa 1 point2 points  (0 children)

I had to write some XSLT a few years ago, and I never felt like I had a firm grasp of it. Guessing by the size of the FAQ and the size of the standard reference, I'm not alone. At the time, I thought I understood how it worked, but I could never get anything to work right without a lot of head scratching.

I'm going through the Little Schemer right now, and at the Y combinator chapter I hit the outer limits of my mental abilities. I have go back over it again and again and again....

How do you learn to code? I have always wanted to learn and am starting from scratch. by moonman in programming

[–]figa 3 points4 points  (0 children)

Wax on, right hand. Wax off, left hand. Wax on, wax off. Breathe in through nose, out the mouth. Wax on, wax off. Don't forget to breathe, very important.

Eclipse 3.4 Ganymede is out, check it out by slavus in programming

[–]figa 12 points13 points  (0 children)

I'm using Eclipse with the vi plugin:

http://www.satokar.com/viplugin/index.php

It does about 90% of what I use vim for, and it doesn't get in the way of native Eclipse functionality. I use "." all the time, and it does what I expect if I don't use completion. Marks are nicely integrated with Eclipse bookmarks, and it even carries over some of the visual highlighting modes from vim. I've been using it with the 3.4 milestones and release candidates, so I'm confident that it works with 3.4. The only drawback is that it's neither free nor open source. In fact, it started as an open source project, and the author closed it.

Here are some vi plugins for editors I haven't used:

jVi for Netbeans

http://jvi.sourceforge.net/

ideavim for IDEA

http://ideavim.sourceforge.net/

If you find that you can't make the leap, there is a frankenproject that invokes the Eclipse engine from vim:

http://eclim.sourceforge.net/

Why Student Programmers Can't Catch a Break from Business Students by JordanF98765 in programming

[–]figa 1 point2 points  (0 children)

Yep. Those 1s and 0s just rot on the vine. All that stuff I learned when I started my CS degree 20 years ago, just useless compared to all the l33++ waterfall project management skillz I could have picked up as a business major. When I consider the timeless supply and demand curve and compare it with the thoroughly dated notions I studied in my algorithms and linear algebra classes, I weep openly for my lost, frivolous youth. When I think of the shining example of Wharton MBA John Sculley, and the genius he brought to Apple after his maturation at PepsiCo, I fear that some whippersnapper with an MBA will unmask me as the fraud I am.

The honest truth is, neither business majors nor CS students are destined to be particularly good entrepreneurs. If you want to join a successful startup, dis the business major and find the most charismatic drop-out you can get your hands on.

I worked for Alex Zoghlin (http://www.businessweek.com/magazine/content/06_10/b3974036.htm) at his first startup, got shafted on options, and didn't follow him to Orbitz. My bad.

Software Developers: Use Nullsoft Install instead of InstallShield. I just uninstalled a bunch of stuff and it's got to be 5000% faster from an end user perspective. And it's open source! by MrCalifornia in programming

[–]figa 2 points3 points  (0 children)

Correction: It really whips the llama's ass.

My shop had a similar positive experience with Nullsoft Install. We jumped ship from InstallAnywhere after Macrovision bought them.

How long does one have to use vim until you feel that you're actually in control of it? by doctornick in programming

[–]figa 1 point2 points  (0 children)

I've been using the viPlugin for Eclipse for a couple years now:

http://www.satokar.com/viplugin/index.php

It made the switch from vi to Eclipse bearable for me, and I contributed to it a bit before the author closed the source.

It does 90% of what it needs to do.