Show HN: Let's end the Programmer Salary Taboo - <AUTHOR> http://salaryshare.me/ <comment><AUTHOR> After the discussion yesterday about how hard it is to know if your salary is comparable to your co-workers, and inspired by nostromo's "trick" (<http://news.ycombinator.com/item?id=2439443>), I decided to implement a website where everyone can compare notes, without having to disclose personal info.

It works by creating "salary pools". When you create a pool you get an unguessable URL (e.g, I created a pool at <http://salaryshare.me/8a6e32dd8c9166905db6cfd588044bad>). Share that URL with everyone that you want to participate, and after a minimum number of people have given in their salaries, the results are disclosed.

Apply any standard disclaimers that should apply for an application developed in less than 6 hours.

<comment><USER2> Without context, salary is meaningless.

You should ask for title and years experience in the role. Without that a comparison is tough.

<comment><USER3> I work for a company with well over 100,000 employees, but if I gave my salary, title, and years experience (and as someone else noted, especially if I added my location), I wouldn't be anonymous. To my employer, at least. It would be trivial for them to narrow down the information to being provided by a very small number of people - if not the exact person.

I don't see this flying, where I work though. Even among the people I'm closest to, I don't think they'd take to this sort of information sharing amongst each other. Even pseudo-anonymously. I'm not sure if that's because they'd feel it's tacky or if it's because it has been drilled into everyone from corporate culture that you _never_ talk about it.

As an aside, I would actually much rather know not what the guys I've been working alongside for the past decade are making compared to me, but what new hires in the same positions as us are being hired at. Especially when you throw in all the hiring freezes and pay freezes over the last ten years.

<comment><USER4> Just one correction: your employer will also know exactly who you are by just your salary alone. Chances are not everyone is making the same amount and if you say you make 100,760,000 rubles, it's easy enough to just look it up. Your co-workers of course don't have this info.

I personally liked the other trick better: the one that gives you the average salary. Or maybe median is more appropriate. The point is that it'd give you an idea of whether you are making more or less than at least half your co- workers.

<comment><USER5> I agree that there is too much information here to stay anonymous from your boss.

Instead, you could generate the histogram of the entire sample set, perhaps curve fit, so it's not obvious for small sample sizes, how many people contributed. Then you put a little red "You are here" dot on the histogram so they see how they compare. This robs the employer of any data they can use to see who partook in the experiment, while still giving the same information back to the employee.

</comment></comment></comment></comment></comment><comment><USER6> This looks great.

Ideas for the future...

      - improve formatting of the list (right justify numbers
        for example)
      - slider to allow us to cut off low and high outliers
        when looking at averages/charts/etc
      - display mean/mode/median/stdev [1] (which take into
        account above filtering)
      - chart results
      - ability to add a timeout for entries (only accept new
        salaries for X days before locking)
      - countdown timer on entry page
      - ability to send semi-anonymous invites from within the
        app
      - allow tags or something for the user starting the
        survey to add things like industry, general location,
        etc
      - allow OP to write a brief blurb about what to include.
        for example, "base salary only", "salary plus expected
        bonus",)

This kind of data can be extremely valuable if you can convince your users their privacy is secure and likewise convince your clients (job boards and the like) that it's accurate.

[edit]... I see you're a job posting company so I guess you already know how valuable this sort of info is[/edit]

[1] Nice article on averages (if you're not already familiar with the pros and cons of the different types: [http://betterexplained.com/articles/how-to- analyze-data-usin...](http://betterexplained.com/articles/how-to-analyze-data- using-the-average/)

<comment><USER7> Another excellent idea: make it a regression:

Wage = a + b _years experience + c_ title + d _language coded + ...

[a b c d ...] = ([array.T _ array]^(-1) _array.T_ wage

thus people can figure out for themselves where they should be! :-)

</comment></comment><comment><USER8> HN Salary Pool

<http://salaryshare.me/230acd5ff2df1bf8cb03f403aabd45be>

If any ones interested.

<comment><USER6> It's so sad that some trolling assholes will try to poison cool projects like this by entering extremely high or low numbers. $33million? $123? $0 ... sheesh.

<http://www.penny-arcade.com/comic/2004/03/19/>

<comment><USER9> One of those $0s is mine. I'm an unemployed college student; it should probably be more like -$20,000. Just sayin'.

<comment><USER6> If you are unemployed or self-employed then the question isn't really for you (though the answers certainly are).

You're not acting in your own best interest.

If you accept that the site's trying to give you ammunition in the form of more accurate information. Then you hurt yourself (and everyone else) by putting in an absurdly high or low number you skew the results away from the actual market value.

If it skews high, you're going to miss out on opportunities by holding out for an unrealistically high compensation.

If it skews low, you accept less money.

<comment><USER9> As I understand it it's a salary pool for HN users. I'm an HN user, and I put in my salary. Seems pretty straightforward to me.

I'm not really expecting that anyone is seriously going to try to use the average salary of HN users for negotiation purposes. But even assuming they were, it appears there are at least a few others who are in my boat. That's relevant information, yes?

<comment><USER10> You are unemployed; therefore you have no salary.

This is somewhat akin to placing "yes, please" under the "sex" column of a questionaire.

<comment><USER9> I'm not sure I understand— how does the fact that I'm unemployed, and therefore have no salary, negate the fact that I have no salary? Are you trying to distinguish between "no salary" and "$0 salary"? They feel pretty equivalent to me.

Again, this is an informal salary pool for HN users. I'm an HN user, and my yearly income, taking into consideration my no stock options, no bonuses, no salary, and no other non-salary compensation, is $0.

In general, do you really think the existence of unemployed hackers who earn $0 yearly is completely irrelevant to anyone who would have an interest in how much hackers are making?

<comment><USER11> Actually, yes, it is irrelevant, and yes, you don't understand. But it's not your fault. :P You're missing some context: this is a followon to a previous thread: <http://news.ycombinator.com/item?id=2438980>

The idea isn't to see how much other hackers are making in general. The idea is to see how much companies are paying them, so that people who are being paid much less or more than they're worth can figure that out.

Granted, it's a pretty statistically silly way to go about that given the breadth of HN readership. The posts further down the thread ("PHP Programmers in Baltimore") make more sense.

Not your fault, though. UI guys like to beat up users when they screw up. Don't listen to 'em. You are giving them valuable, valuable information.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> Who defines the 'minimum number of people'? If it's not user-defined, I think you should make it clear what that value is. Otherwise, if I share this to my team of 7, but the minimum is 8, we'll never know.

For smaller groups, you could add an option to show only the average, not the salaries. Then with as few as 3 people it would be reasonable to disclose the value.

<comment><USER13> The minimum is 4 people I believe.

<comment><AUTHOR> That is correct. I did have one version where the first form asked for the minimum number of participants. I discarded it because I wanted to get the easiest "action" form. To be honest, I considered even removing the "give it a name" part.

But it seems to be something that a lot of people are asking. I will add the "minimum number of participants" option now.

</comment></comment></comment><comment><USER14> I've had something like this in the back of my head for a while, glad to see someone implement it.

One thing though is how do you suggest getting people to join the pool? Pass the link around? You might not want to get caught as a ring leader on something like this, or even as a participent, as some companies really hate salary sharing.

<comment><USER15> _One thing though is how do you suggest getting people to join the pool? Pass the link around? You might not want to get caught as a ring leader on something like this, or even as a participent, as some companies really hate salary sharing._

There needs to be an anonymous sharing system. Put emails into the system, and Salary$hare emails those people.

<comment><AUTHOR> That is an awesome idea.

</comment></comment></comment><comment><USER16> What's stopping someone from sending a link, then entering a bunch of fake salaries (by clearing cookies), to find out co-worker's salary (not one of the ones you entered, though they may all appear legit).

<comment><USER10> Any system can be abused.

I guess one way of combating this is that when you receive an invitation, ask your other coworkers if they received them as well, and ask them to participate. That way, at least the initial wrongdoer wouldn't be able to peg the salary to the person.

<comment><USER17> "Did you receive a SalaryShare link" is insufficient. I could send a different link to each co-worker. You would at least need to compare URLs.

</comment></comment></comment><comment><USER18> PHP NYC - <http://salaryshare.me/f2864ef79da8296c035b2906c0bb4846>

<comment><USER19> Design flaw there. I am tempted to just put in some random numbers so I can see the output.

<comment><USER20> Right. It would be nice to have a 'just let me see the results' link

</comment></comment></comment><comment><USER21> Nice idea, but I'd want to e.g. wait a day/week/month and then disclose all salaries and close the pool. After all, salaries added after the pool has been opened are much less private.

<comment><AUTHOR> I did plan for time-based, self-expiring pools. I'm also thinking of adding an option to get a user-configurable minimum number of participants.

For the sake of simplicity, I left out of this first version. The way it is working now, you can only see the results after adding your own salary.

Call it a MVP, if you will. It might be in the next version if people show enough interest.

<comment><USER22> A user-configurable minimum would be a great help in convincing my peers to participate.

Do you think you could add a jpeg or two to the front page demonstrating a couple of sample salaries and the information I would see as output?

<comment><USER21> Don't you think that that may lead to a powerful anchoring effect, skewing the results? I suppose you could put in obviously bogus numbers, but..

</comment></comment></comment></comment><comment><USER23> A few stats and graphs won't hurt; but it's great for 6hrs.

<comment><USER24> mean, median, and truncated/winsorized mean would be really useful and not too much effort, if I can ask for something :)

</comment></comment><comment><USER25> > _US Dollars, please_

But I get paid in pounds sterling. Can't this just be a free-form text field?

<comment><AUTHOR> Yes. My friends in Brazil are already asking for input in BRL. Will add it.

<comment><USER26> It is probably a good idea to keep the original value and the currency rather than converting them to dollars just the one time. This will allow you to recompute dollar figures based on currency exchange fluctuations.

<comment><USER25> I'm not convinced it's useful to convert the currencies anyway. I _can't_ get paid in US dollars for this job. If I wanted to get paid in USD, I'd be getting a different job.

Or are there any cases where a single job market spans two or more currencies?

<comment><USER26> Some larger companies have offices in more than one country. Examples would be Google, Microsoft, Facebook, most banks, etc.

Perhaps it would be useful to be able to view the results in any currency you desired. But already we're entering scope-creep territory :-)

<comment><USER25> Right - if you cared enough about looking at anonymous salary information across different countries, you could just use Glassdoor.com.

<comment><USER26> The point of this app is that you share a link with your peers, whether they're based in your office or in an office in a different country. This is a bit different from completely anonymised data from statistically similar market segments (and possibly more useful, since people at the same company are likely to have similar perks and benefits etc.)

</comment></comment></comment></comment></comment></comment></comment><comment><USER27> Good idea.

Here's a suggestion, the numbers on the list should match a rank, eg:

      1. $10
      1. $10
      3. $8
      4. $7
      4. $7
      4. $7
      7. $2

This will make it more relevant when looking how high up on the list your annual salary is.

Edit: fixed formatting. Edit2: corrected the ranking as suggested by<USER28>
<comment><USER28> Shouldn't that be: 1\. $10 1\. $10 _3_. $8

The way I see it, the person with $8 is ranked third, not second.

Think of what would happen if you extended it. If you had 99 people earning $10 and 1 earning $8, it would be misleading to rank that bottom individual 2nd.

<comment><USER27> You are absolutely right, that was more what I was thinking about when I wrote that. I just edited it to match with your proposal.

<comment><USER29> For what it's worth, this is quite easy to compute in a way that works with any number of ties, and doesn't require computing the whole list in order. Your rank is the number of people above you plus one.

<comment><USER30> I must be missing something. That's a N^2 operation on an unsorted list. ~N Log N if you sort it first. And N to insert a new entry to a sorted list.

<comment><USER29> Yes, it requires a sorted list, but so does the naïve implementation. The performance is equivalent to binary search to find the entry, although you then have to scan backwards to make sure you have the first entry with the same value.

Since performance is probably not an issue for most rankings, the biggest benefit is a clear, easy to remember definition, which should reduce the chances of making the same mistake landhar did.

<comment><USER30> If you are inserting 3 into an indexed and sorted list (1,2,4,5) you can calculate the index of 3 in O(Log N). But you also need to update the index of 4, and 5 which is an O(N) operation.

</comment></comment></comment></comment></comment></comment></comment><comment><USER31> The site is awesome, I did basically nostromo's trick with my colleagues in the past and found that I had the highest salary by a reasonable margin but was the newest hire. Ah, the joys of negotiation... A webapp would be great for more distributed teams though!

Me and a couple of buddies made a basic version of Glassdoor back in college before they existed. It's called FuelForHire but it never took off because we never marketed it. I'm promoting it now in hopes it helps people figure out their salary, and on top of that it contains reviews of the hiring process, compensation package, and work environment to give the numbers some context. We DO NOT require you to write a review in order to view one like Glassdoor does, so stop by and take a look, although we'd love it if you did write a review!

<http://www.fuelforhire.com>

It's probably better suited for people to talk about their experiences at past companies instead of their current employer especially if you're paranoid about your anonymity but feel free to use as you see fit.

Again, the site was made 3 years ago when I was young and stupid, so there are a lot of issues (plaintext passwords, anyone?). If there's significant interest I'll start fixing them right away. Check it out:

<http://www.fuelforhire.com>

</comment><comment><USER32> Nice idea. Topic will always bring hot debates, but glassdoor is doing a pretty good job.

Apologies for a bit off topic, but I built a bit different site in Poland, where you can actually vote on salaries for job offers based on the location / job content / role / company name (if known) for job offers from various websites, where in salary field it says "atractive" or "high" etc. Have a look <http://www.jakapensja.pl> (in Polish)

</comment><comment><USER33> PHP Developer Baltimore Area

<http://salaryshare.me/2da2f504ae45c222455824f207448e77>

</comment><comment><USER34> feature request:

* "show results only" - I would like to see results of pools that people are posting links to (without having to "make up" something first)

* other currencies - there are also other countries then USA

* global public pool + allow to submit some more info

</comment><comment><USER35> The anonymity doesn't really translate to start ups where there are < 100 employees. I work in an office with 10 people. If everyone posted their salary I would be able to easily guess who posted what. I'd much rather a site lik <http://www.ackwire.com/> (posted on HN a couple months ago).

</comment><comment><USER36> I don't agree with comparisons like that. I had two developers one making $10k more that the other, both about the same quality I would say. I didn't set their salaries, they had salaries negotiated when they joined the company. I thought it was unfair. It's not. Everybody has different skills, work ethics, productivity and on top of that expectations. The guy with $70k always complained about salary while $60k guy was completely happy.

It's up to everybody to negotiate salary that makes them happy, if you are not able to move on somewhere else where somebody will pay you what you are asking for.

However, putting all this aside, this application could be useful in environments where you have at least 5-10 people with the same skills, seniority, productivity, otherwise you are comparing apples and oranges.

Also, a lot of companies prohibit you from discussing your salary with other co-workers or not?

</comment><comment><USER37> Has any tech company used fully disclosed salaries as described in _Mavrick_ [1][2]? It's an intriguing idea.

 _Mavrick_ describes how all salaries were publicly posted. People see exactly where they are in relation to others. Of course this created tension at first, but eventually things settled. The magic happens during hiring. An open position's salary is also public, and everyone on an interview panel naturally ranks candidates versus current employees. Is the candidate better than Joe? She better be because she'll be making more than Joe.

Has anyone heard of a tech company doing something like this?

[1] <http://en.wikipedia.org/wiki/Maverick_(book)>

[2] [http://www.amazon.com/Maverick-Success-Behind-Unusual- Workpl...](http://www.amazon.com/Maverick-Success-Behind-Unusual- Workplace/dp/0446670553/)

</comment><comment><USER38> Why not throw a couple ads on this and monetize your efforts? Job placement / recruiting ads bring great money.

</comment><comment><USER39> Very cool. Might be interesting to collect age, years of experience and perhaps company while you're at it so you can see a nice distribution. This might destroy some anonymity amongst a close group of friends, but amongst a diverse anonymous crowd such as HN it would be interesting.

</comment><comment><USER40> Sorry, didn't do it for me. I was at first confused by the "give it a name", then it took me to another page and I lost interest.

Why not just a simple form that lets you enter your salary, and provide some optional info that will only be revealed to people you choose?

</comment><comment><USER41> Nice solution to a known problem. The app is simplistic and doesn't really need to collect any more information. As long as people enter accurate salaries then this should prove useful. Good job.

</comment><comment><USER42> Developers at BigCo (Microsoft/Amazon/Google...): <http://salaryshare.me/0c844406ed64408ec6ccb6cfa59f83e5>

<comment><USER43> Base or total compensation?

</comment></comment><comment><USER44> Nice one. Other than secret pools, it would be very interesting to have a global pool where people could indicate country, years of commercial experience and salary.

</comment><comment><USER45> PHP Developers Midwest <http://salaryshare.me/520b0119dba651b4a5e0d8e8e3a72603>

</comment><comment><USER46> How about listing public pools on the front page (and giving the option to make a pool public)

</comment><comment><USER47> Perhaps make a public version that asks for more information and automatically generate pools when enough have submitted data for a particular segment (company, location, title, years experience, degree, etc)

<comment><USER10> That very quickly removes anonymity. I might be the only guy whose title is actually Software Developer - but we're a company with eight employees, five of whom I can see if I swivel my head.

<comment><USER47> I haven't thought about this problem extensively, but it seems you could maintain anonymity by hiding results for segments with a small number of responses. That's basically what this is doing, except the "segments" are user-defined and private.

If I'm the only one at my company who has responded then a search for my company won't turn up anything. If a dozen other people have then it will. If only one of those has the same job title then it if I search for my company and my job title nothing will show up. If 8 have the same job title then they will show up. Restricting it to one "axis" might solve that but the data would be less interesting.

Of course you have to be careful since certain combinations of searches could also reveal information (kind of like those logic questions: Sally is taller than Bob, Bob is shorter than Joe, etc, etc. Who is tallest?)

Excluding the company name and restricting location searches to large enough regions would remove a lot of the risk. It would be cool to be able to ask questions like "What are the salaries of software engineers with 5 years experience in Silicon Valley?" or "How much does having a BS degree increase your salary? MS degree? PhD?" or "How do salaries scale with # years experience?"

</comment></comment></comment><comment><USER48> Grad students: (not that our salaries are all that secret...) <http://salaryshare.me/be795b5770029320591ac9a1730a9932>

</comment><comment><USER49> SF/Bay Area iPhone Developers (put 22 if you just want to see the results)

<http://salaryshare.me/b57de74e7eecef0c5179516ee5e75a1f>

</comment><comment><USER50> Software Engineer I or Entry Level Software engineer in Boston :

<http://salaryshare.me/d7bf7a517c9261e1dca387eca652b58d>

</comment><comment><USER51> CS Academia - young professors and postdocs - <http://salaryshare.me/aa134b0ded8013e4d211e1abdc5eb8ac>

</comment><comment><USER52> Austrlians: <http://salaryshare.me/34675bce652fe030839ff6d0fa349647>

Assume Parity with $USD to make it easier

</comment><comment><USER53> Developers at NYC Startups: <http://salaryshare.me/25a1232ba8ca3b7f2b2e41a64b9cdc46>

</comment><comment><USER54> Croatia senior developer: <http://salaryshare.me/760f65ad9a532d7f329fda641fda0952>

</comment><comment><USER55> Put your bugs on this thread.

Submit button does not work in IE7

</comment><comment><USER56> right align the numbers in the results, and don't make the list numbers mess with alignment. see the HN list for an example of how the mis-alignment makes it unecessarily difficult to scan/compare

<http://salaryshare.me/230acd5ff2df1bf8cb03f403aabd45be>

</comment><comment><USER57> It looks like a lot of people are entering zero just so they can see the results of some pools.

</comment><comment><USER58> Without verifying anyone's identity, couldn't the boss just flood the pool with low salaries?

<comment><USER59> Pools seem anonymous. You'd have to hide the link to the pool from the boss.

</comment></comment><comment><USER60> Great workaround, but ultimately I'd still want the cause fixed.

</comment><comment><USER61> www.glassdoor.com does this pretty well...

</comment><comment><USER62> How's this different from Glassdoor.com?

<comment><USER25> Glassdoor.com's free trial is limited. Click through a few pages, and you start getting this:

> _This salary is available to members_

<comment><USER63> Last time I tried to look at Glassdoor it just required you to provide information to get information. Once you provided a salary, you could access salaries for a year.

</comment></comment></comment><comment><USER64> this site pre-existed, glass cieling or something like that.</comment>


A Legend Never To Be Solved - <AUTHOR> http://hackety.org/2008/09/25/legendNeverToBeSolved.html

<comment><USER2> A beautiful tribute, but what's up with the title? What would it mean to _"solve a legend"_?

<comment><USER3> i was also trying to figure out the title. thought i missed something.

<comment><USER4> a title never to be solved!</comment></comment></comment>


Google WiFi Review: WiFi That Works - <AUTHOR> http://www.theverge.com/2016/12/6/13843536/google-wifi-review-mesh-router-system-vs-eero <comment><AUTHOR> Has anyone here tried this?</comment>


Exploring the Apple Pippin ROM(s), part 7: A lot to digest - <AUTHOR> https://blitter.net/blog/2019/05/04/exploring-the-pippin-roms-part-7-a-lot-to-digest <comment><USER2> On a mostly unrelated note. The Pippen was a badly designed and underpowered even by 1996 standards. MacOS itself wasn't completely PPC native and had a large amount of 68K code in it. To make matters worse, the 603 had a smaller slower cache than the older 601 and that made Apple's built in 68K emulator perform even worse than the 601. The 601-66Mhz processor in my PowerMac 6100/60 was already slower running 68K programs than my older LCII with a 68030-40Mhz accelerator card.

Add on top of that the increased memory requirements of the PPC based Macs, the horrible memory management of Classic MacOS and the amount of memory in the Pippen. Mac users knew that this thing was a turd. I remember conversations on Usenet about it.

</comment><comment><USER3> Funnily enough, I remember the gaming press being cautiously optimistic about the Pippin. It was touted as a multimedia console hybrid. Back then, something being Multimedia was a big marketing buzzword (think a bit like cloud or blockchain). The general feeling I recall is similar to when Windows CE came to the Dreamcast, or when the original Xbox launched.

</comment><comment><USER4> Pretty scary how the encryption is completely cracked. Even though it uses key sizes known to be insecure I don't think it is well known an attack is this easy.</comment>


Ask n.yc: Can anyone recommend a good tutorial for iptables? - <AUTHOR>

<comment><USER2> I found this in my bookmarks, but I don't remember how helpful it was: [http://iptables-tutorial.frozentux.net/iptables- tutorial.htm...](http://iptables-tutorial.frozentux.net/iptables- tutorial.html)

</comment><comment><USER3> One of the Linux magazines (Linux+, I believe) has been running a series on using iptables for the last couple months...</comment>


Opera 10.6 - HTML5, and then some - <AUTHOR> http://my.opera.com/desktopteam/blog/2010/06/14/html5-and-then-some

<comment><USER2> Hopefully appcache support will be used to make Dragonfly start instantly (they haven't added manifest <https://dragonfly.opera.com/app/> yet).

</comment><comment> w-ll i just want geolocation in opera mini. To many people that use my web app are using from opera mini and I have to tell them to go to the phones default browser. (Hate doing that)

</comment><comment><USER3> What I love about Opera, is that they develop and release features that show up in other browsers like Firefox 6 months to a year later.

<comment><USER4> Sorry, this is just wrong.

I am currently working on a drag-and-drop uploading tool, and would really like to use html5 to do it. The new interfaces involved are the drag and drop ([http://www.whatwg.org/specs/web-apps/current- work/multipage/...](http://www.whatwg.org/specs/web-apps/current- work/multipage/dnd.html#dnd)) and File (<http://www.w3.org/TR/file-upload/>) APIs. Unfortunately, everyone _except_ for Firefox have been slow in implementing the File interface, leaving me with a situation where the only shipping browser where standards-based code runs is Firefox 3.6 (fwiw, it works in Webkit nightly and Chrome 6 dev). In shipping webkit (safari 5, chrome 5), File is implemented (which gives meta data about a native file) but not FileReader (which gives the actual data) (btw if someone knows of a non- standard way to get the data from the File object in shipping webkit please let me know, i just want this to work. FF had a non-standard getAsBinary() method on the File object before FileReader was implemented, for example).

Opera doesn't even have File implemented.

Again, FF is the only shipping browser that native os-to-webapp uploading drags work in a standards compliant way. Give them some credit.

<comment><USER3> I'm not saying that FF or other browsers doesn't innovate. I'm just saying that I've seen tons of features that have started in Opera that end up implemented in other browsers.

</comment></comment></comment><comment><USER5> > "Bing is the new Speed Dial search engine"

Eugh

<comment><USER6> Microsoft is _really_ throwing money at search lately. Bing is everywhere (Colbert, iOS 4, "Filomena", "Search Overload").

How long can they keep it up for the returns they're getting?

<comment><USER7> Decades. They're Microsoft.

<comment><USER5> And it's nothing new. They've been throwing money at the web and trying not to fail for years. No real success yet though (IMHO)</comment></comment></comment></comment>


California is about to allow former felons to serve on juries - <AUTHOR> https://calmatters.org/justice/2019/11/california-former-felons-becoming-jurors-new-2020-law/ <comment><USER3> I've served on a jury in CA and have seen jury selection on a couple occasions. Based on what I've seen, I think it will remain highly unlikely that a convicted felon will make their way onto a jury of a criminal trial (civil trials might be more likely).

In the standard questionnaire that prospective jurors are given, they are asked if they or members of their immediate family have been victims of a crime, or if they work in law enforcement. Now that felons will be part of the jury pool, they will undoubtedly also ask if they have been convicted of a crime themselves.

In my experience, judges will themselves excuse jurors who have family in law enforcement (parent, spouse, sibling), which means the lawyers don't have to bother using a challenge on it. I would expect the same will happen with many/most criminal convictions, especially when they are related to the crime that is alleged.

And even when they are unrelated, I expect the prosecutor would dig in and ask questions like "have your feelings about respect for the law changed since you were convicted of embezzlement?" — even if it's an assault trial. These questions will be uncomfortable for the potential jurors, who may feel like they're being humiliated and put on trial all over again. I would not want to be a felon being questioned for jury selection by a prosecutor.

note: my experience is in San Mateo county jury selection as a private citizen. I am also a former lawyer, and almost all of my lawyer friends have never made it past jury selection. I served once, only because I emphasized that I practiced tax law, which is very different from criminal law.

<comment><USER4> I think it's kind of random. Last time I was on jury selection, the defendant, a black man, was accused of robbing a bank at gunpoint.

The woman being questioned for jury duty was asked about being a victim of crime. She said, "I've been a bank teller for over 20 years. I've been robbed at gunpoint three times, and every time it was a black man. Black men are always guilty".

I was shocked she would say such a thing, but even more shocked to see her back the next day. She wasn't dismissed.

<comment><USER5> The jury system seems completely corrupt to me. I am glad we do not use this method in criminal trials here in Germany where I live.

<comment><USER6> Corrupt? It's a jury of your peers, how is it corrupt? It's random people that decide your fate.

In German it's judges. So a judge tries you and says you're guilty or innocent?

You have to forego your right of trial by Jury in the USA for that to be the case.

<comment><USER7> The corruption is that the lawyers are allowed to take advantage of the jury dismissal system to stack the jury, and in many locations they will do so.

<comment><USER8> have you ever served on a jury? it really does not work this way. the defense and prosecution both get to dismiss as many people with obvious bias (eg, victim of gun violence in a murder trial) as they want. then they both get to dismiss a small number of people without giving a reason. usually there are not enough of the second type to actually "stack" a jury. plus the other side is going to use their strikes to dismiss your favorites anyway, and I believe the defense generally gets more strikes.

</comment></comment></comment></comment></comment></comment><comment><USER9> I recently listened to a podcast in which James Beshar interviews an anonymous San Francisco police officer who has been in the service for a long time. The police officer said that there are a lot of loopholes(not talking about paroles, probation or anything related) in California justice system in particular that allows felons to come out much faster than the actual time sentenced. For example felons that are sentenced for 30+ years in prison for committing serious crimes can come out in as fast as in 15 years by staying in certain prisons/jails that counts the time served as 2x or 3x. So lawyers game this so that the felons stay in these prisons/jails longer than other prisons and come out faster. I personally has not thought much about any of these issues and neither have a stand or expertise on what is right or wrong. I found what the police officer said (so did the host) very interesting and thought its worth sharing here.

[https://anchor.fm/belowtheline/episodes/37--Anonymous-- San-F...](https://anchor.fm/belowtheline/episodes/37--Anonymous--San- Francisco-Police-Officer-e914q7)

Updated the comment for clarification.

<comment><USER10> The "anonymous officer" is misstating the way the rules actually work to the point of basically lying about them. (Actual rules: [http://www.courts.ca.gov/partners/documents/CalculatingCusto...](http://www.courts.ca.gov/partners/documents/CalculatingCustodyCredits.pdf))

Custody credits. For crimes committed after October 2011, defendants who do not misbehave while in jail will receive 1 day of "conduct credits" for every 1 days of actual jail time served. Felons will similarly receive 1 day of conduct credit for every day of actual time served in prison while on good behavior. However, felons convicted of a violent crime only receive 15% conduct credit for time served (so 1 day of "conduct credit" for every 15 days of jail time served) and 0% credit if convicted of murder.

The only crimes you can (or could) receive 30+ year sentences for in CA are violent crimes (like rape, armed robbery, or murder) or 3-strikes sentences, and such sentencing is no longer possible for a 3rd strike unless the 3rd strike is a violent crime.

 _So lawyers game this so that the felons stay in these prisons /jails longer than other prisons and come out faster._

The police officer is lying. Credits are based on statutory formulas and no facility provides any more custody credits than any other, because the facility doesn't determine how many credits you get.

<comment><USER9> Can you listen to the podcast from 12th minute for a few minutes so that we all are in same page? Its highly possible I oversimplified and missed some key elements since I listened to this episode a while back.

<comment><USER11> Hi, not the original poster here but someone familiar with California's justice system. I went ahead and listened for a bit to what the podcast and its guest had to say.

Your relaying of the podcast, while a little simplified, is not the problem - there aren't "key elements" missing. The problem is that _the information on the podcast is blatantly wrong._

<comment><USER9> Okay. Thank you for the confirmation.

</comment></comment></comment></comment></comment><comment><USER12> If you served your time, you served your time. If not, shoulda got more time

<comment><USER13> Would you let a pedophile who served his time babysit your children?

<comment><USER14> False equivalence. No, but I'd let someone convicted of a robbery 20 years ago and nothing since serve me at a fast food restaurant since they've served their debt to society.

<comment><USER15> > False equivalence. No, but I'd let someone convicted of a robbery 20 years > ago and nothing since serve me at a fast food

This appears as a perfect false equivalence imo. Would you also let someone who was convicted of poisoning people serve you fast food?

Here's some [0] stats about repeat offeders

[0] [https://en.wikipedia.org/wiki/Recidivism](https://en.wikipedia.org/wiki/Recidivism)

<comment><USER14> No I wouldn't, but some would. I should've mentioned that where they're allowed to work should be dependent on what their crime was. A robber can't work at a bank, etc.

<comment><USER15> > No I wouldn't, but some would. I should've mentioned that where they're > allowed to work should be dependent on what their crime was. A robber can't > work at a bank, etc.

However; a robber can serve as a jurist? I don't understand your logic; if it was you who were on trial, wouldn't you hope that the jury of your peers had a higher degree of ethics than a gal who robbed a bank? I know I would.

<comment><USER14> The logic is: they have served their debt to society, let them be free. Don't continually punish them even after they're out. If you want to punish them more, keep them in prison longer.

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> Why is anyone ever barred from jury duty outside of severe disability? Voir dire seems to exist to mitigate any conceivable juror issues.

<comment><USER17> Once upon a time jury duty was considered a privilege, a way for upstanding citizens to shape their community. Losing that privilege was a social punishment, and a way to ensure justice was aspirational--lenient and harsh according to how the community expected itself to behave and evolve.

The Magna Carta, which secured the right to a jury trial, only concerned the rights of the landed gentry. The jury trial was about the landed class having the right to deliberate on the disputes of its own members. It was copied from the system used for matters pertaining to Church lands and clerical crimes; matters that were required to be settled by other clergy through a parallel court system administered by the Church, whose rights and powers were derived from papal authority.

This notion isn't entirely antiquated today. Some scholars argue that one of the reasons the American criminal justice system has become so harsh on minorities is because juries are usually composed of members who live in separate communities from the accused. Their interests are in tamping down on crime, with little incentive to consider the disruption caused by wrenching away men and women from the labor pool and their families. According to this perspective, we should maybe return to a system where jury pools are called from much smaller geographical districts--literally the neighborhood where the crime occurred.

When share cropping was still a thing in the South, before penal labor became a state enterprise, and even during slavery, juries were often quite lenient toward the working class, including blacks. (Conviction rates were much closer to parity between white and black defendants!) Jury members knew that the accused likely worked for someone else in the community, and owed debts to others; unnecessary punishment[1] of the accused indirectly punished jury members' friends and families. Things worked similarly at the turn of the 19th century in major cities, when ethnic communities were compact and courts weren't centralized downtown. Jail time meant leaving a wife and kids without needed income, creating an immediate burden on the community (e.g. more expenditures from the neighborhood church's coffers).

If juries were again composed of members from the community _directly_ impacted by a crime, then it might still make sense to penalize felons from serving. Juries would once again be more about the community policing itself, as opposed to today where we principally conceive of juries as impartial and fair (in the roulette sense) adjudicators of guilt and gatekeepers of retributive justice. Fortunately, most crime is still local. "Black-on-black" is a catchphrase today, but crime is generally neighbor-on-neighbor everywhere.

[1] Of course, if you were black then "unnecessary" would need to take into account the need to sow fear in the black community. But so long as slavery and share cropping kept blacks tied to the plantations and farms, that was far less common than in later years when they became more mobile.

<comment><USER18> There is also the concept of lay judges, people who are non educated in law but are paid a small sum.

[https://en.m.wikipedia.org/wiki/Lay_judge](https://en.m.wikipedia.org/wiki/Lay_judge)

<comment><USER19> Sweden uses lay judges a lot in the lower layers of court. It is not a perfect system and we have had a couple of scandals where lay judges have pushed personal agendas in court. But I still think I prefer our system to jury trials.

</comment></comment></comment></comment><comment><USER20> I'm normally automatically skeptical of anything passed by our legislature here (which passes laws to ban plastic straws and water in restaurants but couldn't care less about feces and mental illness all over the streets).

For this, I'm totally 100% behind the decision. A jury of our peers is as good as it gets, folks. Even with the drawbacks it will never get better. We need to protect it and honor it, and that includes letting those who have felt the strong arm of the law decide whether the law itself is applied fairly to other people.

<comment><USER21> _A jury of our peers is as good as it gets, folks._

Is it? How about professional jurors. Would that be an improvement? Or a mix of the two; some peers, some professionals. Or what about short-engagement professional jurors - selected from the citizenry at large, but then given some proper training and acting as jurors for a year. Or perhaps a cadre of professionally trained jurors who take a few months to become trained, and then simply do jury duty alongside their untrained colleagues. Is a simple jury of peers really the best we can do?

<comment><USER7> What specifically makes "professional jurors" better, though? I won't say the idea isn't appealing, but what about making them professionals makes them better than our peers? There are already a bunch of heavily regulated professionals involved in the process so it's kind of arbitrary to claim that we need to regulate more of it.

Why not limit witness testimony to professionals too?

<comment><USER22> In the jury I sat on, we had a question about the the law and it's wording. The response we got was, "you have already received your instructions." Gee, thanks. Someone more well versed might have better understood the definition.

<comment><USER23> One of the juries I served, in the UK, had a similar question about a specific aspect of the law related to the trial. There was a 30 minute recess and judge, prosecution and defence discussed how best to explain - <USER2> without influencing in favour of either side - then we were brought back, told, and asked if that was enough. It was surprisingly involved for what we thought a simple clarification.

Having been on the inside of juries now, it restores some faith in some aspects, but you also realise far clearer where potential problems and limits are.

</comment></comment></comment></comment></comment><comment><USER24> There's no such thing as a former felon. A felon is a person whose been convicted of a felony. Once convicted you're a convict. Reformed felons... sure. But not former.

<comment><USER10> If you really want to be pedantic, felons can petition to have their criminal records expunged, including most felonies, and therefore would be former felons.

</comment></comment><comment><USER25> I feel like former convicts will take their role very seriously. More seriously than other people might.

<comment><USER26> That's naive

</comment></comment><comment><USER27> They should require a former felon on every jury

</comment><comment><USER28> No, it won't. If they just mean the state judiciary will summon felons to spend a day at the courthouse, sure. But prosecutors will surely be using their vetoes on such jurors due to their experience with the system, as they do with anyone that speaks a hint about jury nullification or otherwise seems hard to lead.

<comment><USER29> Prosecutors and defense council don't get an infinite amount of vetoes

<comment><USER3> There is a limit on peremptory challenges, for which no reason needs to be given. But I don't think there is a limit on for-cause dismissals.

<comment><USER29> If dismissing people for felonies was a valid cause by itself, then this law would be completely meaningless, that wouldn't escape a judge overseeing the proceedings.

<comment><USER3> I would guess that some felons might make it onto a jury with a felony that was (1) a long time ago, (2) completely unrelated to the felony alleged in the current trial, and (3) generally regarded to be a more minor crime.

But I would guess that few felons will make it onto juries, and the ones that do will endure embarrassing questions during jury selections, in front of a room full of their peers, about their past crimes and whether or not they are now sufficiently honest citizens.

</comment></comment></comment></comment></comment><comment><USER30> I hope the jury selectors are sharp.

Felons made poor decisions in the past. The opportunity for problematic behavior is present-- the poor decision making had better be confined to the past and not the present.

Proceed with caution.

</comment><comment><USER31> As they should be! If someone pays their debt to society all their rights should be restored. (Gun rights being the acception, in certain cases, IMHO).

<comment><USER32> I mean I don't like the idea of people who committed a violent crime having legal access to firearms either, but if we truly believed our "justice" system reformed people, why would they need to have their rights restricted following their release?

I mean I know our justice system is busted and you'd have to be insane to say it actually reformed people instead of just locking them away because we don't give a shit about doing anything else, but either way...

<comment><USER33> Would you say the same thing if a former convict of child abuse wanted to work closely with your kinds in school, sports or other arenas? I for sure would not be happy with it.

Certain things are not a right to have, e.g. driving license or be working in a specific profession. Firearms in the US is special but the use of firearm in the US is a topic for itself.

<comment><USER34> > Would you say the same thing if a former convict of child abuse wanted to > work closely with your kinds in school, sports or other arenas? I for sure > would not be happy with it.

'what about the children?'

it's a tired argument that always has the same answer : some people would care, some wouldn't care, but the phrasing of your prompt provides a moral imperative to agree, no matter the question.

you'll never get honesty that way, you'll only hear what you phrase the question to hear : in this case no one is going to dare say "Let's have the child abusers in school.".

<comment><USER33> I think it is a matter of risk.

Would I risk a hiring a shoplifter in my store? Yes. Would I let a person who commited fraud to work with money ? Yes. What they do isn't something that could not be "repaired".

Buy you raise very valid views, thanks for that

</comment></comment></comment></comment></comment><comment><USER35> Now if they would just compensate jurors atleast at minimum wage. The current rate barely pays for the daily public transportation costs.

</comment><comment><USER36> The title is misleading -- someone convicted of a felony is still a felon after being released from prison.

Juries create labelled data -- defendants are found guilty or not guilty -- but how do we know what characteristics of juries are likely to result in the most accurate verdicts, since we don't have a measure of whether defendants are truly guilty or innocent? Has anyone looked at what jury characteristics predict overturning of verdicts on appeal?

<comment><USER37> > The title is misleading -- someone convicted of a felony is still a felon > after being released from prison.

Perhaps it's time for the US to follow the lead of most of its common law brethren in the Commonwealth and get rid of the terms "misdemeanour" and "felony".

<comment><USER38> What's wrong with having words for "small crime" and "big crime"?

<comment><USER37> I'm more concerned with having a word like "felon" to categorise _people_ into "small criminals" and "big criminals", rather than saying what it is they were actually convicted of.

Other common law jurisdictions get by just fine by categorising small crimes as "summary" and larger ones as "indictable" for the purposes of criminal procedure (not that this categorisation maps all that well in the US where the right to jury trials is more entrenched). There isn't a comparable term to "felon", which is fine, because it's much better to talk about a "convicted murderer" or "convicted drug trafficker" or "convicted drink driver". And laws imposing restrictions on ex-prisoners generally apply to specific crimes, or to crimes carrying particular sentences with the threshold varying depending on the type of restriction.

At that point, there just isn't much need for the word "felony".</comment></comment></comment></comment>


First Look: Object Oriented CSS - <AUTHOR> http://www.sitepoint.com/blogs/2009/06/16/first-look-object-oriented-css/# <comment><USER2> A better approach might be to define overriding classes and include different stylesheets.

I coul have a .sidebar class styled one way in one stylesheet (say base- stylesheet) and the same .sidebar class styled another way in another stylesheet (skin-stylesheet).

This is a much better way of skinning things than using the other approach where you have to modify the markup and add a new class for every new skin/page. In the overriding case, one has to make sure to load the stylesheets in a specific order.</comment>


The structure of the special type of DOS files called directories (1998) - <AUTHOR> http://averstak.tripod.com/fatdox/dir.htm <comment><USER2> > Archive bit is somewhat symbolic. It should be set if the file was not > archived by the backup utility. Never in my life I have seen the use of this > bit.

I have - back in the days of DOS' BACKUP.COM and RESTORE.COM utilities.

I believe the way it worked was that when you created or edited a file, DOS set this bit, and when BACKUP.COM archived it, that cleared the bit again (or was it the other way round?) That allowed you to do a very early form of incremental/differential backup, and had a whole section explaining it in the DOS 3.somethingorother manual I first learnt very basic system administration from.

Back in those days our school PC came like many others with two floppy drives called A: and B: - which is why hard disk names traditionally start at C: - and you backed stuff up with a complicated schedule of put system disk in A:, boot, put data disk in B:, load program then it tells you to swap disks so you take out the system disk and put the backup disk in A: and when you're done you put the system disk back in again.

You could set and clear the archive bit manually with ATTRIB +/-A FILENAME.

<comment><USER3> Linux/UNIX has this too, through mtime (a time not a bit)!

Plus it's idempotent, unlike the archive bit! (e.g. if you lost your last backup, you have a time, not a cleared bit, so you can redo it)

</comment></comment><comment><USER4> The most complex operation due to some klugey MS stuff is 7 pseudocode steps... if that's hellish, then engineering is not a good career choice.

"What can go wrong with long filenames? Give some space to your imagination..."

They can get out of sync, and then they're going to float around until a long- filename aware system clears them out. Shockingly, systems that aren't aware of a new standard aren't aware of the new standard. ¯\\_(ツ)_/¯

I've been working on a language for handling data structures much like this, and have some preliminary notes on a strategy for handling this scenario: [https://tenet-lang.org/versioning.html](https://tenet- lang.org/versioning.html)

<comment><USER5> Yeah. You can give Microsoft a lot of crap, but what never ceases to amaze me is how inventive they were in keeping everything as compatible as possible, which they usually (successfully, mostly) pursued at all cost. Of course, that came with a high price, in terms of complexity and kludginess.

<comment><USER4> It's pretty interesting because in many cases the software evolved faster than anyone could keep up with, and there are large portions of backwards compatibility that I suspect were mostly accomplished through trial and error, especially when it comes to their layout algorithms.

When they opened up the Office file formats, they wrote an XML spec that corresponds to the fields in the various binary formats. And there are sections of it where the specification is simply, "this should be formatted the way MS Word 5.1 does it."

</comment></comment></comment><comment><USER6> This is not hell.

I have had mercifully little exposure to this world, but I once had to implement ACLs for a storage system my company bult. We stored ACLs, and needed to make them available through Linux and Windows interfaces.

Linux was easy.

Windows (ca. 2006) was a fucking nightmare that puts this document to shame. From what I could tell, there was no concept of an API. There were data structures, and the interpretation of them depended on many things, including minor OS version.

</comment><comment><USER7> For all the quirks and facepalms to be found in the FAT logic, I have to give credit to the staying power of FAT, and its universal compatibility. Its relative simplicity makes it perfectly adequate as the default filesystem for short-term storage (e.g. USB flash drives) where things like resilience and journaling are not an absolute necessity.

<comment><USER8> Its 4GB max file size was a pretty big problem near its end of life.

<comment><USER9> Apart from media files, where does that limit really hurt?

<comment><USER10> Backups ..or generically tarballs/zips/..etc. There have been way too many times I've had to split zips/tarballs etc just to copy over stuff over a fat formatted usb disk. Of course I no longer do that but there was a brief period when this was a problem.

<comment><USER11> I remember back in Commodore days, ARC or LHARC, or one of the archiving programs had the ability to span 1541 disks. But I can't remember why that was necessary. Under what circumstances was I moving files around that were 3x the size of the computer's memory?

<comment><USER5> Good question. Even for programs and games that spanned multiple disk, you'd explicitly arrange the data so that it makes sense (sometimes even duplicating some of it), and not just uniformly spread it across all the disks.

I can't remember a single instance where there was the concept of a file that spanned multiple disks on the C64. In theory, the hard drive add ons might have lead to the use of such files (they don't have to fit into memory at once, you can just seek within the file), but given their relatively low popularity, that was probably very rare, if there was any support for such files in software at all...

</comment></comment></comment></comment></comment></comment><comment><USER12> > The entry with the name consisting of exactly one dot is the pointer to the > root directory

Is it? Wasn't single-dot entry pointer to current directory since DOS 1.40?

</comment><comment><USER13> If only exfat wasn't patent-encumbered :( extfat-fuse works ok, but I'd love there to be a universal filesystem for external devices.

</comment><comment><USER14> "If the first character has the code 05, then actually the first character has the code E5 and it is not a special character. If the first character has the code E5, then the file was deleted"

I'm struggling to interpret this, why would the code be changed to E5?

I assume a file starting with 05 isn't deleted.

<comment><USER15> Choice of E5 for a deleted entry:

#1 E5 is a "sync byte" it cannot be rotated and mis-interpreted: E5 E5 E5 ... can be used to synchronize a bitstream. Note that floppy discs are read bit- wise.

#2 Empty 8" floppy discs came pre-formatted with E5 written everywhere.

#3 05 is a "control-e" in "extended 8 bit ASCII (IBM encoding)". E5 was a usable character.

With CP/M, the disc bitmap was produced when the disc was "loaded". All directory entries were scanned, and the allocation bitmap was produced. A freshly formatted disc would have E5 fill, and thus would have no files. MS- DOS had a separate allocation table, which was also the file linkage table. So, the strategy of a fresh E5 filled disc being taken as empty no longer works. But, the key of a deleted entry having E5 as the initial character was still used.

Hope this helps.

<comment><USER14> Thanks for that. I hadn't come across the idea of a sync byte. For anyone else, the binary representation of E5 is 11100101. No matter where you start reading you're always going to know whether you are reading from the start of the byte or not. Contrast with null (00000000) its impossible to know where you've started from.

This has a bit of info ftp://ftp.apple.asimov.net/pub/apple_II/documentation/misc/disk_encoding.doc.txt

</comment></comment></comment><comment><USER16> "Note that filename cannot consist solely of spaces, but extension can."

This is the sort of thing hat makes me wonder what on earth went wrong or even could have been right about Microsoft. Why would spaces be permittable in a file extension at all, ever?

<comment><USER17> Why even treat the extension as something separate from the filename?

<comment><USER4> Early DOS stuff was written in straight assembler, so to search for *.FOO you can just:

Read a chunk of directory entries into a buffer.

Set ptr to start of the buffer.

Check the extension at ptr[8].

If extension matches, do a thing.

Set ptr to ptr + 32 and loop.

<comment><USER18> Since the source code has been released [0], i decided to check it out and sadly it isn't that smart. Searching is implemented in DIR.ASM [1] by reading each entry one by one, matching is done only on the filename (encoded as 11 bytes for FILENAMEEXT) and it only handles "?".

Note that this is for MS-DOS 2.0 which didn't handle "*.FOO" searches on the kernel side (the star expansion was done on the COMMAND.COM side via the MakeFcb [2] procedure). MS-DOS 3.0 introduced the star wildcard on the kernel side, so it might have taken advantage of that... but there isn't source code for MS-DOS 3.0.

[0] [https://github.com/Microsoft/MS- DOS/tree/master/v2.0/source](https://github.com/Microsoft/MS- DOS/tree/master/v2.0/source)

[1] [https://github.com/Microsoft/MS- DOS/blob/master/v2.0/source/...](https://github.com/Microsoft/MS- DOS/blob/master/v2.0/source/DIR.ASM#L154)

[2] [https://github.com/Microsoft/MS- DOS/blob/master/v2.0/source/...](https://github.com/Microsoft/MS- DOS/blob/master/v2.0/source/FCB.ASM#L30)

<comment><USER5> Wouldn't you have to look how COMMAND.COM implemented * matching then, assuming that the filename buffer has a similar fixed length fields representation?

Also note that DOS 2.0 incurred quite significant changes to fs code, as it was the first version to support directories. Before that, the namespace was flat.

<comment><USER18> All commands (implemented in the TCODE?.ASM files) call PARSE_FILE_DESCRIPTOR (defined in MISC.ASM) which just calls MakeFcb (defined in FCB.ASM) that does the star parsing. See lines 127-133, CX contains the remainder of characters not parsed, if it is star the rest of the characters are replaced with ?s, so a FOO<star>.E<star> (...HN eats the stars) would become FOO?????.E?? (the subroutine MUSTGETWORD "under" MakeFcb does the actual replacing for each part, once for the filename and once for the extension - see the calls to it and how the CX is set up for the lengths).

MS-DOS 1.25 does pattern matching mostly the same way [0]. The code is a bit simpler as it doesn't have the crazy macro stuff that MS-DOS 2.0 code has, but if you look a bit around the files, you'll see that it is mostly the same code just moved around and split in several files. The file scan works again in almost the same way, reading each directory entry one by one and doing the pattern matching after the fact.

[0] [https://github.com/Microsoft/MS- DOS/blob/master/v1.25/source...](https://github.com/Microsoft/MS- DOS/blob/master/v1.25/source/MSDOS.ASM#L557)

<comment><USER5> Thanks for the thorough analysis! Very insightful. So the 8+3 structure still simplifies matching: To my recollection at least, in DOS a * would always wildcard out the rest of the filename component (I did not look in the code), so things like FOOxBAR.TXT weren't possible. That way though, the common x.TXT still is.

Read "x" as *, because I could not for the life of me get the star work as a star within a word in this comment.

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> I've heard once that the design of FAT was so straightforward that one would be hard pressed to enforce any patents on it. And that Gates designed it on an airplane trip.

Does anyone know if any of this is true?

<comment><USER20> Wrote, not designed ([https://blogs.msdn.microsoft.com/oldnewthing/20131008-00/?p=...](https://blogs.msdn.microsoft.com/oldnewthing/20131008-00/?p=3003))

(But it isn't true. [https://en.wikipedia.org/wiki/File_Allocation_Table#Original...](https://en.wikipedia.org/wiki/File_Allocation_Table#Original_8-bit_FAT))

</comment></comment><comment><USER21> I did not expect tripod.com to still exist.

<comment><USER22> Seeing a post hosted on tripod.com brings back so many memories. It's my favorite thing about this submission.

<comment><USER23> Makes me remember creating files by hand using Norton Utilities' diskedit directly on the raw bytes. Those were the days :)

</comment></comment></comment><comment><USER24> "Welcome to hell."

All i needed to read :)

<comment><USER24> Well 3 people dislike this i find that funny</comment></comment>


Richert's theorem breaks down for n=11 - <AUTHOR> http://math.stackexchange.com/questions/1386891/richert-s-theorem-breaks-down-for-n-11

<comment><USER2> 11 is already prime and trivially expressed as the sum of of the set (11)</comment>


How to actually ship software that actually works (2015) - <AUTHOR> http://mir.aculo.us/2015/08/25/how-to-actually-ship-software-that-actually-works/ <comment><USER2> Mentions writing tests but sort of glosses over this very important point. I think it bears more coverage</comment>


Ask HN: Anyone experienced Upwork accounts changing hands? - <AUTHOR> I've had two experiences recently with Upwork that gave me a lot of pause. In both cases it was clear that the people I was talking to had nothing at all to do with the record of work, feedback and billing that I had reviewed. In both cases there were also strong signs that the person was not located where they claimed and were not fluent speakers of the principal language of their locality. In one case I'm pretty sure they were using a Text to Speech engine once I demanded a Skype interview. Both wriggled out of video interview for different reasons.
I know that there are simple ways to avoid these traps. However, I also know that once these trends set in, the approaches become more sophisticated. So I'm concerned that Upwork may really no longer be safe to do business on.
After all, if someone who seems reasonably legitimate and has real feedback is willing to sell their Upwork credentials, then what else would they be willing to sell? <comment><USER2> IIRC Upwork prohibited simultaneous logging of hours on different projects (i.e. you could have different machines setup and log hours on project A and project B, running 2 clients with your 1 account, i.e. doing simultaneous work on both) a few months ago.

That was a silent change in the client update.

Now thanks to your info I believe we can connect the dots - people are using Upwork for undisclosed subcontracting.

EDIT: Out of curiosity, what kind of work were you hiring for?

<comment><AUTHOR> JS Developers. The projects are short term. I only use Upwork for MVP type work. Afterwards we take everything in house. I've always strived to deal fairly on the site, but I generally find the terms rather unfair to the devs.

But this disturbed me. I think possibly since they put up the fees some freelancers are ditching it and some of them are getting paid in cash for their review history.

<comment><USER2> Have you read this piece?

[https://news.ycombinator.com/item?id=12773282](https://news.ycombinator.com/item?id=12773282)

I've read multiple stories last year from devs trying to establish themselves on Upwork (Some I heard firsthand) and getting 0 leads even if they applied for jobs that were like 20% of their usual rate.

Doesn't sound all that implausible that under these conditions people will just straight up buy or rent established Upwork accounts because you won't get any responses from clients otherwise.

<comment><AUTHOR> Yeah I saw that article at the time, though I didn't read the comments carefully. Good reminder.

</comment></comment></comment></comment><comment><USER3> Yes. I had exactly this happen for some low level editing work. It was clearly a scammer at the end of the day.

</comment><comment><USER4> My upwork account was just suspended without any prior notice. I was mostly inactive on my upwork profile and have made few bids when i had spare time. Appealing against suspension turns to nothing but another formal email they will not uplift the suspension.

</comment><comment><USER5> Why are you posting this here? Go ask in Upwork forums.

<comment><AUTHOR> Thought I might get a more objective answer from people who actually employ lots of programmers and who would have a better perspective on the security aspect of this. But perhaps you're right. Certainly lack of response suggests I'm in the wrong room.</comment></comment>


Wenger Swiss Army Giant Knife - <AUTHOR> http://www.amazon.co.uk/product-reviews/B000R0JDSI/ref=cm_cr_dp_all_summary?ie=UTF8&showViewpoints=1&sortBy=bySubmissionDateDescending

<comment><AUTHOR> If you can read French so here as well <http://amzn.to/v5PHru>

What attracted my attention was the comment which said:

""" But what have I discovered along the time!? I only use, mainly 7 to 10 functions and these ones covering about 99% of my needs.But you can do the experience too and ask youself the question: The last year did I use this function? How many times? You'll see, in average, only 9 are frequently used:the blade, the scissor, corksrew, the reamer sometimes, the tweezer if gardening and the other 4 functions remaining, please, choose at your own taste.You'll see... """

it reminds me of some softwares/libraries/framework we are using in programming.

</comment><comment><USER2> The reviews are hilarious. I like how it got panned for lack of a trepanning tool, after all there you are in the backwoods with a subduralhematoma and pressure growing on your brain, you need to relieve the pressure right away. :-)

Fun stuff.</comment>


The death of Myspace: A former employee looks back - <AUTHOR> http://www.pedestrian.tv/entertainment/news/the-death-of-myspace-a-former-employee-looks-back/31505.htm

<comment><AUTHOR> _"... Look at the odds against Facebook, Myspace had music, videos, local partnerships, mobile integration, millions of bands, four times as many users, the marketing sway of the FOX media empire, 22 international offices and $900 million in cash from Google. And Facebook still won out. You can't deny that is impressive. But how did they do it? ..."_

Better hackers?</comment>


My 1st article for the New York Times -- the psychology of financial willpower - <AUTHOR> http://bucks.blogs.nytimes.com/2010/11/30/how-to-improve-your-financial-willpower/

<comment><USER2> Ramit, I noticed a pattern in HN: people who are trying to make it share their work (articles, webapps, ideas), self-promote, and ask for help. While people, such as yourself, who already enjoy significant success, come to HN to help, mentor, offer jobs, etc. So I am wondering... How is it that most of your contributions here are about you and how well you are doing? You figure at this point, if the community was interested in your work, someone else would be posting it. I am mainly curious to know HN policy on self promoting and spamming, because I see it as detrimental to the quality of the site.

<comment><USER3> To his credit, Ramit knows business and finance to a tee, but I question his social marketing savvy. I've been following Ramit's work when his IWTYTBR blog was just starting and his bootcamp programs and Scrooge Strategy mailing lists were not yet released.

While his message is strong, I doubt he values individual readers very significantly. He runs multiple mailing lists which recycles his content between them, all of his output he turns into a commodity to be sold or leveraged to further his interests. He maximizes for the best results with the least amount of effort to achieve them. As for the content he's generated, his message hasn't changed in a long time and I haven't seen too many new thoughts from him in a while, though I've stopped paying attention, too. I'm not knocking his strategy. He's an excellent business man who has worked the 20-something niche for all its worth. I would guess he's finding that doesn't pay the bills and is simply broadcasting his message for a different demographic (seemingly ANY demographic that will listen).

Your point is appropriate, but to answer your question the policy is very ad hoc. Those with a personal agenda get noticed and drowned out by the community. It's up to the community to decide.

<comment><USER4> I also think that there are similarities here to the 'sister' Reddit community/mentality (especially r/programming which is cross-posted back and forth regularly), in that people are willing to support people that they personally identify with or like. I don't see that as detrimental to a community, but rather as a key element in fostering community (unless it gets too insular and discriminating in who is able to get that treatment). Any news about a Ycomb grad will rise to the top because of the tight-knit culture and identifying with each other from the early stages of their respective companies, so I don't see any issue with someone posting to the community with a transparent "this is my post" statement by someone from outside the group of grads.

Regardless of previous success, I think we can appreciate someone who is still excited by a new opportunity and sharing his content for anyone who might find value and/or support his quality content. Many financial fundamentals have been taught before, but can be repackaged and interesting and valuable to readers, especially those who haven't read his book (which I haven't). Like Mike says here, some overly promotional agendas get drowned out, but there is also a certain amount of community appreciation for people who just come out and say "this is something I made, what do you think?" Of course, in a social voting system, if people think "wow that sucks" then they downvote the content and leave a "that sucks" comment.

</comment></comment></comment><comment><AUTHOR> This is the 1st of 4 posts I'll be doing for the New York Times (their Bucks blog) on the psychology of willpower, automation, and earning more. This one is about how people believe if they just "try harder," they can save more money...yet willpower fails repeatedly. I included research from social psychology and personal finance, and 3 tactics to overcome our failure of willpower. Hope you guys enjoy it.

<comment><USER5> Have you written all four already? What happens if you write 3, then for the last one you have absolute writers block, or you end up writing stuff you are totally dissatisfied with?

<comment><AUTHOR> I haven't written all four yet, but I do have outlines of the ideas. I collect ideas/research/examples for a long time -- often years -- so when I go to write a post, I can sort through tons of stuff. That helps with writer's block.

<comment><USER4> I think that you will have the willpower to finish all four :)

</comment></comment></comment></comment><comment><USER6> I've read opinions that seem contradictory to your thesis (these both appear to be derived from the same study). [1] [2]

While they aren't addressing the same _types_ of discipline, I'm wondering if this sort of self-fulfilling outlook they describe can be applied to the financial situations you address, or if you can explain where they might be misinformed.

[1] [http://news.softpedia.com/news/Willpower-Is-Not-a-Limited- Re...](http://news.softpedia.com/news/Willpower-Is-Not-a-Limited- Resource-161127.shtml)

[2] [http://www.stanforddaily.com/2010/10/25/willpower-can-be- an-...](http://www.stanforddaily.com/2010/10/25/willpower-can-be-an-unlimited- resource-study-says/)

</comment><comment><USER7> Interesting subject, but I felt like the suggestions lacked substance--cutting down discretionary expenses as generic as "eating out" ties into the question of willpower and the battle of "trying to save on everything". If willpower really is unlimited like the study jiganti referenced, how does one transfer the concept of something like Flow (which the Stanford article inadvertently focuses on) into financial willpower (which is more of a day-day decision- making process)?

Also, small typo in 8th paragraph - I think you meant to say "extraordinarily".

</comment><comment><USER8> Congrats!!!</comment>


Anand retains World Chess Championship Title - <AUTHOR> http://www.chess.com/news/wcc-anand-v-kramnik---game-11

<comment><USER2> Before I clicked the link I thought Anand was the name of a chess-playing software :O.</comment>


AngelPad Debuts 12 New Startups At Its Fall 2012 Demo Day - <AUTHOR> http://techcrunch.com/2012/11/29/angelpad-debuts-12-new-startups-at-its-fall-2012-demo-day/

<comment><AUTHOR> The companies:

Pericope: <http://www.periscope.io/>

FreedomCP: <http://www.freedomcp.com/>

Kinnek: <http://www.kinnek.com/>

Boomtrain: <http://www.boomtrain.com/>

Tray: <http://www.tray.io/>

Circl: <http://www.joincircl.com/>

ScaleGrid: <http://www.scalegrid.net/>

Buyou: <http://www.buyouapp.com/>

cisimple: <http://www.cisimple.com>

Shop2: <http://www.shop2.com/>

UpCounsel: <http://www.upcounsel.com/>

Storefront: <http://www.storefront.is/>

<comment><USER2> Has anyone tried freedomcp yet?

</comment></comment><comment><USER3> Interesting that the descriptions all started with the history of the founders, then what they decided to build. Speaks to the "team first" mentality, or is there another reason they do this?

</comment><comment><USER4> Congrats too all of them. There were so many applicants for this class and Thomas and team had a great batch to select from.

</comment><comment><USER5> Notable how business-heavy this class is (read the bios in the articles). Indicative of a longer-term trend for AngelPad?

</comment><comment><USER6> Great group of companies! Proud to be part of this class.

</comment><comment><USER7> Well done guys, fantastic class.. congrats to ThomasK

</comment><comment><USER8> Fantastic cofounders in this class.</comment>


The First Clinical Trial to Support Vitamin D Therapy for Covid-19 - <AUTHOR> https://medium.com/@shinjieyong/the-first-clinical-trial-to-support-vitamin-d-therapy-for-covid-19-906a9d907468 <comment><AUTHOR> key outcome:

> Results revealed that 13 out of 26 patients (50%) in the control group were > admitted to ICU, and two died in the end. In the calcifediol group, only one > out of 50 (2%) required ICU admission, and none died.

Massive reduction in ICU admission between the treatment group and control group.</comment>


Show HN: MVC with ReactJS - <AUTHOR> https://raulsebastianmihaila.github.io/crizmas-mvc-docs/ <comment><USER2> You need to use a modern browser in order to access the requested page.

Is the latest safari on iOS not modern enough these days?

<comment><AUTHOR> Unfortunately the documentation is done with the framework itself and the framework requires a browser that supports js proxies.

<comment><USER3> Does this mean that if I build something with this framework, it won't work on iOS devices?

</comment></comment></comment><comment><USER4> Hm. I've been doing similar experiments with React+mobx - and am having trouble working out how to compare this (form system is nice, mind)

</comment><comment><USER5> You may be interested on [http://mithril.js.org/](http://mithril.js.org/)

</comment><comment><USER6> but I was told MVC was sooo 2006, multi way data binding will make you suicidal, unidirectional flow of data is king and redux is what the industry should now use.

Genuinely curious how people will react to this because it's a contradiction, we were always told React & Redux go well together but I'm always holding out the last bit of skepticism.

<comment><USER7> >unidirectional flow of data is king

I have heard this in passing and haven't had time to dig into it. What's this argument, exactly?

<comment><USER8> In my experience, once your application grows large, if there is a clear path or direction of data flow you tend do have less bugs. If your application has N components and you don't have a single data "bus" you have N * N possible interfaces between the various components hence N * N opportunities to introduce bugs, while if you have a single data bus, you only have N interfaces and less opportunities to introduce bugs as a consequence.

Obviously in practice not all components will interface with every other component, but there is still a lot of complexity added by arbitrary communication between the various components.</comment></comment></comment>


AR strategy game Domination Earth available on iOS and Android - <AUTHOR> https://domination.earth/?_branch_match_id=427559766579168663 <comment><AUTHOR> Follow news and developments in the realm of Domination Earth via their forum [https://forum.domination.earth/](https://forum.domination.earth/) on Facebook [https://www.facebook.com/domination.earth/](https://www.facebook.com/domination.earth/) and Twitter [https://twitter.com/EpicDragonUK](https://twitter.com/EpicDragonUK)</comment>


Show HN: TheVideosDB, a personal IMDB/TheTVDB for your home videos. Thoughts? - <AUTHOR> http://thevideosdb.com

<comment><USER2> This is the start of a really interesting idea. People are taking more and more "home" video these days, what with smartphones being capable of HD quality stuff- but there hasn't been much of an improvement in cataloging and otherwise handling it. I can see TheVideosDB being useful in that regard.

<comment><AUTHOR> Thanks! We definitely feel this could be a great complementary service to a lot of media players out there. Having properly organized home videos alongside your purchased content would certainly make the "stay at home for a movie" experience much more personal.

</comment></comment><comment><USER3> I built something similar (in Ada O_o) when I worked at Blockbuster video 12 years ago... until today I have been amazed that IMDB haven't done this.

Gratz, I will start using it when I get home :)

<comment><AUTHOR> Thanks! Yeah, we were wondering the same thing - maybe this piece of pie just isn't big enough for them.

We created it to solve the issues we wanted to fix and we think there are many others out there like us.

<http://blog.thevideosdb.com/how-thevideosdb-came-to-be/>

</comment></comment><comment><USER4> Awwwwwww yeah!

</comment><comment><USER5> Great presentation!

<comment><AUTHOR> Thanks!</comment></comment>


Lean startups aren't Cheap Startups - <AUTHOR> http://venturehacks.com/articles/cheap-startups

<comment><USER2> <http://searchyc.com/lean+cheap+startup>

<http://news.ycombinator.com/item?id=917285>

<http://news.ycombinator.com/item?id=917370>

and

<http://news.ycombinator.com/item?id=917290>

which is where all the comment are.</comment>


Jonathan Lee Riches Strikes Again: Targeting Loopt CEO - <AUTHOR> http://www.pehub.com/wordpress/?p=2714 <comment><USER2> I wonder if he's a bigger threat than Gruber making fun of the WWDC two-polo episode.

<comment><USER3> And in any case, this is highly applicable:

<http://www.youtube.com/watch?v=7dju9y5BdVQ>

<comment><USER4> you sir, win the Internets.

</comment></comment></comment><comment><USER5> In all fairness it turns out YouTube would not let me sell this information on their website, so I don't think he really has a case.</comment>


Ask HN: What video games do you play? - <AUTHOR> <comment><USER2> The last year, in reverse chronological order:

\- Captain Spirit (PS4, the demo of Life Is Strange 2, promising)

\- Detroit: Become Human (PS4, a bit repetitive sometimes, a great game nonetheless)

\- The Last Guardian (PS4, now my #1 all time favorite)

\- Life Is Strange (PS3, an adolescent girl simulator with a—dark—twist)

\- Heavy Rain (PS3, is that even possible to get a "good" ending?)

\- Destiny 2 (PC, just like Destiny but more of it)

And Twenty on Android, which has made my daily commute feel like teleportation for two years.

</comment><comment><USER3> For RPG goodness, Divinity: Original Sin is one of the best isometric view point games I've ever played. Skyrim for first person goodness.

For tactical squad based games, I am still playing X-Com. After this play through, I am finally firing up X-Com 2. If you are a tabletop miniatures gamer who can't get out of the house enough to get your fix, this series is a great substitute for 40k/Infinity/Imperial Assault.

</comment><comment><USER4> Pacman: [http://masswerk.at/JavaPac/JS- PacMan2.html](http://masswerk.at/JavaPac/JS-PacMan2.html)

Hunt The Wumpus

Adventure

That's about it. Every now and then I'll dig out my Raspberry Pi that runs RetroPi and play some Nobunaga's Ambition (the NES version).

</comment><comment><USER5> Tower of Hero (android)

Minecraft (PC Java edition and Xbox one)

Total Annihilation

Age of Empires Age of Kings

I help my son play some games - Fortnite Battle Royale; BattleFront II; the Lego games (on 3ds and switch)

I was enjoying Alcazar, but it just crashes all the time now.

</comment><comment><USER6> Factorio. (Warning: for a lot of the readers here, massive potential of getting sucked in for dozens to hundreds of hours)

Opus Magnum.

Fallout 4 right now.

</comment><comment><USER7> Right now, just Quake Champions. I played Overwatch for a while but I like the fast pace and simplicity of Quake.

</comment><comment><USER8> Settlers and Ticket to Ride on my phone.

Civilisation 5 on my mac (2013ish macbook air -- the fans scream)

</comment><comment><USER9> strangely after spending huge chunks of my youth playing games i find it really hard to get into them these days, this year the only game ive played to any real degree is Slay The Spire

</comment><comment><USER10> Starcraft 2 and Overwatch on PC.</comment>