Archive for the ‘Trying to make a buck’ Category

I’ve complained before about the repetition and less-than-appropriate targeting of the job-search-related emails I’m receiving. After a month of it, I can say that it’s worse than I thought back then. Not only do I receive the same (or very similar) job listings several times a day from each source, and not only do I receive the same (or very similar) job listings from multiple sources, but even the ones that don’t necessarily sound similar in the emails often turn out to be the same jobs once I look at the detailed listings.

I hope that I haven’t applied to the same job multiple times through multiple sources, but it’s possible that I have. I’ve started a spreadsheet to keep track of which jobs I’ve applied to, and which I’ve looked at and decided not to apply to (and why) to help me filter the job links I get.

Some of the messages I receive don’t actually contain links to jobs. Instead, they tell me, “click here to see the jobs we’ve found that match your description.” Unfortunately for me, there haven’t been any jobs that show up once I click the link. Unfortunately for them, I’ve stopped clicking the links in these emails. Unfortunately for me, unsubscribing from them hasn’t done anything yet. Clicking the “unsubscribe” link produced an “it may take up to ten days” notice and no cessation of messages from those sources. I’m to the point of suspecting that unsubscribing actually does nothing, and they’re hoping that the “ten days” is long enough that I’ll have forgotten which sources I’ve unsubscribed from.

The 49th anniversary of Bobby Kennedy’s assassination by Sirhan Sirhan,

The 50th Anniversary of the Six-Day War, and

The 73rd Anniversary of D-Day.

I intended to write about some of these on their anniversaries, but we’ve been busy at work, and I’ve started looking for another job. The boss has decided to retire, and the company has been kind of limping along for the couple of years. We have also experienced some problems that have had major effects. Among the biggest, we had a dispute with Intuit that messed up our accounting for almost a year, so we never quite knew just how much money we owed or had available to us. Also, customers and suppliers have caused us cash-flow problems that have had significant follow-on effects (hey, we know the economy has been pretty bad for just about everyone, but we’re a small manufacturer, not a bank!), and everything has just added up into a perfect storm.

So far, the job search has been better than the last time I was looking: back then, my applications and resumes were sent out and almost all disappeared into a void … I only got four interviews and no offers over the course of almost an entire year. This time, I haven’t had any interviews yet (one phone interview that was scheduled never happened), but I’ve at least been notified that some of my applications have been received, and received two responses that said I wasn’t a match. One of them, I’m not certain if it was snarky or merely attempting to be “hip.” It was a response, though, so I know I didn’t disappear into limbo.

Dealing with email is taking more time, as well. I normally get between thirty and a hundred spam emails a day, mostly attempts at spam comments for this site. They’re running at the high end recently, and now I’ve got all the job notification emails coming in – around thirty to forty per day. Part of that’s my fault – signing up at one site got me signed up for about nine others, including two resume services. I get what is effectively the same message with the same job listings about three times a day each from around four different job sites. I’m tempted to look into writing some sort of app to filter my emails and only allow emails with job listings through if they contain any that I haven’t seen yet. The listings in the email are short enough and vague enough that I’ve clicked through to several that I’ve already rejected as inappropriate. And almost every one says, “Posted TODAY,” even though I saw it several days ago, and clicking the link produces a “This job is no longer available” message.

I’m also finding that targeting is not necessarily their strong point. While looking for embedded programming jobs in my area, I’m receiving job listing for jobs all over the country (and the world, there’s one job listing purportedly for Denver which actually lists the job as being in Hyderabad) and for things I’m not qualified to perform or have no relation to embedded software (sewage line inspector in Illinois, among others). Not to mention the repeated unsolicited offers to work as an Uber driver open my own State Farm office.

In any case, I’ll probably not be updating this website very often for a while (so, what else is new?), because I’ll be working, trying to get the company prepared for closing down, looking for a job and networking with my various social groups, getting the company’s GitHub page and my GitHub page updated with things I’ve done (I signed up for a page, but have done almost nothing with it yet), and doing anything else useful that comes to mind.

I mentioned last week that I had a growth cut off my nose. They finished the biopsy and called me to say that it was a fibrous papule, and benign. More or less what I expected, but still good news.

However, I also dropped my car off at 8am yesterday for a recall service (ignition problems with Saturn Vue). They provided me with a loaner, because they said it would take most of the day. Around 4:30pm, I called to ask if it was ready. They said it was, and that they had left a message with me around 11:30am. Since I’d received no messages, I asked what number they called.

It wasn’t mine.

It was one digit off, which, because I went over my number three times to make certain they had it correctly, was disappointing. The dealership that had to do the service was more-or-less at one point of an equilateral triangle, the other points being my home and my work, and now I had to go through the evening rush to pick up my car.

Oh, well. At least I’ve got the car back now, and everything is working.

I think.

I’ve also been working on an SDCARD interface. It’s worked, at least mostly, a few times, but not reliably. I’d determined that the code was apparently ignoring whatever signals that something is deleted, and reformatting the card seemed to help. Now, it’s looking more like it’s the card itself that’s the problem, or at least contributing to the problems I’m seeing. I’ve been explaining things to the stuffed moa on my desk, but that hasn’t helped me come up with a solution yet.

Wednesday evening, I had occasion to visit a nearby mall. I expected to see Halloween decorations in the stores. What I didn’t expect to see was one store that had Halloween decorations and items on sale that was in the process of putting out Christmas decorations and items.

When I was a child, I don’t remember seeing Christmas decorations going up before Thanksgiving. It’s possible that I just didn’t notice, but I doubt that, because I remember the arrival of the Sears and Montgomery Wards Christmas Catalogs being A Big Thing. We’d go page-by-page through the catalogs, trying to put together our wish lists.

A web search tells me that it is popularly known as Christmas Creep, and I had no idea it was getting quite so bad. I knew that one of the forces driving it is the fact that many retailers do most of their business in the lead to Christmas, but how long will it be before Christmas shopping season is a year-round phenomenon?

I’m working on systems software for a new ARM Cortex-M3 board, and right now, I’m trying to get the SDRAM interface working. I’ve never done SDRAM interfacing before, and it’s pretty complex, compared to most processor subsystems I’ve worked with before. There’s a lot of detail you have to handle. The library that came with the compiler includes initialization routines for most, if not all, of the processor subsystems, and the external memory controller (EMC) is one of them.

I’ve taken the configuration for an existing board (one that I don’t have) as my starting point, and modified it for my hardware. It hasn’t worked.

I’ve starting taking a “deeper dive” into the code, and I have a lot less trust in it than before. I’m not certain the configuration for the existing board actually works, now that I’ve looked at things in more detail. Part of the problem is that some comments are inconsistent with the code, and others are just plain wrong.

For inconsistency, there are three places where the comment says that a delay is needed. They’re implemented with busy-wait loops, with a comment that it would be better to use a system timer. For a 100 microsecond delay, an empty loop is executed 1000 times. For the first 200 microsecond delay, an empty loop is executed 1000 times. For the second 200 microsecond delay, an empty loop is executed 80 times. I’ve got some calculations ahead of me, it seems.

For being out-and-out wrong, another section of the code has a comment that if the external device has a 32-bit bus, use a burst length of 4. If the external device has a 16-bit bus, use a burst length of 2. According to the processor reference manual, the EMC will use a burst length of 8 for a device with a 16-bit bus (which my hardware has).

Finally, some of the values in the configuration structure are populated using predefined constants combined using shifts and ORs. When I work through two of the key values manually based on the predefined constants I’m combining, I come up with values of 0x27 and 0x1380. When I look at the structure in memory, it contains 0x23 and 0x280. I haven’t figured out yet how that’s happening.

I’ve only just found these problems; I haven’t determined how they’re occurring. I just needed to rant about it.

We had a significant snowstorm earlier this week. My boss texted early Wednesday morning to let everyone know that she was closing the business for the day. Good thing. According to the traffic overlay on my iPad’s map app, the roads were not moving well most of the day. The city of Denver actually put the chain law into effect, which is something that seldom happens. It usually happens several times a year for the mountains – there’s a stretch of I-70 near work that’s a pull-off area for trucks to put chains on – but I’ve only seen snow heavy enough for Denver to require it a few times in the last 30 years. I-70 was closed all the way to the Kansas border, and I’m sure Kansas shut down some of the highway in their state.

Roads weren’t bad on Thursday – one of my coworkers reported the major road by his apartment was icy, but I only ran into trouble on the on-ramp from the major road near me to the highway. Today was no trouble, but we’re supposed to be getting more snow tonight into tomorrow. Probably go up to Frisco Sunday for some cross-country skiing.

We’ve been developing a new computer board at work – based on a Cortex M-3 processor. We got the first boards back from the assembler on Monday, and have been testing them all week. As is usual when bringing up a new board from scratch, not everything is working, but enough is working that we’re not too unhappy. Unfortunately, one thing that’s not yet working is affecting our ability to test some other parts of the system. Just the way things go, sometimes. Once we’re past this problem, odds are good that everything else will fall into place.

Well, “keep” may not be correct in this context, but the unstated next sentence is the actual point.

I was at the mall last night, and noticed one of the advertising displays at Victoria’s Secret. Actually, I noticed them all, but this one struck me. It showed, as they mostly do, several good-looking young women clad in nothing but bras and panties. The associated text read, “Be a flirt.”

I have to say, if you’re flirting while dressed like that, you’re not flirting. You’re issuing an invitation.

I was expecting a tax refund from Colorado, but it had kind of slipped my mind that I hadn’t received it yet. Friday, I got a letter from the Colorado Department of Revenue; they’d made a correction to my return.

I say “correction,” but that’s not what it was. For some reason, they seem to believe that I did not have any state taxes withheld from my salary last year, which, when penalties and interest are added in, turns my modest refund into almost $2000 they want from me.

All I can think is that they lost my W-2, because it said that I had taxes withheld. I’m hoping they’re not taking the position that my W-2 was erroneous. That would be pretty heinous.

I’ve enjoyed doing software development, but it hasn’t been the most lucrative career. Of course, if I’d gotten into web development a decade or so ago, or been actively involved with any of the other hot-technologies-of-the-moment, I could have earned more money. Of course, at the moment, I consider myself lucky to be employed at all.

It fits in with something I read years ago … there’s a “money stream” that flows through organizations, and the closer your position is to being on the banks of the stream or actually within it, the more money you earn. As a programmer, I’ve usually been nowhere near the stream.

There are other problems with being employed as a technical person. Management often considers engineers fungible, so experience is discounted – except when your resume is being considered. I can remember seeing advertisements that required five years experience with software that had only been available for three – if you hadn’t been working on the development team, you didn’t qualify for the position. I also remember a cartoon from some years ago showing a hiring manager reading a resume, with dialogue on the order of, “I see you have ten years of experience with the technology, twenty-four patents, and forty publications. No Master’s degree. The position requires a Master’s degree.” At least this time around, I haven’t seen any ads that state “x months in the position offered” as a requirement.

Then you have the pressure. Not just feature and schedule pressure, but the knowledge that your work may be safety-critical. If you’re programming the anti-lock braking system for an automobile, or the fly-by-wire stability system for an aircraft, you are subject to worries and pressures that someone programming a media player application doesn’t have.