Saturday, September 3, 2016

Martian real estate auction procedures.

While earth governments should acknowledge martian real estate titles the important point is that martian colonists should fully support the idea. Martian title agencies should be established on mars for that purpose.

432 plots (2000 sq.m. ea.) with a minimum bid of $1 can be auctioned off a single sq. km. with the title agency establishing the legal definition of each plot. To bid, each bidder must make a minimum $20 non-refundable deposit into the mars colony trust (which can be totally spent on bids.) Bidding is closed on any plot an hour after the final bid for that plot. Bidding is done on earth with the results sent to the martian title agency. New plots are added to the auction as soon as the title agency establishes the legal definitions. New plots can be multiples of the basic 1/5 hectare size, but the minimum bid of $5 per hectare is retained.

The money in the trust is banked on earth. It is only used to pay for transportation of a colonist to mars providing them with a minimum to the surface of 100 kg of personal property, a spacesuit and a month of consumables. Ticket prices will be $5m or below (in competitive bidding) regardless of the actual cost. This provides transport for a minimum of 60,000 colonists, but much more should land values appreciate (which naturally occurs with occupation and development.)  At $20 per plot we can pay for over a million colonists.

New colonists will not starve with only a month of consumables because the colony will have sufficient consumables on hand to support them. As a matter of fact, much of the consumables new colonists will bring with them are likely to be exotic trade goods (like coffee?) rather than personal consumption items.

Note that no government approval is required but will in fact occur as more title holders grow. Trading of titles on earth will probably not happen until governments establish laws acknowledging the legality but that should be no impediment as long as the martians themselves fully back the titles which paid for their transport.

Update: I decided to send an email to my AZ representative in terms of economic development and millions of voters. Let's see if it gets a response? (They're coming to take me away... ha ha.)

MCT predictions

September 27th we'll find out, but I've got some fun predictions.

The MCT (or BFS) will not carry 100 crew or 100 mt to the surface of mars. The BFR will be 10m w/ 9 Raptor engines but will soon use 2 F9FT reusable boosters. The MCT will not be reusable, instead it will be left on the surface of mars (engines will be removed for a new future vehicle of martian design each using a single Raptor engine.)

A second generation MCT will only travel from orbit to orbit. A martian SSTO will support operations at the martian end while a stretch Dragon will support earth orbit operations.

The MCT that lands on mars will deliver 500kg per crew to the martian surface when fully crewed (more cargo when less than fully crewed.) It will require 500kg of food per crew in space during the voyage to mars. Water will be recycled but start at 500kg per crew.

It will be refueled in earth orbit massing 100 mt before fueling. Maximum crew will be about 50, not 100 as originally planned.

Update: My mars colony trust will only pay $5m per ticket. 3 FH supply launches will be required before MCT mars departure for a total ticket cost of about $16m per crew. If Musk agrees to contracting the colonists to support property ownership of martian real estate he'll take the $5m (which adds incentive of a cost reduction goal.)

Wednesday, August 31, 2016

The mars schedule

According to Musk.

2018 - 1 red lander on mars.
2020 - 2 more red landers on mars.
2022 - MCT first landing.
2024 - First MCT crew to mars.

Update: Important new data.

MCT designed for 100 mt to surface of mars meaning each ticket is for 1 mt. This should provide each colonist with several hundred kg. of personal property besides their combined body and spacesuit mass  (and some consumables quickly replaced by ISRU.) Assuming a ticket price of $5m and 500 kg. of personal property each colonist arrives with $2.5m in worth.

Clarification: 1mt includes consumables for the trip which would be about 2mt. which does not compute. I'm assuming 8 kg. per day with no recycling. Apparently a bad assumption. I'll have to discover better data.

A pretty flower





Wednesday, August 24, 2016

What prevents us from selling mars by the hectare?

Cutting to the chase... nothing but attitude.

The expense of developing martian real estate is so high (and letting others do it so abhorrent to the control freaks) that the elites have decided nobody should be allowed to do it without their control.

Mars has 14.4 billion hectares of real estate. Musk, in late September, will announce his plan to send people to mars. Nobody owns mars which stifles its development. But a simple attitude change could open the flood gates.

Suppose we set up a trust for one single purpose. We auction off hectares starting at the proposed first human landing site. All that money goes into the trust. From that trust we only buy transportation tickets, payable on delivery of a live human to the surface of mars near enough to connect with an established colony.

This is a win-win-win-win.

win#1. The transportation company sells tickets at a profit competing with others for the lowest possible price.

win#2. The land speculator sees the value of their property appreciate as more colonists arrive.

win#3. Colonists already on mars have a ready made market for their time and materials to be sold to new comers.

win#4. New comers arrive wealthy by virtue of whatever mass allotment for personal property is included in their transportation ticket.

Before new comers leave earth they can contract with existing colonists for eventual trade when they arrive. 100 kg of disposable personal property would be worth its transportation cost alone.

Cost/kg per lander = ($200m / 2000 kg.) or $100k per kg.

Lander ($100k/kg)  x 100 kg, so each colonist arrives a millionaire with a mansion waiting for their arrival and enough resources to follow any individual dream.

It's just attitude that holds us back.

Update: Jim asks, "Who do you envision auctioning off Mars? Who do you envision bidding?"

This is the fundamental problem. Who gets the loot? If not 'me' (whomever me might be) we're just not interested. The trust auctions off mars with all of humanity being the beneficiary. The trust doesn't belong to anyone. It's sole purpose is to buy tickets to mars (or anyplace else a similar trust is set up for using its real estate... but we start with mars.) Who bids? Any person on earth wishing to speculate on the future value of martian real estate. I would also propose the plots to be 40x50 meters for a minimum bid of $1. This provides a minimum of $60b (but in reality much more) at 84% utilization (all property having a minimum frontage of 40 meters on a planetwide road system.) Only individuals could bid on these plots which could then be resold and aggregated in a secondary market. It just requires govt. to acknowledge titles.

I would also recommend (but it's outside the focus of this post)... All governance would be local. A township would be 10x10 km. with each square kilometer choosing a resident as its representative. All laws would sunset after one martian year from the moment of enactment.

It is idiotic to look at it from the perspective of, "I wouldn't pay a dime for a 2000 sq. m. plot of real estate on mars." The only valid perspective is "would others?" Given the govt. support of the validity of title the answer doesn't require an active brain cell because even without it humans have been willing to make similar investments.

Black magic woman






Friday, August 19, 2016

Par for the course

I get WIFI internet for free. I called the only provider for this area because I would like to pay for guaranteed service. They require a credit card. I only use prepaid visa on the net. Had I not told them it was prepaid we probably wouldn't have had an issue. The representative asked her boss who said no.

If I try to use another national provider they just connect me with Frontier, our local monopoly.

I'm wondering if the Americans with disabilities act would have any usefulness. I'm going to talk to a lawyer (who happens to be related to both my partner and the founding family of this town. This makes him a good partner to have.)

The kicker is my free WIFI is provided by this monopoly!

Also there could be damages because they are preventing me from implementing my product.

This should be fun.

None of this prevents me from continuing to write my code. I just need others to test. Working blind isn't that big a deal for me. I used to edit out of state code without a wysiwyg editor (ever code dBase using edlin and a 300 baud modem?)

I also worked for a short time with a literally blind Shearson Lehman BAL programmer in one of the twin towers before they came down in NYC. I could only do my edlin trick because I'd memorized 10,000 lines of dBase code. I really don't know how that blind programmer did it with BAL other than he used a line editor with text to speech software. I never knew how many lines he was working with but my impression was... a lot.

Sunday, August 14, 2016

Would you like tires with that?

I have to visit or call mom once a week or she gets a little panicky and comes by. She's too old for that so I usually visit when she's out on her porch around midday. Today the neighbor asked how I was and I told her about being stuck on my project. "You still working on that?" I had shown her an earlier version I'd written last year in a different language. "You should work on a new project." That's when I told her, I could, but it's a bit like making cars. I can make all different types, but then I'd have to ask the title question.

Dad (step-dad) is a Mexican version of Mayberry's Floyd the barber. He shuffles along and his hearing is bad but he works his 3 customers a day at the barber shop. He's got the classic roman nose so mom swears he's an Italian. He loves spaghetti westerns, so whenever some famous Mexican actor (yeah, they have those) comes on the screen, especially if really dark skinned he'll call out to mom, pointing at the screen and say, "Hey, another Italian actor." Then mom will say, "noooo, that's just another dumb Mexican." The whole family here in AZ is Mexican, so that's a big hit with some.

Saturday, August 13, 2016

Does Hillary have Parkinsons?


Server blues

I still can't make a connection between my computer at home and my server but all the SQLitening software is working correctly. Server logs show that others can make the connection. I'm pretty sure my own computer has it's port open through the firewall but I'm wondering about my wifi connection? I'm not sure how I'm going to test that?

It's time I canceled my first server contract since I'm not going to be using it. Goddady has two levels of firewall protection. One I have control of, the other I don't but I got the right port opened for me and it's working so i'm going to keep my Godaddy server until I figure out how to get SQLitening working from my home machine.

Also I'm going to reset my first domain back to the Google DNS. I never should have listened to 1and1.com about setting it to their DNS. At the time I was just following their directions since I didn't fully understand how it worked. As McCoy might say, "I'm a computer programmer Jim, not a technician."

Friday, August 12, 2016

Just begging for a fisking...

...this article is.
During a 33-year career...
Why do they always start by trying to prove how unbiased they are when the whole point of the article is to explain their bias?

First he starts with a pure assertion. Hillary is highly qualified and Trump is not and dangerous to boot. (There's your politics of fear Bob.) I can respect that as long as it's backed up with solid evidence. It isn't.
I never saw her bring politics into the Situation Room.
What does that mean? How the hell does he know what her political calculations are? If he's trying to say she's not a political beast, a derisive snort is about the only sensible reply. How about Trump then?...
  • "self-aggrandizement" Now there's a rare thing for a politician. /sarc.
  • "overreaction to perceived slights" Perceived? He's been attacked with a fury that only a biased media can ignore. So is the writer advocating that America just bend over and take it as we did when the Iranians captured and insulted our sailors and country?
  • "decisions based on intuition" A powerful tool for many good people.
  • "refusal to change his views based on new information" A lie. Trump chooses which positions he's firm on and has been scolded for those he is not. Even those he is firm on can alter when more facts are brought to bear. Do we want somebody that blows in the wind with every unconfirmed random bit of news?
  • "carelessness with the facts" Nevermind that he's usually right if inarticulate.
  • "unwillingness to listen to others" Another fat lie. He built his fortune listening to other, but coming to his own conclusions. Ignoring truthful arguments has been the democratic trait. Look up unwillingness to listen and you'll see Obama's picture (with McCain patting him on the shoulder.)
  • "lack of respect for the rule of law" Laws often made by people that lack moral principles. These people routinely exempted themselves from the very laws they use as weapons against the American people. Where is the respect for law that keeps Hillary from being behind bars! These are howlers, folks.
[Trump] is already damaging our national security.
How does this pure assertion stand scrutiny? Ever heard of the Clinton foundation? This is way, way, way beyond a howler. This is an ear splitting screamer.
Putin played upon Mr. Trump’s vulnerabilities by complimenting him.
Unlike Hillary, who actually made us vulnerable by not protecting national secrets.
"Putin is a great leader"
Yes, by many standards he is. Acknowledging that doesn't mean he isn't evil as well. A leader is someone who has followers (by any means.) All the evil men of history were great leaders or we'd have never heard of them. Trump will unabashedly negotiate for an American advantage with every world leader. Hillary has already demonstrated treason for which she will never be held account.
In the intelligence business, we would say...
This from an agency that hasn't always demonstrated its allegiance to American interests in recent years.
"undermined security with his call for barring Muslims"
So vetting immigrants now undermines security? Does he work for THAT MONUMENT TO PUBLIC SAFETY, the TSA?
"many Muslim Americans play critical roles in protecting our country"
Great. What does his have to do with vetting immigrants? If you're having trouble coming up with the answer, the answer is absolutely nothing. They are two different groups of people. However, some Americans are also terrorists (but somehow these work related, or nightclub, incidences seem to escape their notice.)
"[I] call it as I see it." 
With a blindness that is so far beyond astounding that it boggles the mind. Every accusation he's thrown at Trump as a possibility is a damning reality a thousand fold with Hillary as far as national security goes.

Update: Upon reflection, I'd have to say this is one of the best articles for choosing Trump over Clinton. Great job, CIA guy.

Wednesday, August 10, 2016

Sadie says hi, with her hips




Last week.

Plan of action

It's not so simple to get all the pieces together and working to get a thing done. I've paid for three months of server on Godaddy which sets a limit to how long I have to resolve my database access issue. Realistically I give myself 2 weeks but hope to resolve it today or tomorrow. If I can't resolve it in 3 months I will do something else, but not being able to share data severely limits what those else's might be. To be fair, there are applications where the low performance of other shared database solutions would not be a show stopper, but I feel like I am so close. There will still be data security issues, but those are not show stoppers.

So... I've got the SQLitening remote service working on both my local machine and my server. The problem is I haven't been able to get the remote communications working. First thing to do is get the communications working on my machine with itself. Second I will get the server to talk to itself. Once both of those things work, the only thing left as far as I can see is changing the IP address and having the right port open. I don't see how this should take much time at all?

Anyway, that's the plan. My next post about this should be my last on this subject!

I also realize another mistake I made. 1&1.com convinced me to use their DNS servers when I didn't have to. I should have just kept that domain on the Google DNS servers. It may take a few days to get that straightened out but I'm not ready to deal with it at the moment.

Update:

The window service installs and runs both on my machine and on my server. A test program I wrote using my DB and the service works perfectly on my machine and locally on the server. The only thing that doesn't work is to remotely access the DB from my machine to the server. I used a provided batch file to open the correct port on the server and got no errors. Now I just have to hope the developer of SQLitening sees something stupid I've done or left out. I could ask Godaddy to confirm the port is open, but beyond that I'm stuck.

Tuesday, August 9, 2016

go daddy!

Well I got the SQLitening server running on Godaddy, but I can't connect to it. I've opened the port through the firewall (even turned the firewall off for one test, but no good. I gave this info to the author of SQLitening so perhaps something will come of that.)

I find that outside of it's canned offerings, Godaddy doesn't provide any way to publish a web page from the unmanaged server service they sell. I found a program called tinyweb that should suit me but haven't got it working on the server yet (it works fine on my machine... why all the damned issues?)

It's possible I will go the cookie cutter route for my web page. It doesn't have to go on the server I'm paying for, for that purpose. But none of that matters if I can't get SQLitening functioning completely.

Sometimes you just have to walk away from an issue for a bit.

Monday, August 8, 2016

How many days...

...will it take to fix a few minutes problem? 1&1 customer support is getting a failing grade from me. I will work on getting my three issues fixed or I will cancel my contract...

  1. I need SQLite running. This is the primary reason I chose them.
  2. I need my webpage to show - not error 403 as it currently does.
  3. I need people to be able to download my s/w after issue 2 is fixed.
None of these are major issues and should take about 5 minutes to fix if they did any type of customer service. I am very annoyed.

Trying to use their chat support facility leaves me hanging until finally a page in German is displayed (with no ability to translate.)

Update: To hell with 1&1.com. I just spent an hour on the phone with godaddy sales. They got the last dime on my prepaid visa but now I have an unmanaged server already set up... well, except being unmanaged I have lots of reading to do... but I have RDP access which is the first main hurdle. I'm using my other domain for it..., it's already pointing to my server. it has an error due to the fact that I haven't set up any pages yet, but that's to be expected. I have 3 months to get it working which should only take whatever time I need to read a few things. I'm tempted to set up my windows service right now, but I'm feeling good and don't want to spoil it at the moment. Besides it's 2:30am and I have a 7am appointment. to sleep now!

Friday, August 5, 2016

What a hassle

I've got a domain registered with Google. Another with Godaddy. My cloud server is with 1and1.com  Now I wait a few days to see if my google domain gets propagated by the 1and1 dns.

Meanwhile, I saw Star Trek tonight. Not sure what I think of it, but it had some good geeky stuff. Don't know how the Franklin (warp 4) fits in with Archer's (warp 5) ship?

Now to become more familiar with 1and1.

Update: I'm becoming more comfortable working on my remote cloud server and less comfortable with my local wifi. I now have my firewall giving me access to my SQLitening service, but have to wait until tomorrow to get approval to run the SQLite service (which is the only reason I'm paying for this host out of my pitiful income.)

The good news is what this will enable me to do once I've got the kinks worked out.

Update 2: Looks like the Trekkies are making a big fuss over the Franklin. I guess I wasn't the only one that found it curious.

Thursday, August 4, 2016

One reason alone not to elect Hillary

"It's old news," she says.

"For the United States, this settlement saved us billions of dollars that could have been pursued by Iran," Obama said.

Is there any doubt Trump would say "Iran could pursue billions from us 'til hell freezes over and would never get a dime."

I know the answer.

Update: Check out the 8 part series in links on the bottom for the war on truth.

Monday, August 1, 2016

I can only conclude...

...that none of the webhosts I've contacted so far wants my business (or speak english.) I will keep trying. They really stink at sales.

Update: My wound care guy gave me the number for an IT guy that works at the power plant and is setting up an ISP here in town. That could work out for both of us during testing. Once I go live I'll need a provider with an uptime record.

More progress on my code.

I feel like I'm swimming in molasses, but it doesn't matter because I am making progress. I'm not what I used to be nor are the tools I'm working with but the potential is there. I'm going to start looking for a host now. My goal is to have a test online by January. In the old days it would have taken me less than a month to get there, but no matter.

One problem I've got is security. While I can encrypt my database this happens on the server end with SQLite, so I'm vulnerable to man in the middle attacks. I don't know how to implement HTTPS or if it would impose an intolerable performance hit? Also, encrypted, I can't do any ranges in a where clause which I need to do a lot of.

I haven't looked into how password protection works in SQLite either. Without that anyone could mess with my data even if encrypted. They'd produce gobblygook, but that's not good for me.

I'll just have to do the best I can.

Saturday, July 30, 2016

How much money is waiting to be repatriated?

None if Hillary is elected, but otherwise...

Apple has $181b overseas; Microsoft around $100b; others hold smaller but still substantial amounts.

It won't fix our out of control federal budget, but it will certainly help.

Donald's history


Hillary's history


Putin sees US as aggressive threat


What are we getting for $2 billion?

A radio controlled car basically.

Let's break that down. You've got the cost of getting it to mars. You've got the cost of the rover itself. You've got the cost of operations.

Cost to mars is fundamentally about mass and size. The rover uses curiosity rover parts and is about 3 meters long, 2.7 meters wide, and 2.2 meters tall. Mass should be about 900 kg. They plan to use an Atlas V for launch which costs about $200m. Balance: $1.8 billion. But wait, this article says the LV cost 20% of $2.5b or $500m. That's quite a price range, but still leaves us a balance of $1.5 billion.

As mentioned, this rover uses parts made for the earlier curiosity rover. Basically it's curiosity 2. I can't find costs for it alone or for operational costs.

$1.5b should get us more than a radio control car that can barely do any exploring. What if we did the following instead...

A high school challenge: for $1000 each, high schools compete to build small rovers with a standard battery, camera and solar cell package provided to them with perhaps one other instrument of their choice.. SpaceX sends a quantity of them in it's 2018 red Dragon flight. The kids operated the rovers for free. Scientists get to look over their shoulders as much as they like. Expect each rover to have different methods of locomotion. Let the kids innovate and explore at their pace in whatever direction they like. Assume each rover is about 20 kg, they could send about a 100 of them per Dragon.

A hundred small rovers going in different directions would do a lot more exploring than one $1.5b rover and cost about $1.499 billion less.

My entry would be a regular radio controlled car inside a huge clear plastic ball. The weight of the car driving up the wall of the ball would move it in any direction. The ball would get scratches, but so what? Another method of locomotion might be jumping.

I suspect we could save money by electing these people...

Friday, July 29, 2016

Suspicious phone call

I just got a phone call (432-848-3015) from someone who said they were from google business. Recently I bought a domain name from godaddy. Then later decided I'd better have a backup so got another from google. This caller asked me what business I was in. When I said programmer the line went dead.

Any ideas?

Thursday, July 28, 2016

Thanks to Rickl for these links

Here and here.

  • Unelected agencies are making laws contrary to our founders intent.
  • Every personal activity is subject to the commerce clause.
  • Agencies then have judicial power to penalize with guilty until you bankrupt yourself proving your innocents.
  • They wave laws for friends thus weaponizing those laws against political enemies.
  • It's worse than the article implies with citizens raped and paid off with taxpayer money to keep quiet about it.
...all branches of government conspired over more than a century to turn the Constitution that the Framers wrote in 1787, plus the Bill of Rights that James Madison shepherded through the first Congress in 1789 and the Fourteenth Amendment ratified in 1868, into something their authors would neither recognize nor endorse.
  • the bedrock constitutional principle was simply to ensure that America does not “convert a limited into an unlimited Govt.”
  • Madison’s nightmare has become America’s everyday reality.
  • “The practice of creating independent regulatory commissions, who perform administrative work in addition to judicial work,” Roosevelt himself admitted, “threatens to develop a ‘fourth branch’ of Government for which there is no sanction in the Constitution.”
The solution? If any of these agencies are a good idea they should only exist at the state level. At the federal level they deprive citizens of the vote. At the state level citizens can vote with their feet. This is why we have states. Otherwise we could eliminate states from being a maker of laws.

Being lectured by the boss...

...for being too nice to the customer. In most companies programmers don't interact with customers; they have other people to do that (unless the programmer is the company.) Instead they have customer representatives if a long term service is being provided or just salesman otherwise. When I was a kid working in NYC, we had a customer in Ohio. I flew out there to install a system I wrote (in dBase II multi-user. Never heard of it? That's because we were a test site and the product was never released to the public. DOS 3.1 was the problem, not handling semaphores correctly. We worked around that problem.) Anyway one night the controller asked me, "can you write a liability analysis report." Being a bit of a smartass (a common issue with younger, and some older, programmers) I responded, "Sure. What's a liability analysis report?" I was just a dumb 20 y.o. after all.

He told me and I wrote it. Then I nurse-maided the printer all night while dBase churned it out (about ten hours.) When I got back to NYC I rewrote it in Bascom which produced the same report in less than half an hour. So then I got chewed out by my boss. Why?

"Ken, we could charge them for that report and you just gave it to them for free."

They did offer me a job and even tried to marry me off to one of their office girls. Where are those offers now I ask? Instead they hired some blowhard that claimed he could do better for them than some 20 y.o. kid. His first act was to hire me as a consultant so I flew back to Ohio to explain to this jerk what I had done. This guy had no idea how client/server systems worked. Ethernet itself was a new idea with major companies (3Com and others) jockying at the time to get their standards established.

Another time I talked with Mondo, a really nice fat Mexican (hey, you know the stereotype and this guy fit it.) He was our customer's fleet manager (he and an old PC were the entire department.) He asked me if there was anyway to get a DOT report required by the government. "Sure. What's in a DOT report." Now I was an older and wiser smartass! He told me and I wrote it with the flexibility to meet all our customers customized requirements. I worked with our DB manager for the DB upgrades required (no freebee this time.) That report became the first thing our salesman showed to potential new customers and significantly increased our sales from that time forward. I wasn't supposed to talk directly with customers. We paid the big guys to do that. BTW, I was a programmer, not a tech. support guy, so when Mondo asked for help with another problem I told him he needed to get a newer computer. He got his boss to buy him one and the problem went away.

One engineering boss once called me uranium, "extremely valuable but hard to control." He told me to translate all of my estimates from weeks to double months. So instead of telling his boss I could get a job done in two weeks (giving myself padding even) I had to say four months. Then that boss let me do pretty much anything else I wanted to investigate (we had lots of hundred thousand to million dollar toys to play with industrial machines to study.)

I was the definition of self motivated and self initiative (the FAA once gave me an award saying that right before they restructured the department.) I even got a thanks but no thanks letter from the human resources department two weeks after I got another job. I learned early to bypass personnel and go directly to the guy that needed me, usually for a job they'd never even mentioned to personnel.

That company owned a Canadian gold mine and made a limited number of these six inch beryllium oxide souvenir rulers with real gold markings. I was the only person not from corporate that got one. It later got broken during my travels.

PCS and NextPOS were also good stories where I got a chance to do some amazing things working directly with customers (our distributors in the case of NextPOS which evolved into a much bigger company and changed their name.)

I've seen a lot and learned a lot, but never had a lot of self interest. I just wanted to understand things and help others. Now that I'm old and decrepit, those amazing days are over. But still... I'm not dead yet (Close maybe, but still wheezing... and I never smoked in my life. I refuse to wear a 'portable' defibrillator. Both my feet are wrapped in bandages three times a week. Every month the eye doctor pokes my eyeballs with needles. I do have a housekeeper and nurse that visits several times a week. I still drive... I ignore the screams and bumps. What? Dad drives in slow motion and Mom should.)

Three things drop me to the floor if I over exert myself (like walking three feet.) My blood pressure drops from over 200 to unmeasurably low. My sugar level has been good, but can also render me unconscious. I forget the third??? Usually this seems to happen at Walmart's for some reason?

I'm the nice guy that finishes last. Often astonishing some that just have to let me know. I've spent a lifetime politely listening to people explain things to me I'd learned in more depth 30 years before.

I gave up a full scholarship at Harvey Mudd because I was destroying the lives of 60 A student Asians (who thanks to me and the curve were now C and D students.) Later I found out I would have been just a year behind my high school buddy Paul, that went there.

Life. Where did these last [almost] six decades go?

Once you've chosen an investment

When is the best time to make it? Without delay. You invest for the payoff. Any delay that isn't justified is a delay in the payoff. What justifies a delay? Not other investments. That's an issue before you choose an investment, not after. So what then? Due diligence (an appraisal to evaluate potential.)

What people see when they look at a thing differs with each person. If other people don't see what you do it can be difficult to get them to see it. When I look at mars I see it's future. I see development. But that only happens if other people with the resources see it as well. I'm nobody.

Others do see it. Perhaps not exactly as I do, but that's par for the course. Because they do, it will happen someday in some way. It could easily be the wrong way. People are self centered which is only natural. As a result, their vision reflects their way. But any vision that includes other people has to consider they each have their own differing visions. Why do people that can't plan their own lives think it perfectly ok to plan the lives of others?

I look at mars and see private ownership by millions of colonists. I see a developed world where individual freedom is allowed to flourish. Apparently this is a fantasy because everybody else's vision, if it includes mars at all, is of a prison world with one fascist dictator calling all the shots.

They don't see it that way of course. To them, central planning is just how it must be done and it's just silly to think otherwise. We now live in a time of soft sell fascism. Take care of yourself. They certainly plan to take care of you.

Wednesday, July 27, 2016

Got nuthin' done today

As far as coding; otherwise it was a pretty busy day.

I might get a little work in by midnight... I just don't want to see the sunrise before I sleep. It happens too often.

googling Rodian belly dancer

They look so much alike!







Last week.

Other thoughts (of a simpler time.)

Tuesday, July 26, 2016

My evil plan is working!

I made a lot of coding progress today after figuring out a SQLite error I was having. I feel good!

Monday, July 25, 2016

Rodian trivia

Did you know that Rodians had suction cups on the tips of their fingers? I played one in a band of good guys in a starwars RPG when I was a kid. First thing I did was steal all the money from the other members of my gang and bought our wookie a bowcaster. Wookie's are famously loyal and I thought of this as a good life insurance policy. Unfortunately, I died later in the game when I got between the wookie and an insane Jedi we rescued from a thousand year sleep in corbonite. This remembrance came after reading this.

What about warp speed? I was wondering about time. Doesn't FTL travel suggest arriving before you left? Time slows to zero at light speed and reverses at faster than light.

Erdogan's Purge

Continues.

What about our 1500 people at Incirlik air base?

Sunday, July 24, 2016

Now I remember...

...why I haven't made pea soup for over 3 decades. I'm shopping. I see a can of pea soup. I love pea soup. But I'm a cheapskate and I think, "Why pay the price of a can when bulk dry split peas cost so much less?" Because the companies that make canned pea soup have nuclear rocket scientist that know the exact incantation to get soup from a pea. Me I'm thinking, "Ya boil 'em in water. How hard can it be?"

First thing is they swell. I have just one cooking pot. I pour an entire bag of peas into the pot and add what should be enough water...

Now I go back to this coding problem I'm having. I'm trying to do trig functions on integers. It's not happening. I'm getting very strange results. Yes, I'm using radians as cos() and sin() require. I'm passing those double values. Never had a problem doing this in VB, but now I'm using a much less familiar language.

It isn't enough water. In order to make pea soup you have to boil them at low heat for about a generation, adding water every five second and still you will burn them. The peas themselves are not edible until you have reduced them to their constituent atoms. I may have to buy a new pot!

To be charitable, this debugger is Satan's spawn. Usable only if your goal is to get less work done. I haven't figured out how to set break points or even if I can. The docs are... not wonderful; so I'm googling for answers. There is no immediate mode where you type in an expression and out pops an answer. Even an internet browser can do that... which doesn't help much if my code doesn't work.

The peas smell good cooking.

I can't seem to be able to print results on a form. I have to add a graphic panel and send print to that instead... fine.

It's my housekeepers fault. She hid my Rotini somewhere. I'm out of sauce except this canned stuff they use to torture only the most evil criminal masterminds. The peas have been sitting in the cupboards for months. That's why they're there, they keep.

They are now, after some hours, turning into mush. This is good. That's what's suppose to happen. now if I can unmush my trig code...


Saturday, July 23, 2016

Linux series...

...continues.

How to Defeat Terrorism

Via Rand.

The obvious...

  • "The enemy is not radical Islam..."
    • “Be nice to us or we’ll kill more of you.”
  • Self-regulated ghettoes [within our country] have to be opened up and rigorously policed.
  • All mosques, which are effectively command centers, must be stringently investigated...
  • Every imam in the country should be thoroughly vetted...
  • Jihadi suspects clearly and unequivocally known to law enforcement agencies should not be so readily allowed.
  • [Those] who leave the country to fight alongside terrorist entities must not be repatriated, even if they are passport-holding citizens.
  • Muslim organizations with ties to terror-sponsoring organizations or that lobby for Sharia or for cultural and political influence must be disbanded and outlawed.
  • Islamic immigration must be drastically curtailed if not completely stopped. Muslim immigration must be thoroughly vetted.
Islam is at war with everyone else. There is no 'sunset clause' in their war. First we need to win the war with our own apologists for Islam. We win. They lose. Nothing else is acceptable.

We don't need to become a police state to do this. We do need officials, elected or not, to respect law and order and the citizens that support them. Those supporting Islam have chosen not to be citizens of this country, but instead citizens of a country intent on our destruction.

Update: What a treaty with Islam gets you. Via Peter.

When they call you an Islamaphobe.

Thursday, July 21, 2016

What's the deal with Turkey?

I met my ex-wife in Istanbul January 2001 according to the visa in my old passport. Actually we met on the internet about a year earlier. She's a Russian-American now working in Sacramento for the state of California. At the moment she's visiting her mother and family in Crimea.

People are people pretty much anywhere. I met a lot of very friendly Turks (most working near the low budget hotel I could afford to stay at) just a stone's throw away from the Hagia Sophia. Especially at one restaurant where I got to know the owner pretty well. I wasn't there to talk politics but we did touch on the subject.

I also came across some dangerous people, but none that I couldn't deal with. Istanbul is a tourist city and they like American tourist money. Actually they like tourist money regardless of what part of the world it comes from... but they don't like Russians.

I have no knowledge of the factors in the recent coup attempt. Turkey is in a very strategically important geography as it has been throughout history. At one time they had a massive chain stretching between Asia and Europe to prevent sea passage during the days of cannon and castles.

They are in NATO, but are not entirely loyal to it. It's a good place for spies to trade secrets... except they really don't like Russians.

The people like Americans, but it's government is not it's people. We can say that about America itself these days. Laura Ingraham pointed out the problem when she called out the media to 'do it's job.'

Now we have to worry about the security of our military secrets. What about our people at Incirlik Air Base?

Tuesday, July 19, 2016

Good news; Bad news

That $70 book arrived today. "That's good."

No, 'Windows Internals,' doesn't document the API. "That's bad."

No. Instead I found a good reference came with FreeBasic. "That's good."

No. It's old. "That's bad."

No. Even Microsoft couldn't totally redefine those calls. "That's good."

No. I'm not going to use the API. "That's bad?"

No. I've chosen to go forward in a way that bypasses direct API calls. "That's good."

I hope so.

Keeping focus

I used to be a contendah. I did some amazing things with VB6 back in the day. I was always aware of it's flaws, but nothing allowed me to be more productive in writing business software. 12 years later and I still can't find anything to equal it. I had hopes back when I bought Delphi 5, but I just can't stomach Pascal. It makes me think it's the bastard love child of Fortran and Cobol. I've written exactly one program in each of those languages. I had an old girlfriend that used to say "she'd do anything once; twice if she liked it." I didn't like P, F or C. The other, just C, I did like; but it's not a complete language by itself. You have to use libraries to complete it and I've never liked any of those libraries. C++ is just worse.

I'm using PowerBASIC because of the resulting executable... not because I like the language. I bought EZGUI 5 recently to complement it, but it will not add anything that I need to the core language so it will have to wait for another project. I will not let anything distract me from getting this first project done. I even got an email from someone wanting to host my new domain (the competition for customers must be intense.) I told him to remind me in about four months which is about when I'll be ready for initial testing.

I was worried about how I'd do a database, but SQLitening seems up to the task. I won't have to write any host software (clarification in a moment) because I can code directly to it's service on a host. It's been stress tested using 500 bots without a hiccup, so it should be able to handle the load I intend to throw at it (and I have some control in limiting users per host if need be.) While I will not need to write a host. I will need to write an admin program that will interact with the service just like the clients will. That opens up the question of access security. I need to look into that.

I've downloaded just about every IDE on the net (seems like I'm not the only VB guy wanting what he once had.) None of them are more than a pretty face. One, Firefly, looks interesting but I can't find the PowerBASIC version it's supposed to have. I have the FreeBASIC version and it seems the best I've come across. I can't use FreeBASIC. It uses GCC to compile and the result is horrible compared to what I can produce with PB. The other PB, PureBasic, has some of the same flaws as FreeBASIC so it's out (both can do Linux, so may get another look... after my main focus: get a money making product in production within the year.)

I've found a useful, but not essential, tool for working with SQLite files. All I really need to do now is code (which is being interrupted for the next few days.) Then back to it.

Right now I'm just using one local SQL file. But my next job will be to simulate the host. When I actually do have a host running it will only require small changes to my code. The big changes will start with this simulation so I'm going to start that now (first thing in a few days when my interruption is over.)

Monday, July 18, 2016

Contemplation

I didn't do a thing about my software today other than contemplation, but that's not such a bad thing. I did do a search for some royalty free artwork, but I don't count that.

One day when I was a kid I was sitting at my computer , fingers on the keyboard, motionless, not moving a muscle for quite a while when one of my bosses came out of his office... looked at me and said, "stop thinking and start working." I was a computer programmer. Thinking WAS my work.

Anyway I continued to think with the added consideration of how I might include this boss in my process which lead me to some question I thought he might be helpful to me in answering. So I got up and went to his office. What work was he doing? A crossword puzzle! You should have seen my self control in not laughing in his face.

The guy was one of four partners in the publishing business. He really didn't know anything about the circulation fulfillment business or data processing. He and his partners proved that when they fired essential people (like the black, third shift computer operator.) I only mention he was black because his firing clearly was racially motivated. He was the most productive of our three operators and it turned out the only one maintaining backups which stopped when he was terminated. That was a bad decision that bit them within a few short months when it became critical.

I can't say he knew much about publishing either. Penny stock news was one of their publications which was just made up blather but it provided them some income. The thing I learned during that time was that paid subscriptions wasn't about income from subscribers, it was about income from advertisers with two national auditing associations determining a publication value (not in quality of writing but in quantity of eyeballs.)

I used that education later in life when I doubled my young millionaire friend's income with just one afternoon's work by better putting our customers together with the right distributors. He later rewrote my work to include it in his support software (it didn't do the job any better, but like many programmers, they really don't trust code they haven't played with themselves.) We had about 300 distributors but only about ten of them were really productive and only one of those had the most business by a good margin (and us the least margin in the way it was structured. He even branded the product in such a way that customers were trying to decide between our product and our product by another distributor!) I tried to point out to my young boss (early twenties) that most of our potential income would come from our middle tier distributors if we gave them more support which we could have and they were begging for. At least my ex-wife got a nice luxury car out of it.

Sunday, July 17, 2016

Another Linux post

See them all here.

Found another nice tool

I'd already started to write a crude version of this. Now I don't have to. It had me confused and feeling stupid at first, but now I understand how to use it. I was just creating my DBs in code and will continue that in my final program. But having a tool like this is very useful during development.

I see they've stress tested SQLitening with 500 bots hitting it at once and it didn't miss a beat. That should translate to about 5,000 to 10,000 users per host in my scenario. I can be a success even if much less. Now back to work. Grindstone... nose!


Saturday, July 16, 2016

Falcon 9 has gone from 13 to almost 23 ton in launch capability. Can it now launch a BA330? Could a Falcon Heavy launch two?

Mars needs more moms

A commenter points out the budget of various space agencies. Note India, the smallest budget on the list, has successfully sent mom to mars.

NASA: $18 billion
ESA: $5 billion
Roscosmos: $3 billion
JAXA (Japan): $2 billion
CNSA (China): $1.3 billion
ISRO (India): $1.2 billion

Friday, July 15, 2016

My new theme song

Thank you, Robert.

It's nice to have documentation

But better if you can read them. Win 8.1 can't read .CHM files. I know there is supposed to be a registry fix but I found something that works for me. 64bit portable was my choice which I manually copied over into the 64 executables folder, then associated with the CHM file type. Works like a charm.

The reason I needed this is that one important document with SQLitening is a CHM file. Now that I can read it I understand why SQL code that doesn't specify type works. Also when I set up my online server (a few months from now) I'll actually have an explanation of how. Amazing how that helps.

Things are working. It has me terrified!

Why the coverup?

What motivates it?

Thursday, July 14, 2016

Domain name

Don't make this mistake: I typed a .com name into the browser address bar a few days ago just to see if it was available. It was so I went to register it at godaddy today and it no longer was. Looking at the page, it's obvious somebody just made the page. So I registered a shorter version of the name. I kept getting not available until I got excited when one was, only to find out... sure it's available... for $45k!!!

I can't believe what some people will do! So tomorrow I've got some good news for my partner... we have a domain, for the next two years at least. I'm really happy with the code performance I'm getting. Reading thousands of records and displaying them graphically... if you blink you miss it. I also bought a library today that I may use in future products (not this first one.)

I may not use that domain for quite a while yet, but it's good to have it. I've been needing a new email address for years. A few years back somebody broke into my email account so I changed to a longer password. I haven't had a problem since but I still get email meant for him. Apparently he's a gay arab in to filipinos? The good news is people searching for information about me get info about him. It sort of protects my identity (not that anyone would want to steal mine other than to hide their own. Years of unpaid and partly paid hospital bills guarantee I won't be buying anything on credit.

Perhaps that will change when I have an income? Until then, embrace the ramen!

Renting your operating system

Don't pay? We turn off your computer!

Too late for antitrust?

The alternative.

Do you know how I know windows days are numbered? Because I've started a windows only project that will take me about a year and I'm finding the tools I need!


Wednesday, July 13, 2016

PowerBASIC Graphics

One of the reasons for using PB is because it has double buffered graphics built in. That means no flicker. That's what I'm playing with learning today.

This is not SQL




Skipped last week.

Tuesday, July 12, 2016

Making progress

I added 24 forms to my project yesterday and today I've been testing SQL performance. In order to get the hot performance I have to submit inserts in batches... one big string with semicolon separation. I can do that on the server side as well. It means I have to change some habits, refactor, etc.

I'm very happy. I really enjoy coding when things are moving along.

Update:

I think I'll celebrate by getting some sleep tonight! Yahoo! When coded right you can add or retrieve 1000's of records in a blink. It took a while for me to figure out how. GUI updates take most of the time but I've got ideas about that too.

The only bad news is the DLL I'm calling calls another which I don't have the source for... but I can live with that.

Sunday, July 10, 2016

SQLitening

It works in local mode and it's fast. I created a DB and inserted 50,000 records in less than 2 secs. I haven't got the server side working yet, but I can proceed with development in local mode for now.

In  the words of Joe Biden, "this is a big f&&%g deal!"

Eventually I will get the server side working and statically link the DLL to my client code. I just woke up thinking it was morning but it's still evening. My brain seems to have been working the problem while I was asleep. I've got a 7am appointment in town, so I'd better try to get back to sleep.

IDE differences

I got a simple menu window from the Phoenix IDE demo to compile. Rather than one file that VB would produce, it produces seven including a resource file I couldn't get from the demo. Not ideal, but I can work with it. One of the WinAPI files that came with the PBW10 compiler needed tweaking but no big deal. I don't really like the code the IDE produces, but it works. I'll probably just use it to draw GUI's then abandon it to hand code after that. If that's the case they give me very little incentive to buy it since I won't be able to maintain my project with it. So I get to continue to eat. Yay!

What I could do is write a VB to PowerBASIC file converter and just maintain everything in VB? But I'm not going to get sidetracked by that. My goal is to make money. Anything not contributing to that goal is going to be put on the back burner.

So now the remaining hurdles are implementing UDP and SQL. The SQL server will use two circular message queues (high and low priority.) I'll only be retrieving as little data as possible from the host and only as needed. Static data will be copied to local DBs. UDP will be the easy part and I can define data packets as I develop the rest of my code. The only demo code for UDP I have is not multiuser but I don't expect that to be a big deal. Soon this is going to get fun once the foundation is tested and working. I can put off getting my domain until I'm ready to deploy. The last domain I bought expired before I used it ;-P




Lt. Gen. Michael Flynn


Saturday, July 9, 2016

Am I crazy?

Monday I'm going to buy this $160 IDE (more than the cost of my PowerBASIC compiler) from a Canadian website that doesn't appear to have any activity for about two years and offers no contact information.

Wish me well.

Also I've got a Btree program that doesn't install. Although my understanding is if I can get it installed on an older version of windows I can just copy the files over and that will work.

I really need this IDE. I don't know if it has a drill down function (probably not and sorely missed) but everything else in the demo looks pretty good. It will save me years of not having to search for how to do basic things so I can focus just on my code.

Update:

Just downloaded SQLitening 1.7 written in PowerBASIC and includes source. They claim it's fast. I haven't got the demos working but if it works it will be much better than working with Btree. Just a single DB file to work with instead of auxiliary index files. Since I have the source I can create static link libraries instead of DLL's removing that support issue. On the server DLL's are fine, but not for clients when I don't want the support headache.

Update : 4 am

I'm digging deeper into the IDE demo and believe I'm detecting some problems. The demo doesn't allow me to save code to do test compiles... except I can cut and paste to accomplish the same thing. The problem is it doesn't appear to create correct code. It creates individual callback routines for each control attempting to imitate VB. However it doesn't seem to produce form creation code or the callback function for forms either. I could work around that (but should not have to.) Then there's new menu defaults which are fine if those are the one's you want, but deleting a menu item leaves the orphaned event code in your file. That could be corrected if I can remove the defaults other than FILE/EXIT which would be fine. With no contact info... well they do have a forum. I'll try that.

Update:

I don't expect PowerBASIC will come out with a version for Linux (although they may?) so my choice to use PB was not an easy one. It's not a great tool to work in. VB6 spoiled me but it also hid things that shouldn't have been. The end product with VB6 was always a compromise but it had the SQL performance (w/ ADO) that kept my customers satisfied with my work. PB produces tight, fast code which was the deciding factor for me. I'm going to keep working with the IDE demo because I found it was splitting code between files and may work after all. I'd just like to confirm that before I go a few weeks without food? It really would be worth such a sacrifice if it does work.

Different languages steal ideas from one another and they are not always good ideas. I never liked C header files because it meant you had to look in two different places to know how a thing might work (or not work if you change one without the other.) Basic steals that with it's include files. Declaring a function makes sense for an outside DLL call but no sense for the purpose it is otherwise used for... languages whose identifiers are sequence dependent. Functions should be atomic with no sequence dependency (something the OpenEuphoria crowd is belatedly discovering.) Includes, preprocessors and macros are all mistakes for similar reasons. They were solutions whose time has expired. A programmer needs to be humble and let the computer do the work it is better suited for (leaving the programmer to do the things a computer can't.) Namespaces seems like a really cool idea, but again is a mistake. It's an attempt to tighten scope but in a mistaken way because again it makes things less atomic. If you have file scope, namespaces become superfluous. You should never have to look beyond the passed in parameters to figure out what a function does. Hunting down code is a waste of the programmers time and a lack of humility by relying on human memory where it isn't required. Being able to drill down to called functions (two clicks in VB) is also a great time saver for the humble programmer. I could have never handled well over a million lines of code by myself without it.

Seems easy to understand


Sodium

I ordered dried and canned food from jet.com last month. Well, and a jar of pickles which had its own bubble wrap suit of armor. One of the things I got was a case of noodles in Styrofoam cups. What a discovery... boil water (even I can do that) pour it into the cup and wait a few minutes. Actually simpler than ramen noodles because there's nothing to drain.

Of course I'm supposed to check the salt content which is listed on the part of the packaging that I toss away (nothing like that is printed on the cup) which turns out to have 1800 mg of sodium. My doctor has me on 1700mg or less a day. So that case will last me a long time!

Today's Mission...

...should I and my IMF team (me!) choose to accept...

I'm writing a UDP data server. At least that's the plan. Already I'm reusing some of the code I've been working on for the last few days. That should save me some time.

This message will self destruct before I do!

Friday, July 8, 2016

What a pain

I just spent a day creating a form in PowerBASIC that would have taken me about 30 minutes in VB6. I've got about 30 task like that to do which makes this about a six month project. Of course, most of that time was figuring out the strange way PB works with controls. Then I'll have a whole lot of other things left to do before I can publish it. The good news is the end result should be small and fast. That's one thing PB does do well. Installation will be... download the file... run the file.


Thursday, July 7, 2016

Cold pizza for breakfast

At 3AM. That's how ya know I'm coding. Did ya catch the error in my last post? The midpoint may only change half a record for an addition or deletion, but that could potentially mean updating every record in the database. Can't have that. For the link one jump forward or back that's just three writes. But for the midpoint links that's not gonna work. So I've devised an evil plan. I will adjust the current link to those of the second link forward. Adjusting my links 3/4 forward or back and only update 3 or 4 links either side. Over time all the links will adjust to the growth in the database even though some links will fall short of half and others will overshoot. No sleep and I'm still this brilliant! Who'da thunk it? Well, if it works?

Speaking of pizza. Eating it cold for breakfast is how you find out if it really was good. Not so much in this town. I like the owners, but nobody in town really knows how to make a great pizza. I had friends in Seattle that used to rave about some of their pizza places, but putting exotic stuff on a pizza is not what makes a good pie. A plain cheese pizza almost anywhere in Brooklyn, NY beats almost anything any place else. In NYC they did sometimes try to get a little fancier. I once had a ricotta and broccoli pie that was pretty good, but the only thing they did fancy in Brooklyn was stretch the dough.

How many links forward or back should I update? I'm thinking log10(db size, that's record count, not bytes) should be about right?

What about records marked deleted? I can still use those links that will still exist. If a new record had been updated there I can follow it's link (whichever side I'm following to the first record with a usable link.) For a record marked deleted a one direction link can be put in the data field so we don't overwrite the still usable old links.

One last point. 32bit links will be large enough and 16 bit counts will do the trick so that's about 18 bytes of overhead per record. However, strings will store a 4 bytes pointer to records that have no links at all. So 40 bytes per record should be enough for 200 bytes of string data (two bytes reserved per record.) Wait, actually string records could be a linked lists (unrelated to those other links so I really have almost unlimited space up to 160 billion bytes of data! If I count by record size rather than actual byte position.)

Wednesday, July 6, 2016

Redirection

Choices you make at the beginning of a project can haunt you for years and even decades. I was a really good VB6 programmer, but Microsoft decided to kill it for dotNET. At the time everyone said "go to Java young man!" but of all the flavors I looked into, none came close to the productive level or code performance of VB6. I thought C was my only option, but I never liked C++... or header files or MFC or the list goes on.

I'd still like to write my own language, but I've got a higher priority and need to stay focused. I need to make money by writing a commercially viable product and not being distracted by anything else.

I own two of the top three compilers that tried to take over the VB's crown. The third just didn't have the code performance even though it had the best code environment. The first one I bought about a decade ago, PowerBASIC was such an ugly language I just filed it away and didn't bother with it. I have an autographed copy of the language reference signed by Bob Zale who died a few years back.

Later I bought PureBasic which includes the kitchen sink. Then found out it's SQL performance was ridiculously slow. So at this point a few years back I just kind of gave up. But something keeps nagging me not to go gently into that good night. So this is my version of raging against the dying of the light (and the light is dying. I can't really believe my physical health as I one finger type this.)

So the Win32API references I finally got together all have one thing in common. They tell you the size of the parameters but leave out that slightly important info of what they are. So I ordered this book. Note it's the 5th edition. The latest is the 6th which comes in two parts and the second doesn't seem to be available yet. After ordering it I gave some more thought to my choice of language. I can compile Euphoria with GCC. I also thought for later in my project I could use GAS to avoid reinventing another wheel. I could use Euphoria's EDS for both my client and server databases. I'm planning to use UDP messaging because I can deal with lost packages but need the speed. I also plan to do some peer to peer where I can bypass the host.

But I changed my mind.

I could try to find someone else's DB backend but I don't need to. I can just open a binary file in PowerBASIC and get blazingly fast speed. I'll be mostly reading static data. I'll have some circular message queues that just require two reads. I'll only have two data types (integers and fixed length strings) and the integers can represent fixed point floats. I'm writing my database editor now, which because of my lack of experience with PB should take me about a week (it will look ugly, but I'm the only one that will ever use it.) I'm thinking I can have the host continuously update midpoint links. Adding or deleting will only change the links by half a record which won't affect performance at all.

I can do the same thing with clients but only have to do those about a thousandth or so as often (there will be some start up cost when a user comes back on, but I think that's manageable.) Doing is how I will find out. I really have nothing to lose.

So what am I writing? I plan to make money by giving it away for free (remember AOL?) That's when you'll find out.

Here's a place that might be worth looking into? Jim got me curious.

Tuesday, July 5, 2016

Refactoring

My egg foo young from lunch was too much, so I left it to snack on later. Chinese food doesn't sit well.

Anyway I got to thinking about my idea to put all OS dependencies in one file, but decided to split it in two because win32 has hundreds of possible calls and breaking those out into a separate file allows code reuse on future projects.

Euphoria is a bit manic. When it generates an error file it sometimes points you in the wrong direction. I had implemented LoadIcon and LoadCursor and they were working fine. Then I added CreateWindow and LoadIcon blew up. Wrong count of parameters it said which I hadn't changed. So I stubbed it out, after which it started complaining about LoadCursor, so I stubbed that out as well.

Then I was shocked that it compiled and seemed to run fine. That should not have happened. Somehow I'm sure I'm corrupting memory somewhere but haven't a clue how I'm going to track that down.

I'm not sure about parameter passing from Euphoria to C either. Euphoria has two routines that work together but take their parameters in reverse order. To pass strings to C you have to allocate memory and pass a pointer. The thing is I'm not confident I'm passing the right size parameters. Everything is working, but I'm flying blind at the moment. Euphoria has a thing called a sequence which is not a contiguous array. I understand it's referenced by a pointer, but how does C know anything about the structure of a sequence? It cant, but passing them as parameters seems to work fine. I'm going to have to dig a bit into the calling functions so I can better understand what's going on.

I'm shocked to discover references I used back when I was a working programmer are no longer online. I've got Petzold in PowerBASIC and everything else in C (I do not like C++) which I then have to translate into Euphoria which has documentation that doesn't keep up with the changes in the development of the language. I want a function dictionary with snippets and something definitive on type sizes. The information just isn't in one place as it should be. I downloaded win32.hlp and win32.chm but neither of them gave me access to their info! Those were both large downloads but appear empty when I tried to reference them. The help file was particularly outragious since it did load but wouldn't show me anything. That means Microsoft intentionally made help files obsolete starting with windows 8. How can I know that? Because the help files do load, they just don't work beyond that. So Microsoft removed the functioning code from the OS and intentionally replaced it.

I've got an early appointment with my wound care guy in about 5 hours from now, so I'd better get some sleep.

Update: Well, I got a refreshing 3 hours of sleep last night. I'm good to go. Across the street is a field filled with donkeys and llamas. The donkeys think they are roosters. They put on quite a racket just before dawn. I've got another two hours until my appointment which only takes about 15 minutes, then I'm back to coding. Right now it's a bit of drudgery, but as I get the foundation built the rest will be a lot more fun.

Sunday, July 3, 2016

making code progress

I'm making progress on the code I'm working on. Outwardly the result hasn't changed from where I started yesterday, but internally I've cleaned up the code and removed a lot of dependencies. Considering I'm hampered by not knowing where most functions were defined I've had a pretty productive day. I've moved all my OS dependencies into one file so when the day comes for my Linux version I only have to replace that one file. Time to sleep.

Zimmerman's Linux installation series

So the first two parts have been posted with more to come...

Part 1Part 2,
Part 3Part 4, Part 5, Part 6

I'll be getting this.

After installation...
sudo apt-get update && sudo apt-get install mint-meta-codecs

I will update as more of the series becomes available.

code rot

Code rot is a misnomer. Code doesn't usually change itself. What happens is some idiot wants to make things 'better' and doesn't consider how their changes might affect other software that depends on how the legacy code worked. I was spoiled. When I started as a programmer in NYC, the VP that hired me had been with the company since it's founding 20 years earlier. Some of his code continued to work since that founding despite many generations of hardware upgrades (Univac mainframes that were code compatible with IBM mainframes.)

So when I got a copy of the first Euphoria program I wrote (it's awful, but it worked then) from an online archive, because I wanted to grab some functionality I'd written in it, I expected it to run. Which it didn't of course. Dependencies had been altered. This is one of the reasons I may write my own language and IDE. First, because I can control it over the years and second, because the tools to make coding fun in my terms just don't exist (I've been waiting so long I'm now officially obsolete.) Today I found FASM has an IDE and source (windows defender wouldn't let me download it. So I bypassed it. Test compiles work.) I don't know if I'll use FASM, GAS or some other assembler (bought MASM about 30 years ago. I bought Lattice C around the same time.) I'm not an assembly programmer and the references I've found are inconsistent and full of holes, but I think that's how I must move forward. Eventually I'll write the new language in itself and having a machine language version will give me something with which to compare it.

PowerBASIC, another compiler I bought years ago, has some good reference material I'm going through. Ironically, in order to have just one language to write my code in I have to have an understanding of half a dozen others! Back in the 80s I remember asking myself, in order to do this thing in dBase, how would I do it in 6502 assembler? That worked! The 6502 was such a sweet cpu to write code for. I wrote an assembler/disassembler for it in BASIC which got me my first programming job in NYC (writing BAL on that Univac.)

Coding can be such a pain. Not figuring out algorithms (that's the fun part) but getting all the plumbing right without good references. I just know that once I've got things working user32.dll and gdi32.dll will disappear breaking my code again. That will not affect my Linux version of course. I will have only one file different between the two versions.