Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Comments

top

Japan's Shinkansen Bullet Trains Celebrate 50th Anniversary

Ichijo Re:And still nothing in the US (98 comments)

I see, you're inflating the cost of a seat by including the infrastructure cost into the seat cost, but not doing the same for buses. Because every bus that's on the road prevents another vehicle from using the same space, there's always an opportunity cost of putting a bus on the road, even if the road is already "paid for".

4 hours ago
top

Japan's Shinkansen Bullet Trains Celebrate 50th Anniversary

Ichijo Re:And still nothing in the US (98 comments)

the highways ALREADY EXIST, and the buses displace cars, so no additional capacity is needed.

So the cars will magically disappear and make room on the highways for buses? I think you made that up.

Even if you accept the lowest of the projected costs for California high speed rail project, the cost is over $500,000 PER SEAT. Show me a bus that costs that much.

First show us where it says the cost is $500,000 per seat, because I think you made that up.

9 hours ago
top

Japan's Shinkansen Bullet Trains Celebrate 50th Anniversary

Ichijo Re:And still nothing in the US (98 comments)

My JR Tokaido Shinkansen ticket from Tokyo to Kyoto was $140. A Southwest flight from LAX to SFO is $73.

According to FareWatch from GoFox.com, the average airfare between LAX and SFO is $145.58.

10 hours ago
top

Japan's Shinkansen Bullet Trains Celebrate 50th Anniversary

Ichijo Re:And still nothing in the US (98 comments)

The government subsidizes it.

According to your link, the Acela Express (the U.S.'s closest thing to a bullet train) makes a profit.

11 hours ago
top

Japan's Shinkansen Bullet Trains Celebrate 50th Anniversary

Ichijo Re:And still nothing in the US (98 comments)

But in either case, a bus...is more flexible when commuting patterns change.

That's circular logic, because commuting patterns only change when something as flexible as a bus is in place. Putting in something as permanent as a rail line gives developers confidence to make investments along the line in a way that doesn't happen around bus stops. So commuting patterns changing is a non-issue with rail.

12 hours ago
top

Japan's Shinkansen Bullet Trains Celebrate 50th Anniversary

Ichijo Re:And still nothing in the US (98 comments)

The SF-to LA run alone is projected to cost $300 Billion

No, it's projected to cost $53.4 billion in 2011 dollars. Meanwhile, it would cost $123 to 138 billion in 2011 dollars to move the same number of people by air and highways (4,295 to 4,652 new lane-miles of highway plus 115 new airport gates and 4 new runways). Also, like every HSR system in the world that has been open for at least a few years, California's won't require any operating subsidies, unlike airports and freeways. So high-speed rail is a really good deal.

13 hours ago
top

Drones Reveal Widespread Tax Evasion In Argentina

Ichijo Re:Just what we need. More compliance! (208 comments)

A nearby city is $20 million short on its budget. I guess they don't have enough poor people.

They have too many people who are living beyond their means.

about a week ago
top

Drones Reveal Widespread Tax Evasion In Argentina

Ichijo Re:Just what we need. More compliance! (208 comments)

Your frontage proposal puts the ratio at the home owner paying 50x as much, when the real differential is MUCH MUCH less.

If a foot of street costs $10 per year to maintain, then how much does 500 feet of street cost per year to maintain? I'm saying it's $5,000, but you're saying it's less than that. Is this some kind of new math?

And remember, we're talking about making only "the assessment for street maintenance on the property taxes" proportional to street frontage, not the entire property tax bill.

Addtionally your link doesn't factor in the fact that the 'urban developments' were mixed use...its not really comparing apple to apples with respect to our debate.

Ok, then please locate a new, single-family residential mixed-use development so we can compare it with urban mixed-use.

about a week ago
top

Drones Reveal Widespread Tax Evasion In Argentina

Ichijo Re:Just what we need. More compliance! (208 comments)

Yet it's the inner cities, where poor people live, that heavily subsidize the suburbs, where middle- and upper-class people live.

It's interesting how people rationalize this kind of reverse welfare by calling anything else "regressive."

about a week ago
top

Drones Reveal Widespread Tax Evasion In Argentina

Ichijo Re:Just what we need. More compliance! (208 comments)

the highrise produces 50x as much trash. So instead of 10 trashcans once a week they need to haul away 5 dumpsters worth every day.

Let's say a single dumpster handles the trash of 25 apartment units. So you'll need 20 dumpsters for the 500-unit apartment block. For 500 single-family homes, you'll need 500 trash barrels. Which do you think is easier to service, 20 dumpsters or 500 barrels?

In the suburbs you can put up a couple pylons and just dig a hole to do what needs doing. Downtown you'll need flag people to help redirect traffic, you may need coordinate access to buildings, or involve other utilities etc.

Despite all that, dense development is much more cost-effective in city services than single-family homes. For example, per unit, a mixed-use development produced a total of $3,370 in public revenue annually, while costing the local government about $1,400 per year in infrastructure maintenance, policing, fire response, and other general fund obligations. In comparison, the traditional suburban development...generated only half the revenue â" $1,620 per year â" and cost more to service â" $1,600.

So my question is, why should poor renters subsidize middle- and upper-class homeowners? By defending this kind of reverse welfare, you come off as being in favor of it.

about a week ago
top

Drones Reveal Widespread Tax Evasion In Argentina

Ichijo Re:Just what we need. More compliance! (208 comments)

The 10 families in the 10 homes should each pay 50x the property taxes as the high rise tenants?

The assessment for street maintenance on the property taxes for the 10 homes should each be 50 times that of an apartment unit.

But water?

Yes, water infrastructure costs less per unit in an apartment building than a single-family home. But this should be on everyone's water bills, not their taxes.

Garbage removal?

Yes, it's easier to haul away trash from a single dumpster than from trash barrels serving the same number of homes. But this should be on everyone's trash collection fees, not their taxes.

schools? Libraries? Recreation centers? Parks?

These things are probably about the same cost for condos as for single-family homes.

Sewers?

Yes, like water. Remember, the cost of sewers also depends on the amount of impermeable surface on each property.

Cities tend to divide costs by an assessment of value. Within a strata that works out pretty close to being the same thing

That's a pretty clumsy and inexact way to assess property taxes, and it encourages urban sprawl when the property's burden on infrastructure isn't properly reflected in property taxes.

about a week ago
top

Drones Reveal Widespread Tax Evasion In Argentina

Ichijo Re:Just what we need. More compliance! (208 comments)

The value of education isn't proportional to the property's value. Law enforcement probably is.

Fire protection should be billed to the property owner's insurance in order to provide the proper incentive to use fireproof building materials, and to clear away brush in areas prone to wildfires.

In California, we make a distinction between taxes and fees. For example, a fee is:

A charge imposed for a specific benefit conferred or privilege granted directly to the payor that is not provided to those not charged, and which does not exceed the reasonable costs to the local government of conferring the benefit or granting the privilege

I would rather pay such fees than taxes, wouldn't you?

about a week ago
top

Drones Reveal Widespread Tax Evasion In Argentina

Ichijo Re:Just what we need. More compliance! (208 comments)

The township has a certain set of fixed costs which it has to meet every year.

Stuff like street maintenance, right? Is a property's burden on the streets proportional to the property's value or the property's street frontage?

Cities and towns usually get this answer wrong, and that causes a lot of problems such as those we saw in the real estate crash.

about a week ago
top

Seattle Passes Laws To Keep Residents From Wasting Food

Ichijo Re:100s of train cars, every day (383 comments)

The alternative is to have even more and longer trains and higher rates for garbage for everyone.

Or switch from flat rates to proportional. Why should poor people who generate little waste subsidize waste disposal for wealthy people?

about a week ago
top

Seattle Passes Laws To Keep Residents From Wasting Food

Ichijo Re:Another terrible article courtesy of samzenpus (383 comments)

Seattle has not made it a fine-worthy offense to discard uneaten eat food, which is what the headline implies.

What definition of "waste" are you using that's synonymous with "discard"?

about a week ago
top

Nvidia Sinks Moon Landing Hoax Using Virtual Light

Ichijo Re:It proves the conspiracy theorists right (sort (275 comments)

I fully expect this to prove only that the NASA guys were wily bastards.

Yes, NASA put a lot of effort into making the details perfect enough to remain convincing over four decades later. Maybe it would have been easier to put a man on the moon!

about two weeks ago
top

Small Restaurant Out-Maneuvers Yelp In Reviews War

Ichijo Re:The review ecosystem is good and truly broken.. (249 comments)

Better yet, instead of using the star rating system, rate everything relative to a competing product or service. For example, if you're rating a restaurant, you would need to decide whether it's better or worse than another restaurant you've visited.

Then the rating system would use something like Instant Runoff Voting or Condorcet to sort everything in order from lowest to highest rated. It would then score each item as a percentile according to its position on the scale. A score of 95 means that the restaurant is better than 95% of all restaurants.

about two weeks ago
top

eBay Redirect Attack Puts Buyers' Credentials At Risk

Ichijo Re:NoScript (37 comments)

It would be much easier to use NoScript if web sites stopped requiring JavaScript or at least stopped using scripts hosted on other web sites.

about two weeks ago
top

New Global Plan Would Crack Down On Corporate Tax Avoidance

Ichijo Re:Most taxes are legalized theft (324 comments)

Instead, tax-per-use: road tax...

You'd end up in a shit hole of a society in which things like roads and schools don't work and don't get funded.

So if we had a road tax, roads wouldn't work and wouldn't get funded? That's like saying if a restaurant charged for cheeseburgers, they would taste awful and nobody would buy any.

about two weeks ago

Submissions

top

An X Prize for Algae Biofuel

Ichijo Ichijo writes  |  more than 4 years ago

Ichijo (607641) writes "A $10 million Algae Fuel Prize has been announced by venture capital firm Prize Capital to encourage development of commercially viable fuel from algae. "The Algae Fuel Prize's rules specifies that the winner must produce 3,000 net gallons of diesel fuel per acre at a cost of no more than $3 per gallon. The net quantity is obtained by subtracting the gallons of fuel used in producing the algae from the yield. Prize Capital will also work to arrange buyers for the fuel.""
Link to Original Source

Journals

top

Simplifying U.S. Currency

Ichijo Ichijo writes  |  more than 10 years ago

Here is what the 2004 U.S. nickels will look like.

Personally, I think we should get rid of the penny and nickel, and drop a digit in currency calculations. As the price of the penny rises in proportion to the cost of making that penny, we're eventually going to have to do this anyway.

If the penny and nickel are gone, we would also need to get rid of the quarter for obvious reasons. And as long as we're messing with our pocket change, we may as well do all these changes at once:

  1. Remove the penny (cent coin). It costs a lot to make and people don't use them often. They can't be used in vending machines, we already have currency with Lincoln on it (the $5 bill), and a penny is worth only a fraction today compared to 1793 when it first came out.
  2. Remove the nickel. People are afraid businesses will cheat customers out of 2.5 cents of every transaction. It's a stupid, trivial issue, but the U.S. is a nation full of stupid, trivial people. (But not exclusively in any sense.)
  3. Replace the quarter with a Washington 20-cent piece.
  4. Remove the dollar bill. It's a pain to use a crumpled dollar bill in vending machines anyway, and we already have its replacement (the Sacagawea). The Sacagawea has so far failed to catch on because we still have the dollar bill, and because it takes time and money to replace vending machines, cash drawers, etc. (This is why we should make all the changes to our currency at once.) While we're at it, we might as well replace Sacagawea with MLKjr as per H.R. 1016, the " Dr. Martin Luther King, Jr., 1 Dollar Coin Act." MLK did more for the country than Sacagawea did anyway.
  5. Create a $2 coin with Jefferson, to replace the $2 bill with Jefferson.

So in the end we would have:

  • (coin) Roosevelt 10c
  • (coin) Washington 20c
  • (coin) Kennedy 50c
  • (coin) MLK $1
  • (coin) Jefferson $2
  • (bill) Lincoln $5
  • (bill) Hamilton $10
  • (bill) Jackson $20 (Is Jackson worthy of being on the currency anymore?)
  • (bill) Grant $50 (Ditto for Grant.)
  • (bill) Franklin $100

Notice the 1-2-5 trend? It's simpler than the irregular system we have in place now, and is similar to the Euro currency system (except without the 1 and 5 cent pieces).

top

Remote Desktop Software Reviewed

Ichijo Ichijo writes  |  more than 10 years ago

I wanted to be able to access my work computer from home. Sometimes I hit upon some inspiration and I want to test it out on the software. (Downloading the source code to my computer at home is not an option.) So I tried a few types of remote desktop software.

My work desktop is set to 1600x1200, but my computer at home can only do 1400x1050. So in addition to the slow network connection, this was the other problem I needed to deal with.

The first, UltraVNC (free), won't work for me at all since VNC is already installed on my work computer, and this both precludes me from adding a VNC account and from installing other VNC software. Apparently you can't have two copies running at the same time, even if they are different implementations. VNC was already installed for the benefit of the help desk.

Another one I tried was Remote Administrator 2.1 ($35). It worked surprisingly well over the slow network connection. Upping the pixel depth to its highest setting didn't seem to make a difference in speed. And while the resize mode sucked (no bilinear filtering), the autoscroll mode was usable (just like a virtual desktop in Windows). The fact that you had to use Ctrl-F12 to get to the menu was kind of annoying. Still, I hoped for something better.

Then I tried the most obvious solution, Symantec pcAnywhere 11.0 ($200 retail). I was able to get a copy off eBay for about $20. This one fully bilinear-filters the desktop when resizing, but like Windows Media Player and Quicktime, the "bezel" (actually an Outlook-style side menu) takes up space that cannot be reclaimed. Also, pcAnywhere seems to be very frugal on network traffic. Unfortunately, and this is the real deal kiler, pcAnywhere is slow! Refreshing a certain window takes four seconds in pcAnywhere, where it took 2.5 seconds under Remote Administrator. Changing to a different pixel depth didn't seem to make any difference. pcAnywhere is still usable, but only in emergencies, whereas Remote Administrator could be used pretty much all the time if you wanted to.

So if you're looking for remote desktop software, I recommend Remote Administrator.

top

The Problem with Microsoft Certification

Ichijo Ichijo writes  |  more than 10 years ago

Microsoft's certification exams serve one main purpose: to test a person's knowledge of Microsoft's technologies. As such, they are both too broad and too narrow.

They are overly broad in that you may use only a subset of these technologies in any one job. Each test has multiple areas of study, instead of having multiple certification tests, each on a specific subject. This has two side effects: any person taking the test must be somewhat familiar with more technologies than he or she may use in any one job, but at the same time it is not required to be thoroughly familiar with any of them. In fact, around 40% to 50% of the answers may be missed while still passing the exam. Is it important for an auto mechanic to have only a passing familiarity with both engines and body work, or is it better to specialize in the one or the other? Which of the three types would you hire to fix your engine? To repair a dent?

The tests are also too narrow for the purpose employers are using them: a "litmus test" of how "good" a programmer might be. A person can pass one of the Visual C++ exams without needing to understand C++ at all, much less be able to write readable, easily extensible, fast, stable, or bug-free (and bug-resistant) code. It doesn't test a person's ability to gather requirements or produce a good software design.

As a result of these shortcomings, many people think the tests are good for nothing. I would submit that the tests are good for one (and only one) thing: to test a person's knowledge of Microsoft's technologies (as stated above). In other words, they might be useful for a manager, not a programmer. They do not achieve the purpose many people think they do, to test how "good" a programmer might be. Unfortunately, while there are industry tests that cover the missing gaps, none of them seem to very popular. These include ICCP's ACP and CCP certification tracks, and IEEE's CSDP.

top

e*Trade vs. Firstrade

Ichijo Ichijo writes  |  more than 10 years ago

Or, a crash course in online discount brokers.

This is a long one, so go get your hot chocolate (or other drink of choice) and get comfy.

I had some extra money and I decided last month to use it to invest in stocks. Up until then, my only exposure to the stock market had been my 401k and my company's stock purchase plan. Last month seemed ideal because good reports were coming in all around about the economy.

e*Trade

Because my stock purchase plan is through e*Trade's OptionsLink, and because their fees aren't bad ($12.95 per trade), I decided to use e*Trade as my broker, but because they have a $1,000 account funding minimum, I had to wait until I had that much extra lying around, which turned out to be last month (September, 2003). In order to avoid wire transfer fees, I mailed in a personal check. Five days later, the funds were available. This was, in my estimation, too slow by about two or three days. Dock one point from e*Trade.

My stock of choice was Intel. Long story short, I believe the stock is undervalued and it should double in two to three years. So I placed my order, but instead of $12.95 for the trade, they charged a total of $22.95! It turns out e*Trade charges $19.95 for NASDAQ stocks, and there's an extra hidden $3 fee. Before I can see a profit on a stock trade, the combined value of the shares has to rise above the cost of the transaction. Dock another point from e*Trade.

Firstrade

So with the long wait between mailing a check and the funds being deposited into my account, and with all the fees, I decided there had to be something better, especially for shorter term holdings. Doing a little online research, I found an article comparing the various online brokers. Using their table of ratings, I chose Firstrade, in part because of the lower transaction fees. Score one point for Firstrade.

As with e*Trade, I mailed a check. However, this time it took seven (7) days for the money to show up in my account. Oh well, big deal, a difference of two days. Dock half a point from Firstrade.

I placed my orders, and... they were rejected. All three of them. No explanation was given. Hmm, I thought, maybe a glitch. So I tried again the next day. Rejected. What good is a broker if they keep rejecting your orders? Dock one point from Firstrade for not giving a reason. Well, I thought, this was a good time to test their customer service (one reason I chose Firstrade in the first place). They replied the same day (score one for Firstrade) and stated that the reason my orders were rejected was because they were waiting for my check to clear, and it was going to take ten days. From the date they deposited my check.

Ten days! After waiting seven for them just to receive my check! Clearly, Firstrade wasn't going to be the short-term, diverse portfolio I was hoping for. Dock two big ugly points from Firstrade for being overly paranoid about their own clients. But it gets worse.

It Gets Worse

This time I chose AMD, General Dynamics, and Amazon ). With the lower fees, I felt I could diversify a little better than with e*Trade, for the same amount of money to invest. Between the time I originally tried to place my order and the time my check finally cleared and the trade finally went through, those three stocks had all risen in value by an average of 10.6% each! (AMD alone was up 20%.) I guess I'm really good at picking stocks but really bad at picking brokers. Anyway, to try to get a better deal, I placed limit orders (don't trade until the stock goes back down below $x) on all three stocks. Expensive mistake, because it turns out Firstrade charges an extra $5 for a limit order. (This was my own fault for not reading the fee schedule, so no points taken.) And because I had already calculated my trades pretty close to my account limit, the extra fees caused my account to be $10 overdrawn after the trades.

Now that didn't make sense. My trades wouldn't go through earlier because my funds hadn't cleared and therefore I effectively didn't have any money in my account, but they went through now despite not having enough in my account. Dock a half point from Firstrade for stupidity.

Conclusion

Read the fine print! Get a list of fees, and find out how personal checks are handled. As it stands, I'm not sure which of the two will be my main broker. In the end, it's been an educational, if not expensive, experience.

Final Score

e*Trade: -2
Firstrade: -2

Update (Thursday October 16, @01:33PM): At this moment, about a week after that ill-fated trade, my Firstrade stocks have risen enough to start showing an overall profit on the three transactions. Thanks to all who expressed their sympathies.

Update (Wednesday November 19, @2:43PM): Two other intriguing brokers are Freetrade (free, but with some important footnotes to read first) and ShareBuilder (an inexpensive investing program similar to a 401k).

top

Worse is better (or is it?)

Ichijo Ichijo writes  |  more than 11 years ago

The subject of this journal entry is the argument of "worse is better" vs. "the right thing." An article about the subject written by Richard P. Gabriel who coined the former term can be found here.

The "right thing" philosophy of software design, also known as the MIT/Stanford style, emphasizes simplicity of interface, absolute correctness, complete consistency, and as much completeness as possible.

In contrast, the "worse is better" philosophy emphasizes simplicity of implementation, and allows the other ideals to be compromised slightly in order to achieve this.

As the article goes on, there are many arguments for and against each design philosophy. Who can say which is really better?

I'm a "right thing" sort of person. I want to be able to quickly get a mental picture of what's going on in the software at a glance. I want to be able to easily pick up where someone left off.

On the other hand, I don't like it when low-level information is hidden from me. It is easier to show low-level information in "worse is better" implementations than those in "right thing" implementations, but this doesn't mean it can't be done. For example, if packets are colliding on my local network, I like to see the little red LED light up on the switch, but I don't want scrolling logs filling up my screen. When I'm burning a CD, I like to see the bar graph indicating how much is done another indicating how full the CDR's buffer is without seeing something like "x of y blocks transferred". I believe there's always a way to show low-level information on a "right thing" implementation. It's just that sometimes it takes some extra design work to come up with the answer.

The traditional UNIX style is "worse is better." MacOS (including OSX) and BeOS are "the right thing." Windows doesn't seem to be polarized to one end or the other.

Most of the programmers on my team are a "worse is better" lot. I'm a "right thing" person myself. I'm growing increasingly intolerant of (what I perceive to be) bad code.

The whole philosophy doesn't apply only to programming. It applies to the design of everyday things. Do you prefer a stick (worse is better) or automatic transmission (right thing)? A VCR (worse is better) or a TiVo (right thing)?

What style of person are you?

top

Full Circle on the Internet

Ichijo Ichijo writes  |  more than 11 years ago

Or, The Right Thing vs. Worse Is Better.

Has this ever happened to you? You go searching around for something, and it brings you back to something (almost) completely unrelated that you've seen/done/met before.

I've been having trouble setting up Qmail under FreeBSD. I and zoarre want to replace Sendmail on our server with a better, more secure mail server. Qmail's supposed to be the best.

Installing Qmail isn't as simple as installing a package, because Qmail's license doesn't allow distribution in binary form. And it also isn't as simple as compiling the port.

There's an alternative: Postfix. It was also written by a security type, and while it doesn't guarantee security, it's able to hold its own against Qmail. So today I was searching around for comparisons between Postfix and Qmail, in particular user experiences. So typing this into Google:

I came across an interesting article titled "Sendmail." More interestingly, it made reference to a book titled "The Unix Hater's Handbook." Apparently it's out of print, and the used copies offered by Amazon Marketplace sellers are priced at $99 for the one copy or over $300 for two other copies.

So back to Google again to see if anyone else had a copy. (eBay would have been my next choice.) Apparently, there are some free .pdf copies floating around the Internet, one of which is linked from an article titled "Unix History." The same article talks about the Jargon File, which I also like, so I took a closer look. At the top of the page is a link to an article titled "Worse is Better."

Without going into its contents (I'm saving this for another journal entry), let me just say that the article mentions a "young kid from Pittsburg named Jamie Zawinski" (initials JWZ). Is this the same JWZ of the weblog jwzrants? (I have that weblog bookmarked.) Indeed it was, and we've come full circle.

This also happened a couple of weeks ago. I was reading another weblog which linked to something which mentioned a Phil Windley. It took a minute to remember where I had read that name before. He's the sysop (okay, webmaster) of the Japan Tokyo South Mission alumni page (I served my mission there).

In the words of Johnny Carson, that's some "weird, wild stuff."

top

The Seven Sins of Deadly Meetings

Ichijo Ichijo writes  |  more than 11 years ago

Here's an old article (but I just found it) about holding effective meetings:

I thought the article was interesting because the author seems to advocate the use of technology in meetings to help make them more productive and encourage more ideas and other feedback. Also, a lot of his points hit home because my own team has problems holding effective meetings.

The following are my own notes from a CBT training course about holding effective meetings:

The 5 P's of Preparing a Meeting
(These should be part of the meeting request.)

  1. Establish a Purpose
    • "What do we want at the end of this meeting that we don't have now?"
  2. Manage People
    • Leading - managing the content/information
    • Facilitating - moving the meeting through the agenda items, managing the people
    • Recording - recording the key points of the meeting, producing the minutes after the meeting
  3. List Prerequisites
    • What to do before the meeting?
    • What to bring with you to the meeting?
  4. Organize Practicalities
    • Length of the meeting
    • Time of the meeting
    • Gather equipment, remove distractions
  5. Create Points (Agenda Items)
    • Inform (what, how, whom, how long)
    • Discuss (...)
    • Decide (...)
    • Act (...)

OPEN Technique of opening a meeting

  1. Orientate everyone
  2. Present the purpose
  3. Establish the agenda items
  4. Nominate roles and rules

CLOSE Technique of closing a meeting

  1. Call a halt
  2. List the outcomes
  3. Obtain commitment for assignments
  4. Set up the next meeting
  5. Express appreciation

top

Moore's Law of Computer Science Degrees

Ichijo Ichijo writes  |  more than 11 years ago

So our CS Ph.D guy wrote a class to chop up a string by a given token character. It uses strtok() which is not thread-safe, so he wrote this disclaimer:

// if object is used by only one thread then it is thread safe

This kind of description from a Ph.D truly boggles the mind.

Now keep in mind the following terms:

class-level thread safety: Objects of the same class may safely be instantiated any number of times in the same or multiple threads. This means there is no global data (with the possible exception of instance counters). However, multiple threads may not necessarily be able to safely access the same object.

object-level thread safety: A single object of the class may be safely accessed by multiple threads. A class that is safe on the object level offers synchronization for its data members.

So his code was thread-safe on the class level but not the object level. But we're just getting started...

So far he has only used this routine in a situation where we already have a completely (class & object) thread-safe string-chopper. Now the string in question represents a data structure, so you should not parse it yourself. Anyway, I've always thought, if you're going to reinvent the wheel, you should make a better wheel.

I've identified two main problems with his code so far (it's redundant and not thread-safe). But this is the same person who:

  • replaced a database with a series of ASCII (not Unicode) flatfiles with non-escaped field delimiters, which depends on the Windows registry for some of its data, and
  • thinks, because we use structured exception handling to catch OS errors, he doesn't have to fix his NULL pointers. This leads us to the fact that he...
  • always uses char *'s instead of C++ strings.

I hope he doesn't use that strtok class for creating and parsing CSV files, because I'm afraid he won't use proper escapement.

We also had an employee from India with a Bachelor's degree in Computer Science. He and an ex-lawyer were the only two programmers we've ever fired due to technical ineptitude.

Speaking of degrees, have they even started teaching C++ and OO in college yet? Chances are you won't learn about realtime operating systems, Beowulf clusters, Extreme Programming, or any other cutting-edge technology throughout your Computer Science college career, unless you do your own research.

So all of this background brings me to my point. Just as a brand-new computer is obsolete before you bring it home, so are Computer Science degrees. Call it Moore's Law of Computer Science Degrees. Maybe mandatory refresher courses to maintain your degreed status and/or industry licensing/certification are the answer.

Update (6/8/2003): I should point out that my good friend Zoarre disagrees with my conclusion. The principles learned on the road to a CS degree will withstand the test of time and can make a programmer better. (The example I gave of the Ph.D he dismissed as being a "sloppy coder.") In his words:

A CS degree can only help a good programmer write better code. If someone with a CS degree (or a PhD) is a shitty programmer, it's because they always were.

Zoarre doesn't have a degree, but he's worked with both types of programmers. I don't have as much experience as he does, but I think he's right. So I stand corrected.

top

OS/X, OS4.0, and Linux, All-in-One

Ichijo Ichijo writes  |  more than 11 years ago

The new AmigaOne motherboards ship with SuSE Linux PPC, because the new Amiga OS has not yet been released.

Now SuSE on an AmigaOne motherboard in itself isn't a good reason to spend all that money. But take a look at this: [screenshot]

Yes, it's Mac OS 9 running under Linux via Mac-on-Linux. OS X should also work in this configuration. Mac-on-Linux uses the processor directly without any emulation, so it should be pretty speedy.

When Amiga OS 4.0 comes out, you'll essentially be able to run three different operating systems on the same computer.

top

Zinzala for QNX

Ichijo Ichijo writes  |  more than 11 years ago Found this over at OSNews. Zinzala is an object-oriented Photon-based SDK that is fully scriptable. It appears to be both powerful and easy to use.

top

Inheritance Abuse

Ichijo Ichijo writes  |  more than 11 years ago

Ran across an interesting use of C++ class inheritance. In a friend's a LED-style window class, he has a dynamic array of "states" that the user of his class can populate. A state consists of a numeric identifier and a color.

So, it sounds simple. Create a structure called "state," set the members "id" and "color," and add it to the array.

But this isn't the way it was done. Instead, I (the class user) am required to inherit from the abstract class "state" and overload a virtual function to set the color. So for every different color, I have to create an entirely new class. Does this make sense?

Besides being complex and wordy (extra typing for the class user), this method has the following disadvantages:

  1. Each instance of the class adds memory for each of the member functions.
  2. There's additional overhead in calling member functions vs. retrieving data members.

I'm completely baffled. One of the only explanations I can come up with is that some people feel complex, verbose code is good code.

My other theory is that people code the way they talk. I prefer to make my comments brief and to the point. My friend takes the opposite approach, using long explanations and examples to support whatever his position is, long after he's made his point. Would this explain his coding style? Or am I just ignorant? (I'm prepared to accept both answers.)

Slashdot Login

Need an Account?

Forgot your password?