Author Archives: Frank Roberts

On Guns and FBI Investigations

I’ve seen a meme floating around lately that starts something like this:

If you’re under investigation by the FBI, then you shouldn’t be able to buy a gun.

It’s generally posted by someone wanting to defend gun rights, and followed up with a quip about how Hillary is also under FBI investigation and therefore shouldn’t be allowed to run for President. The meme is funny, but rather useless, because it can easily be used to make multiple points on multiple sides of multiple arguments. It has no ground truth. Most importantly, it seems to imply that there’s a group of people advocating that we start taking away rights based on whether you’re under investigation for… well, anything.

While I don’t like the idea of allowing people we know are potential terrorists to purchase firearms, I also don’t like the idea of allowing the executive branch of the government to take away someone’s constitutional rights simply because they’re “under investigation”.

If you think about it, the only branch that has the power to suspend someone’s constitutional rights on an ongoing basis is the judicial branch. Sure, the police or the FBI (executive branch) can arrest you and hold you, but only for a limited time, and only with Judicial oversight. They can’t take away your right to speak your mind, your right to worship, your right to vote, or your right to legal counsel just because they think you might be a “bad guy”. Some of the aforementioned rights can be taken away if you’re convicted of a crime, but 1) only after a trial or a guilty plea, and 2) even then, the courts are very conservative in what they take. Even those in prison are allowed freedom of religion, though they obviously can’t choose their place of worship.

To allow the government to deny you your rights simply on the basis of an investigation is to take a great leap down the road to tyranny. Think about what the term “under investigation by the FBI” implies – the FBI thinks you might have broken the law, or that you might be about to break the law. They’re investigating you because they don’t have the evidence to prove it. An investigation mean’s they’re looking for evidence, not that they have any, and they can keep investigating you as long as they want. To say that someone shouldn’t be able to buy a gun because they’re under FBI investigation is to say that you should be denied your constitutional rights simply because the government is looking for evidence that you broke the law.

I think there probably is a fair way to ensure that potential terrorists can’t buy or own firearms, but it’s going to involve a higher standard than “under investigation”, and it’s going to require action from Congress and oversight from the federal courts.

 

SCOTUS

Someone is wrong on the Internet, and for once, I’m going to try to correct them.

First, I was shocked to hear that Justice Antonin Scalia had died. Regardless of your politics, it’s important to realize that one doesn’t become a supreme Court justice without being very intelligent and having some serious legal credentials. The members of the supreme Court have an incredible level of power (and responsibility) to shape our laws, our legal system, and our government. I respect all of them, and realize that they may see issues from a different perspective than I do, and that just because we disagree, it doesn’t make either of us stupid, or even necessarily wrong.

Regarding a replacement justice, I think it’s important that the President and the Senate look for someone they can agree on, and put them on the court before the end of the election cycle. The Majority Leader’s announcement that he does not intend to consider a replacement until next January smacks of the same obstinace that’s kept Congress from doing much useful for the last few years.

Now comes the part where I try to fix the discussion on the Internet.

  1. To say that SCOTUS is “designed to function with 9 justices, not 8”, is simply wrong. The constitution simply says that there will be a supreme Court. It implicitly leaves the size of the court to be determined by Congress. The court historically has ranged in size from  six to ten justices. The quorum (number of Justices that have to be present to do anything) has varied from four to six [1]. The current configuration is one chief justice, 8 associate justices, any six of whom constitute quorum. The court isn’t “designed” to function with any particular number of justices, but if it were, I’d argue that the number is 6, not 9.
  2. To say that Senate Republicans are trying to “take Obama’s Presidential powers away from him” is disingenuous, or at the very least, misleading. The constitution makes it clear that the the President’s power to appoint comes from the Senate[2]:

[The President]… by and with the Advice and Consent of the Senate… shall appoint… Judges of the supreme Court

The wording “by the Consent of the Senate”, suggests that the power originates with the Senate. It limits the power to choose appointees to the President, but makes it clear that he can only do that if the Senate lets him. Senate Republicans aren’t taking the President’s constitutional powers, they’re exercising theirs.

If you’re going to complain about our leaders ignoring or violating the constitution, you would do well to actually know what it says first. Don’t expect me to care about your argument if you don’t.

[1] Judiciary acts of 1798, 1807, 1837, 18631866, and 1869.
[2] Article II, Section 2, Paragraph 2

Arch Linux Update Script

I run several Arch Linux boxes at home. Updating these boxes involves a number of redundant actions: download new packages on each machine, install the package on each machine,  and store every previously installed package on each machine. I recently wrote a script to eliminate two of these redundancies.

The script mounts a package cache from an NFS server before running pacman, and downloads and installs the packages from the NFS mount. After finishing the install, the script unmounts the NFS share and rsyncs the currently installed packages to the local package cache. Finally, the script cleans the cache, removing all old versions of packages.

Using this script enables me to do several things:

  1. I only download new packages once. Installs on other machines use the package from the NFS cache.
  2. I can keep a full history of all installed packages in a central place
  3. I keep the package caches on my machines down to a manageable size.

You can download the script at http://www.jafrro.net/download/lan_update.sh

Hacking Fan Speed on Dell PowerEdge Servers

A couple of weeks ago, I acquired three old Dell servers to play with: a PowerEdge 840, PowerEdge 830, and a PowerEdge SC 430. One thing I didn’t think about before I got them was how much noise they might make. I’m used to desktop machines; they’re designed to run quietly enough not to annoy someone trying to work in the same room. Dell doesn’t go to the same trouble when they design their servers. The SC 430 is reasonably quiet (Dell based it on their Precision platform), but the other two, the 830 and 840, are just loud enough to be annoying.

My first thought was that I might be able to control the fan speed, but fan speed is firmly under the control of the BMC (Baseboard Management Controller); I can’t control it from software. I determined after some Googling that most people solve the problem by replacing the system fans with slower, quieter, models. Unfortunately, I also found that the slower fans often trigger the “Lower Critical Threshold” (they spin too slow), causing the BMC to spin them up, which gets me back to the noise problem I had in the first place.

Of course, because this is the Internet and I’m not the only hacker who likes to play with hardware, someone else had already solved this problem.

TLDR; the thresholds in used by the BMC can only be changed by hacking the BMC firmware update package. I downloaded that guy’s Python script and ran it on my PE 830. The script was able to parse the BMC firmware update for the PE 830, so I went ahead and ordered a new fan.

new_old

Now, before I could replace the fan, I had to deal with Dell’s custom pinout (because their 4-pin arrangement is clearly superior to the standard 4-pin arrangement that carries the exact same signals). This is already documented in several places on the web, but just to get it up here one more time:

Signal Dell Color Standard Color
PWM Blue Blue
RPM Yellow Green
+12V Red Yellow
Ground Black Black

I lopped the connector off of the original fan (at least it’s not a non-standard pinout on a standard connector). I couldn’t shove the stranded wire into the new fan’s connector, so I soldered some solid wire from a bit of spare CAT 6 cable onto the leads. I pushed the wire all the way through the connector and bent it over, which should keep everything in place.

solid_copper

Before clamping and soldering.

wired

I plugged it in and started the machine. Good news: it was nearly silent. Bad news: loading the machine runs the core temp up to 60C (Intel says to keep it below 63). The fan I bought pushes 74 CFM at full speed; the OEM fan managed 150 CFM. That wouldn’t be a problem, except that Dell was cheap on all of their tower chassis in the mid-2000s and made the back case fan do double duty as the CPU fan.

I ran an experiment to try and determine how fast my fan needed to run to be effective. I wrote a script to collect fan speed and CPU temperature every 2 seconds. After collecting 5-10 minutes of data at idle, I started a program that fully loaded the CPU for several minutes, and continued collecting data until the system returned to a stable idle state. I ran this experiment on the PE 830 (Pentium D 940, 3.2 GHz, 130W TDP) and the PE 840 (Core 2 Duo E6400, 2.13 GHz, 65W TDP).

As it turns out, the BMC isn’t intelligent enough to vary the speed of the fan based on CPU temperature. On the new fan, it drops the fan speed in increments of 75 RPM until it gets below the threshold, then spins it back up to a much higher speed and repeats the process. This cycle is apparently unaffected by CPU temperature:

(Note: The label on the X-axis should read “Time (mm:ss)”, but I’m too tired to go back and change it now. Click on the plots for full-sized versions.)

nightcaller_ms

The CPU temp peaks around 60 C. The heating seems to be fastest when the fan runs below 1000 RPM.

Now, even at high speeds, the new fan is very quiet, so noise is no longer a problem. However, the fan doesn’t cool the CPU effectively at speeds below about 1000 RPM, causing the CPU to heat very quickly if it’s loaded at the lower part of the fan’s cycle. This problem was easy enough to solve though. Instead of hacking BMC firmware hack to lower the speed threshold, I hacked the firmware to raise the threshold to 1000 RPM (the Python script already allowed this).

nightcaller_mm

With the threshold set at just below 1000 RPM, the fan speed kicks back up before the CPU temp can rise too far.

For reference, here’s a plot of the fan behavior with the stock fan and stock firmware. The fan speed really doesn’t vary at all, regardless of CPU temperature.

nightcaller_ss

I also tested out the new fan in the PE 840, and gathered similar results. CPU temperature still doesn’t factor into fan speed.

korolev_ms

korolev_ss

Fan speed is flat. CPU temp isn’t.

I haven’t bought a second fan for the PE 840 yet, and I’m not sure if I will. For some reason, it doesn’t seem as loud as the 830, even though both run the fan at the same speed.

I really wish I knew why the firmware keeps trying to lower the speed on the new fan. My best guess is that Dell’s PWM fans don’t work quite the same way as standard PWM fans (because re-inventing PWM obviously makes sense…).

Advice to New College Students

This post is mostly a brain dump of things I’ve picked up over the last 6 years about how to go to college. This advice will be most beneficial to new students in ECE or CS, but some of it is general enough to apply to everyone (even if you’ve been in college a few years already). I’ve tried to separate the general stuff from everything else.

The following pointers are mostly actions. College is not a spectator sport; it’s something you have to actively experience. Choose challenge over comfort. If you gain nothing else from reading this post, at least remember that.

General stuff:

Doing well in college requires focus. Really, this applies to school in general, but it’s never too late to start. You’re about to spend the next four years of your life learning about your field/craft. Becoming a professional in any field requires great depth of knowledge. You’re going to receive a lot of new information very quickly. Consuming and understanding this information requires most, and occasionally all of your attention.

I hear the word focus a lot, but I’m not sure whether most people really know what it means. To focus on something is to devote all of your brainpower and attention to that thing for some period of time. When you focus, you ignore external stimuli. Sometimes this means missing TV shows that you like, not going to see a movie, and not hanging out with friends. It means staying on task until you’ve reached a certain point in the process. “I’m almost finished writing a paper, but I’m starting to get hungry, and I didn’t eat any lunch.” Focusing means that I ignore the gurgle in my stomach until I finish writing that last page or two. I’m not saying you can’t have fun and be social, but the primary purpose of college is to learn.

Be social. While learning is the primary component of secondary education, becoming an adult is a close second. Learning to interact with other people in a variety of settings is a big part of that. Make new friends. Try new things. Do any student organizations look/sound interesting? Join them!

Social connections are an important part of doing well in college, even from an academic standpoint. It helps to know higher level students who have already been doing the college thing for a year or two. They already know (hopefully) how to handle themselves in the college environment; they can (and are often eager to) give advice on everything from doing laundry to finding lunch to scheduling classes. Friends in your own major can be especially helpful, as they most closely identify with your situation. Finally, getting involved opens up opportunities.

Seek and seize opportunity. You’re going to be presented with lots of good opportunities just because you’re in college. Don’t ignore them; do stuff. Most of these opportunities will disappear when you graduate (some before then), so take advantage of them while you can. You should always be doing something.

Some opportunities lead to bigger, better opportunities later. I started working with a research group very early in my undergraduate career. I was able to attend a couple of conferences in my field as an undergraduate, and I was ultimately able to secure funding for my graduate work because of my time spent doing research as an undergraduate. One opportunity leads to the next, and usually the opportunities grow as you go along. They may get big enough to be life-altering, but you’ll never know if you don’t start with the small ones.

Don’t avoid parts of your field. I keep learning this one the hard way. At some point, you’re going to decide that you’ve figured out which part of your field you want to work in, and you’ll start specializing in that area to the exclusion of the other parts of your field.

Example: I took a web development class as a junior. I decided as a result of this class that I didn’t like web development. I proceeded to avoid web development and the technologies associated with it for the rest of my undergraduate career. I have holes in my education as a result. These holes have since come back to haunt me. The tools I built for my masters thesis required me to work with databases and build a web interface. After I finished my degree, I began an internship where my primary responsibility was to write and maintain web applications.

I took several things away from this experience:
1) My masters project would have been ten times more presentable had I known about web development then what I know now.
2) Web development is, for the most part, really cool. The technologies for web development aren’t entirely clumsy and broken; I just didn’t understand the paradigms they were based on.
3) Although I was able to teach myself this material easily enough, it would have been easier to learn in the structured environment of a classroom.

Web development isn’t the only sub-field I tried to avoid. I tried to avoid several areas of computer science/engineering, but I have at some point had to deal with all of them anyway. I’m glad to have to learn these things though, because they make me a more well-rounded engineer. Get as broad an education as you can.

Get to know your professors. Professors like interacting with students; for a lot of them, that’s the reason they became professors in the first place. Some like to teach more than others, but all of them make time to help students who 1) struggle or 2) show a genuine interest in the subject.

Don’t hesitate to ask your professors questions that aren’t directly relevant to class assignments. Most professors are more than happy to have a conversation with you about anything in their field, as long as they know something about it. If you really want to get a professor talking, ask them about their research. Professors are experts in their area of research and are passionate about their work.

ECE/CS stuff:

Engineering requires more focus. Engineering is hard. Learning to think like an engineer is harder, and that’s exactly what you’ve chosen to do for the next 4 years. During these 4 years, you’re going to learn a solid 5 years worth of information. The curriculum is dense. To quote one of my managers, “It’s like drinking from a fire hose.” The concept of “free time” will become foreign to you. Stay focused on your course work and keep ahead of things as best you can.

Yes, you need those calculus courses. You’re going to take 3 or 4 calculus courses. All of them matter, but not because you’ll ever need to use calculus; most of you won’t (at least not more than a couple of times). It’s also not because of the many engineering formulas and techniques that are based on calculus. While they are based on calculus, you don’t need to be good at calculus to understand them.

Calculus matters because it changes the way you think. At it’s core, engineering is problem solving. Calculus changes the way you approach problem solving. By learning calculus, you’ll learn how to model problems in your head. You’ll also become comfortable with the idea of transforming one problem into another that’s easier to solve. Gaining ability to model and solve real-world problems as abstract ideas is critical to becoming an engineer.

Yes, you need to know how to write. You may have chosen engineering with the thought that you’d taken your last English class and that you wouldn’t have to write reports or papers ever again. If this thought was your top reason for choosing to become an engineer, then you’re going to be disappointed. Writing is inescapable. You will need to be able to communicate effectively in writing regardless of what profession you choose.

As a student in engineering, you’re going to write lab reports and project reports and possibly some surveys or paper reviews. As a new graduate looking for a job, you will develop a resume and write a new cover letter for each opening you apply to. As an engineer, the specifications you write will need to be clear, concise, and easy to understand.

Writing well is not difficult, it’s just a matter of knowing the rules of the English language and being disciplined enough to follow them. Fortunately, plenty of services exist to help you improve your writing skills. UK has the Writing Center; they’ll help you with everything from improving your writing style to preparing presentations and videos. I imagine most universities have similar organizations. Faculty members may also be good resources. Most professors spend a significant amount of time writing grant proposals and publishing the results of their research. Take a sample of your writing to the writing center or a faculty member and ask them for feedback; in particular, get feedback on your technical writing.

CS Students: Don’t be afraid of hardware. It’s not uncommon for computer science students to avoid learning the particulars of computer hardware. While most computer scientists don’t need an intimate knowledge of branch predictors and memory architectures, it is important to have a good mental model for what’s happening at the hardware level. Sure, you might have developed an algorithm that beats the previous method by a factor of 4 on the number of instructions, but if it accesses memory twice as often, then it’s probably going to run slower. Don’t put off the hardware/EE courses. The material you learn in those courses will provide you with a framework for the systems programming courses you’re likely to take during your junior and senior years.

EE Students: Don’t be afraid of software. Just like writing, software is inescapable. If you go into hardware design, you’re going to be very close to the software side; possibly to the point of writing compilers for your hardware. Those of you that go into other areas of electrical engineering, like lasers or electromagnetics, will be more isolated from software, but you will still most likely need to write software for simulations or scripts to automate the tools you’re using. You need to become a competent programmer. The ability to control computers gives you power.

Every class that starts with “EE” or “CS” is relevant. Not all of the material you need to learn will seem relevant at the time it’s taught. Some courses won’t show their value until you need the material from them later on.  When I took Discrete Math (CS 275), I didn’t see how the material was relevant to anything in computer science. It wasn’t until later when I took Algorithms (CS 315) that I realized that the concepts taught in CS 275 are foundational to computer science. The courses listed in the EE/CS curricula are all necessary; they wouldn’t be required if they weren’t. Pay close attention in all of them.

Don’t procrastinate on programming assignments. Really, “don’t procrastinate” applies to college in general, but programming assignments can be particularly deceptive. Programming takes time, and getting software right requires multiple iterations. It’s easy to look at a programming assignment and think, “That problem doesn’t look too hard, I can handle that in one or two nights.” No you can’t. You should spend at least a week on each programming problem. Writing software works best when you are able to step away from the problem for several hours and let your mind chew on the particulars of the implementation. Starting the night before doesn’t give you time to see elegant solutions or realize when you’ve made mistakes. It also doesn’t leave enough time for testing.

Look forward to the payoff. Engineering degrees are difficult to earn, but the payoff is satisfying. Now the payoff I’m talking about isn’t graduating. Yes, I did get a sense of accomplishment when I graduated, but there’s nothing inherently satisfying about having a diploma. The real payoff comes when you get a job. Satisfaction comes from finally being an engineer.

Don’t get too caught up in rushing to the future though. The reward is in the journey just as much as it is in the destination. If you focus only on what comes after college, you’ll miss most of the college experience.

This is my personal blog. The views expressed on these pages are mine alone and not those of my employer.

My Mobile Upgrade (follow-up)

In part 1 1, I told you why I switched to Ting. Now I’ll tell you about my experience. I have nothing bad to say about Ting. They really are what every services company should strive to be. There are many great elements to Ting’s approach to providing wireless service. I’m just going to write about two of them: pricing and customer service.

Pricing. Ting has one clear price structure. Ting charges for 4 things: activated lines, voice minutes, texts, and megabytes. The price per unit for each of these is listed clearly on their website. Ting bills $6/month per activated device. Ting applies a tiered price structure for minutes, texts, and data. Ting has structured their pricing so that each service gets cheaper (per unit) as you use more of it. All of the devices on an account contribute to the same buckets of texts, minutes, and data. Ting bills you at the end of the month for each line plus total usage on the account. That about covers the pricing structure. It’s simple, easy to understand, and easy to optimize.

Customer Service. Ting’s customer service is so pleasant I almost wish I had to use it more. I’ve had to work with them on two occasions. The first was about a month after I switched. The touchscreen on my phone quit working. I couldn’t call them, so I had to contact them via email. My timing wasn’t great, as their customer service isn’t (or at least wasn’t at the time) very active on weekends. When they did respond, I could tell that I was working with someone who 1) cared about my problem, 2) had the power to fix it, and 3) wanted to fix it. They sent me a few troubleshooting steps (just to confirm non-functionality). Within a day or two they had shipped me a replacement phone.

My second encounter occurred a few months ago. Somehow, Ting lost my credit card information and was unable to bill my account. I received an email one morning telling me that I would need to update my payment info within 24 hours or risk an interruption in service. I went online and reentered my info, but I wanted to be confident that the problem was actually resolved. I called Ting’s customer service line. A customer service rep picked up the phone within 3 rings. After I explained my problem, the rep confirmed my payment info and then billed my account just to make sure everything was correct. The call was over in less than 5 minutes, and the person who answered the phone was the one that fixed my problem. Oh, did I mention they were friendly and pleasant to talk to?

In short, I’m very satisfied with Ting and look forward to future interaction with them.

Oh, and if you’re thinking of signing up for Ting, please use this referral link:
https://z1hmackd6.ting.com/
You get $25 toward a new device, and I get $25 credited to my account.

Thinkpad T430s Review (Part 2)

I guess it’s about time that I start posting some of the follow up posts that I keep mentioning but never writing. I’ll start by finishing up my review of the Thinkpad T430s.

Everything I said in part 1 still holds true. The laptop is sturdy and has a great keyboard. My laptop is now over a year old, and the only problem it has is cosmetic (and partially my fault). There are two badges on the back of the screen: a “ThinkPad” badge and a “lenovo” badge. The lenovo badge has metal lettering with a thick plastic backing. Unfortunately the edges of the letters have sharp corners. At some point, I caught the corner of the first “e” in lenovo on a sleeve or a bag and pulled it up from the backing. For now, the first half of the badge is covered in a strip of scotch tape; I cut myself on the protruding metal twice on the day I pulled it up. Other than that, the laptop still looks and works about like it did when it was new.

I occurs to me that I still haven’t mentioned what hardware is inside my laptop:

  • CPU: Intel Core i5-3320M, 2.6 Ghz, 3.3 Ghz Turbo, 3M L3 cache
  • RAM: 16 GB G.SKILL DDR3
  • Hard Disk: 320GB Seagate Momentus Thin ST320LT007-9ZV142
  • Wireless: Intel Advanced-N 6205
  • Graphics: Intel HD4000

There’s not much to say about performance; it’s been several years since PCs became fast enough to handle normal workloads without breaking a sweat. I can say that so far, this configuration has been fast enough to satisfy all of my needs. I can’t think of a situation where I wished I had spent more money for more performance. Even the spinning disk is fast enough to satisfy me most of the time; I’ve actually been impressed by how fast it is compared to other mobile drives I’ve used. Of course, it helps that I keep the laptop in suspend most of the time. I rarely reboot more than once a week.

A note on the hard drive: the T430s will not accept 9.5mm drives. I had originally planned to upgrade to a 500GB hybrid drive, but the space under the palm rest is too thin on one side. Last time I looked, there is exactly one model of 7200 RPM 7mm 500GB drive in production. It’s not terribly expensive, but I have yet to feel the demand for the space, and I’m pretty satisfied with performance at the moment.

Finally, there’s external I/O. I’ll start on the left side of the open laptop and work my way around. First, there’s the express card slot. The T430s has a 34mm version; I ordered it with the SD reader option. The face of the slot angles down/back a bit, which makes it a difficult to get SD cards in and out. Once or twice I’ve actually ejected the reader from pushing on it too hard.

Next is the combination speaker/headphone port. It seems to work fine with normal headphones. I haven’t tried any headsets in this port. Conventional microphones don’t seem to work in this port.

A USB 3.0 port sits next to the audio port. Personally, I’d rather have a USB port on the right side of the machine, but I don’t consider this a significant issue. The only USB 3.0 device that I’ve tested in this port is a 5400 RPM laptop drive. USB 3.0 is fast. I have USB 3.0 on a few other devices, and USB 3.0 hard disks may as well be plugged in to the SATA bus. I haven’t yet encountered a situation where the USB interface was the bottle neck.

The first port on the back of the laptop is a VGA connector. VGA still isn’t dead, and I use this port somewhat regularly.

Next to the VGA port is a yellow, always-on USB 2.0 port. By always-on, I mean that it will provide power even when the laptop is suspended or turned off. I’ve used this feature several times to charge my phone. It’s really convenient to have; almost up there with the backlit keyboard.

For digital video output, I have a mini DisplayPort. I like DisplayPort, as it’s easy to convert from it to just about any other digital output. I ordered a converter to go from mini DisplayPort to HDMI, DVI, and DisplayPort from Monoprice. The converter isn’t very big (just big enough to accomodate all three ports), and I haven’t had any problems using it. I don’t know whether it allows you to use more than one output at a time (haven’t tried).

Next there’s another USB 3.0 port, and then a Gigabit Ethernet port. I’ve been seeing full Gigabit speeds on the Ethernet port. Finally, there’s a power port. It’s for the standard Lenovo 20V adapter. There are no ports on the right side of the laptop, just the DVD drive and the wireless switch. There is a docking station connector on the bottom of the laptop, though I doubt I’ll ever own one.

I don’t think I could have done any better on my purchase, even if I had spent more money. This laptop is exactly what I need. I haven’t found it lacking in any way, and assuming Lenovo doesn’t destroy the brand, my next laptop will be a ThinkPad.

Drums Across the Bluegrass

And now for something on the “Marching” part of “Computers, Marching, and Life”. I’ve been following the Drum Corps International summer tour since 2007. I try every summer to actually attend a couple of shows.

I attended Drums Across the Bluegrass Friday evening. The weather was good, if a bit warm; they probably could have started the event an hour later since they only had 6 corps in attendance. Heat aside, the I was pleased with the whole event. Overall, the corps had solid performances.

Cincinatti Tradition: Cincinnati Tradition is an all-age corps that competes in the DCI Open Class circuit. Their tour schedule is less rigorous and they require less commitment from their performers than junior (under 22) and World class corps. They’re a small corps this year, with only about 30 performers on the field. Their show this year is called BR3AKDOWN. I recognized some of the music, though I can’t name any of it. This group doesn’t perform at the same level as many of the others, in terms of difficulty and polish. That said, I think this group exists primarily to cater to performers who can’t commit to a more intense summer tour.
Cincinnati_Tradition
Troopers: The Troopers hail from Casper, Wyoming. Their show this year is titled The Magnificent 11 (not to be confused with a movie by the same name). This show oozes Troopers. It summons images of the American West and the American military in the late 19th century. Their repertoire includes The Magnificent Seven and Battle Hymn of the Republic, among others. The Troopers grabbed my attention from the very beginning of the show with their big, rich, brass sound. I remained captivated as the show continued with musical and visual images of the American West and came to a finale with the Battle Hymn of the Republic. The Trooper’s identity is strong this year and I expect them to be a crowd favorite.
Troopers
Crossmen: The Crossmen’s 2013 program is titled Protest. The show emphasizes the power of assembly and the urgency of Now. Where the Trooper’s sound is rich and dark, the Crossmen took the field with a bright but powerful sound. I think they may have been the loudest corps Friday night. Their program is not as technically demanding as some of the other corps; as a result, they are executing very well early in the season. Personally, I didn’t connect with the show as well as I did with The Magnificent 11, but it was a great performance and the program is in line with the identity the Crossmen have built for themselves.
Crossmen
Spirit of AtlantaI have a personal connection with this corps, as I know two of the performers. I’ve really enjoyed Spirit the last few years and I’m happy to say that this year will be even better. Over the last two years, this corps has reestablished its identity with the shows ATL Confidential: A Tribute to Film Noir (2011) and Sin City(2012). This year’s production, Speakeasy continues in the same general theme. Spirit is always entertaining and tends to take on technically challenging material, especially this year. They’re playing lots of notes, in both percussion and brass. Some parts are a bit rough right now, but the show is impressive as it is and is going to get much better as the season goes on. Spirit has set themselves up to have a shot at the top 8 this year.
Spirit
The Cavaliers: A.K.A “The Green Machine”, the Cavaliers have a reputation for fielding some of the most intricate and demanding visual programs. They have a very well balanced more restrained sound. This year they present Secret Society. As the show begins, black, hooded cloaks cover the corps’ signature bright green jackets. The performers shed their cloaks about a third of the way through the program to reveal the classic green grab with an icon of a secret society, which includes a cog, one of the corps’ own symbols. I really didn’t get into the music, but the Cavies engaged me visually in the way that only the Cavies can. The Cavies’ shows are usually an acquired taste for me, and I’m confident the show will grow on me as the season progresses. The Cavaliers are perenially in the top 8. I doubt they’ll have any trouble keeping that position this year, but they may face stiff competition from Spirit of Atlanta and the Madison Scouts.
Cavaliers1

Cavaliers2
Bluecoats: The Bluecoats’ 2013 program, …to Look for America, explores the identity of our nation. As usual, the Bluecoats sound is dark and penetrating. The corps makes interesting use of several sets of wheeled bleachers, which they use as props throughout the program. The Bluecoats’ uniform for 2013 nods back to the uniforms of previous decades. The uniform is a dark navy blue, a departure from the bright blue they’ve used since 2007, and they’ve brought back the sash in a sky blue. I like the new uniforms; they work really well on the field. They performed their show well and are probably fighting for a spot in the top 5 as the season begins.
bluecoats
I’m pleased with the performances of all of the corps from Friday night. I really enjoyed kicking off the DCI season at Drums Across the Bluegrass and look forward to following all of the corps through the summer. Live Drum Corps is awesome.

Next Gen Gaming Consoles

(This post is largely conjecture and somewhat uninformed; I spent a few minutes reading parts of Anandtech’s comparison and not much else.)

We now know the hardware details for the next gen gaming consoles. In short, they look a lot more like PCs than any console to date (at least so far as I’m aware*). Specifically, I’m talking about the PlayStation 4 and the Xbox One.

AMD won the contract to supply the processor and graphics for both systems, and I expect that they’re nearly identical architecturally. The two biggest differences are that the PS4 has almost 3x the memory bandwidth of the Xbox One and the PS4 also has half again as many compute units in the GPU. Other than that, both machines use an AMD Jaguar chip with 8 cores. I’m pretty sure these 8 cores are in a 4-module arrangement, which means these consoles really only have 4 cores worth of floating point hardware, though that’s not clear from only 5 minutes of googling.

I think the PS4 will have a distinct performance advantage, but I’m not sure how much that’s going to matter. Both systems are far more powerful than their predecessors, and neither system should have any problem driving a 1080 display at extreme detail. For the immediate future, the performance difference may not even be noticeable. Of course, the software environments will be more optimized than on a standard PC, so I expect the performance on both systems to stellar.

I think the sales and marketing approach is going to matter a lot to the success of these systems. I believe Microsoft and Sony have rather different ideas about how people will use gaming consoles as we move forward. Microsoft is going for more of an “entertainment console” approach while Sony is pursuing a more “spare no expense” high-performance gaming rig. I don’t know what’s going to appeal to consumers. Microsoft has started off on the wrong foot by threatening to require a persistent Internet connection and trying to kill off the used game market. We may see a split between people who use their systems primarily for gaming vs. those who use their system primarily for entertainment.

* Apparently the first Xbox was x86 based.

M2 update

This post is a follow-up on my previous post, We have a MakerGear M2. We’ve spent a fair amount of time tuning the print settings and experimenting with different printing and design techniques.

We started printing gear cubes pretty early on (http://www.thingiverse.com/thing:10483, not sure if that’s the exact model we’ve been using); we’ve printed about 3 at this point. As far as difficulty, they aren’t very intricate, but the overhang occasionally causes problems. These are probably the coolest things we’ve printed; they’re a lot of fun to pick up and fiddle with.

partial_cube

 

This particular version prints the gears with the pins already attached. We’ve found that the versions that have separate pins tend to work better, if only because the pins are easier to replace when you break them trying to assemble the thing.

three_things

Of course, we have run into a number of problems, most of them small. The above picture shows two things. First, these are the separate pins I mentioned. Second, the head occasionally catches the model it’s printing and we end up with a pile of goop (this happens very rarely). Now that I think about, third, we’re printing on painter’s tape. The models adhere to the tape better than the glass or to kapton tape. We usually only use the blue tape for smaller models though, as models with a large surface area end up bonding really, really well.

doorstopProbably the most useful thing that we’ve printed is a doorstop. We like to keep the lab open, but the door has an automatic closer on it, so we need a doorstop. Getting a doorstop wasn’t really a problem, but the carpet in our lab is slick enough that the door pretty often would push the doorstop across the carpet until it was half closed. We designed and printed a doorstop with spikes and solved the problem (http://www.thingiverse.com/thing:64022).

If you’ve been following Aggregate.org, then you’re likely familiar with MOG and our maze. We’ve printed lots of these mazes at various scales. We printed some small ones, inserted ball bearings, and sealed some plastic over the top. They made pretty good handouts for the College of Engineering’s E-Day.

maze

 

deboss

(Credit to Paul Eberhart on these photos)

The above is a picture of the bottom of one of the mazes. We’ve developed a cool debossing technique that allows us to print images and letters on the bottom faces of objects.

A large part of the reason (excuse?) for buying this printer is that we can use it to print camera parts. To do that, our advisor needs to be able to print very thin layers with great detail. As a test, he started printing owls (again, not sure whether that’s the exact model). The owls are some of the most impressive items that we’ve printed. The owl in the picture below isn’t more than 2 inches tall; the detail is good enough that if you look from the right angle, you can see the nostrils clearly.

owl

 

In general, we’ve not had much trouble with the printer. We’re always tweaking the settings and we have to go through the optimization process every time we try a new filament, but our print quality has been steadily improving. We’ve had the print head jam once; cleaning that out apparently involved a small torch.

This is probably my last update on the M2, as I’ve graduated and I’m not hanging around the lab anymore. If you want to hear more about it and see more pictures, you can take a look at this Google+ album. Also, our advisor is posting some of his designs on thingiverse.

3D printers still aren’t ready for use by the general public. We’ve got ours working rather well, but keep in mind that it’s in a lab full of engineers who like to tinker. High quality printing takes a lot of time and tuning. That said, the process isn’t complex, and the default settings that MakerGear distributes are workable in most situations. I’m interested to see how 3D printing changes as it moves into the mainstream.