5 ms·
Thanks. So far I haven't had to use GitHub. I've done a LOT of computing for a LONG time. The code for my startup runs fine. I Want to do a few, easy late t
by graycat 8y ago
Thanks.
So far I haven't had to use GitHub.
I've done a LOT of computing for a LONG time. The code for my startup runs fine. I Want to do a few, easy late tweaks before going live.
I have the first server running and am doing a few last little things.
The code is 100,000 lines of typing, 24,000 programming language statements, nearly all in Microsoft's Visual Basic .NET.
The next major step is to gather a lot of data for my database, much more than the data I have for testing now.
I taught computing at Georgetown and Ohio State, published in artificial intelligence and more in computer science and applied math at IBM's Watson lab, and cooked up some maybe new algorithms for my startup.
But I've never needed to use GitHub! I'm not against it, but so far the computing unique to my project has been fast, fun, and easy for me. The main bottleneck has been poor documentation. Then my development computer got sick, then I got sick, but now both I and my computers are all healthy!
The times I tried GitHub, it said that my Web browser is out of date! I have the latest from Firefox and was using my HP laptop with Windows 10 64 bit Home Edition -- what came with the laptop I got just to have something to order parts and gather information for my first server after my development computer quit -- some motherboard data corruption problem.
My server is an Asus old BIOS style motherboard with an AMD FX-8350 processor, 8 cores with standard clock at 4.0 GHz, 16 GB of DDR3 ECC main memory, 7 TB of hard disk, and Windows 7 64 bit Professional. If my startup gets traffic enough to keep that server busy, then I'll have a nice step up!
Especially since I'm using Microsoft,
I'll likely use GitHub eventually.
- anonytrary 8y agoOut of curiosity -- what is your startup? It sounds interesting, and 100,000 lines seems like a hefty chunk.
- graycat 8y agoI intend to announce an alpha test here on HN. Some people at Battelle, etc. worked in information retrieval decades ago. A friend of my father's was involved. Those people concluded that key words could cover only part of search. My rough guess is 1/3rd. I'm going for the other 2/3rds. The computing is pretty simple and fast. Given enough documentation, the code was easy to write. The crucial core of the work is some applied math I derived based on some advanced pure math prerequisites. I got most of the prerequisites in my applied math Ph.D. So, to me, the project is mostly applied math with some cute data manipulations and a simple Web site user interface. Maybe for a computer science audience, my work should do well giving people content with the meaning they have in mind. I know; I know: Writing code for much of anything having to do with meaning has been a challenge. Well, I derived some math. Tonight the work is not very exciting: I'm writing some Rexx code making crucial use of some cute Rexx functions to correct the time-date stamps on the directories written by Microsoft's XCOPY. The time-date stamps written are usually not those of the source directories and, instead, are just the time, date when XCOPY created the copy. The files XCOPY writes DO retain the time-date stamps of the source. For the correction, my idea is to set the time-date stamps of each directory to the newest time-date stamp of the files/directories in that directory. Important is how the Windows NTFS file system does time-date inheritance: If create or change a file or create a directory, then the time-date stamp on the parent directory will within a few seconds be changed to time-date stamp on the new or changed file or the new directory. If the new directory has a file created in it, then, sure, that directory will have it's time-date stamp changed, BUT, surprising or not, the parent we mentioned will not have its time-date changed. I'm typing quickly; if this is unclear, complain and I'll be more clear. This information is important: If the time-date inheritance kept feeding up the directory tree to the root, then the corrections I want would have to work essentially from the leaves of the directory tree up and in a 'breath first' way, with some tricky accumulation at each 'level' (distance from the roof) of some maximum time-date values, to the root. But with the way the inheritance actually does work, I can correct the time-date stamps as I mentioned on the directories in any order. Not very exciting but has to be done.
- anonytrary 8y agoIt sounds pretty clear to me, albeit your explanation is long winded. You're saying that, in the FS you're using, the time-stamp changes are "local" in the sense that they don't bubble up the tree after N = 1 levels. In elevator-pitch terms, you're working on a search engine that takes into account user intent more accurately? Is that more or less correct?
- graycat 8y agoThinking a little more, if the time-stamp changes did bubble up, then just start making changes at the leaves of the tree; at each leaf, work back to the root on the unique path to the root; and at each directory make a change in the time-stamp of that directory if and only if the new time-date stamp would be more recent than the old one; and, if don't make a change at that directory, then are DONE on that path. Revision, to make this work, first set all the directory time-date stamps to, say, year 1776. This solves the problem that the directories closer to the root may be on the path of several leaves and get changed several times. To identify the leaves, that is, directories with no subdirectories, get the directory tree names and just sort them into ascending order. Then a leaf directory and all the directories on the path from that leaf back to the root will sort together with the leaf directory the last one of those that sort together. That is, a directory is a leaf if and only if it is not on the path to the root (not an initial substring, using whole directory names) of the next directory in the sort. In particular, the last directory in the sort is necessarily a leaf. Ah, an algorithm! I don't want now to further characterize or change the wording on what the startup is doing. My best word is the one I used, "meaning".
- anonytrary 8y agoHow exactly will you know a user's "meaning" when they are asking for content? Do you intend to read their minds, somehow? Or perhaps you might hook them up to a heart rate monitor, track their eye movements and use ML to obtain user sentiment without requiring them to provide click-based feedback (like likes/dislikes).
- pstuart 8y agoHopefully you're using some form of version control today. Git is the de facto winner of the version control ecosystem, so it's a valuable tool to know how to use at least at a basic level (branching, merging).
- graycat 8y agoYup, thanks. Yes, I have a simple version control system. I have some simple tools based on macros for my favorite editor KEdit and some scripts based on Rexx. So far they have been fine. The biggest problem I had was documentation for .NET. I found, read, downloaded, and abstracted 4000+ Web pages from Microsoft's MSDN and have about another 1000 Web pages from elsewhere. These are in four batches -- the languages, especially Visual Basic .NET, for SQL Server, for communications including TCP/IP and ASP.NET (for the Web pages), and the rest for Windows in general. I also have documentation of my own, mostly just text but some with the math from Knuth's TeX. So, in the code and other documentation, I put links to relevant documentation. The links in the code look to the compiler like comments. I insert and use the links with editor macros. In the end, I can display a page of documentation with one keystroke to my editor. Works well enough. For help with versions, I have a very heavily used editor macro that inserts a time-date stamp or two of them delimited with BEGIN and END as comment blocks with time-date stamps. Sure, if I hire some people, I'll have to have something better. But in our AI project at IBM's Watson lab, we did quite a lot of software development, including shipping some IBM Program Product code, with less in versioning tools than I'm using. Right along I've been thinking that if my startup works, then one of the first steps up will be some audio-video facilities, a lecture hall, good audio and video recording and then editing, etc. Then we will call in experts on various topics, have them lecture, maybe sell their book or some such, record it all, and have it on-line for everyone as documentation. So, we'll have people who worked out good means of versioning, backup and recovery, archiving, data security, disaster protection, network security, server monitoring, server construction and software installation, SQL Server performance, LAN performance, code testing and reviews, developer training, the servers, racks, LAN, electric power, backup power, HVAC, real estate for floor space, telephones, e-mail, etc. Yup, I'll need a COO! All these topics have been done well lots of times in the Fortune 100 and more, and lots of people have been there, done that, and still have the T-shirt. Likely don't necessarily have to hire them but can fly them in for 1-3 days and capture what they have to say. Later in the growth may have to do some things that are original, but can have a lot of growth before that.