Web dev in DC http://ross.karchner.com
1016 stories

AWS App Runner now supports HTTP 1.0 protocol

1 Comment

AWS App Runner now supports incoming requests based on HTTP 1.0 protocol for applications running on App Runner.

Read the whole story
2 days ago
Share this story

An Itty Midi Mystery

1 Share
My online metadata viewer service, Hintfo, has been watching for any file formats that have little or no metadata support. It recently sent me an alert, informing me that the MIDI file format fits this problem space.

The Musical Instrument Digital Interface (MIDI) file format is really old, like from 1983. (Editor's note: Way to reach out to GenZ!) To put this into perspective, GIF came out four years later (1987), the first consumer digital camera appeared in 1990, JPEG was standardized in 1992, and PNG followed in 1996. This means that MIDI doesn't have metadata in any of the standardized formats (EXIF, XMP, IPTC, etc.) because it predates all of them.

There are plenty of really old and obsolete formats. For example, I doubt that anyone still regularly use Zsoft's "PCX" for images or WordPerfect's WPD documents. However, while MIDI is old, it isn't obsolete. If you're a musician, then you are almost certainly familiar with MIDI files and electronic instruments with built-in MIDI support. I've also seen MIDI files used for ring tones and karaoke music.

What does a MIDI file contain? It stores music. But while MP3 and WAV encode sound waves (combined frequencies from each audible element), MIDI stores the actual music notes. The internal data structure has tracks, instruments, and the start and end times of each note.

(Screenshot of GarageBand)

When trying to conceptualize the format, think of MIDI like a digital format for a player piano, Guitar Hero, or a hand-crank music box.

(This is the "Happy Birthday" music box by Kikkerland.)

To play sound, there are a fixed set of music notes for pressing or plucking. As the music template plays, it identifies which note to play at a specific time. MIDI stores the same thing, but can be extended for a large ensemble. As the file is processed, it identifies which notes on which instruments are played at which time.

Inside a MIDI File

As far as metadata goes, this file format doesn't store very much:
  • It can store multiple tracks, with up to 15 simultaneous channels per track. Each track may contain multiple notes and even instrument changes.

  • It can store a few text fields, like "Text" (arbitrary text, usually contains the song's title), "Copyright", "Track Name", "Instrument Name", and "Lyric". (While harvesting MIDI files for testing, I've only seen files that use the Text, Track Name, and Instrument Name fields.)

  • It has a list of hard-coded values that denote different instruments. For example, "0" is an Acoustic Grand Piano, an Electric Grand Piano is "2", and a Glockenspiel is "9". There are 127 defined instruments that range from string to woodwind to percussion.
As an old file format, it's not very extendable. Uncommon or newer instruments are not listed as options. For example, I grew up in a household with an upright piano. However, "upright piano" isn't one of the 127 known instruments. (I guess I could choose a "Bright Acoustic Piano", but it was really more of a "Warm Acoustic Piano", which also isn't any of the known MIDI instruments.)

A MIDI-enabled instrument can be used to record music as you play, or play back music automatically. Even if the instrument is not known by name, you can still hook it up to a MIDI player and you can assign any identification number to any instrument. This is how the Floppotron works. (There isn't a MIDI instrument for "document scanner" or "floppy drive", so he just assigned a number to each instrument.) However, the instrument's hard-coded name won't match the real name. This means that a software MIDI player (for previewing on your computer without the instrument) will generate the wrong sound for your new instrument.

The MIDI file format is designed for playing specific notes at specific times. For example, it can be told to play a Grand Piano's middle C at 2.12 seconds into the song and hold it for 0.2 seconds. However, the MIDI file format can't easily represent instruments that don't have fixed note positions, like a theremin.

A Small Mystery

I didn't expect MIDI to have very much metadata. In fact, just seeing that it has text fields for copyright and lyrics came as a surprise to me.

However, the really unexpected thing is the lack of metadata support from other applications. There are almost no metadata viewers for MIDI files, and none appear to be consistent.
  • ExifTool is typically the go-to program for metadata extraction. It knows how to parse hundreds of different file formats, including many that are old and obsolete. However, ExifTool doesn't recognize MIDI.
    ---- ExifTool ----
    ExifTool Version Number : 12.45
    Error : Unknown file type
    ---- File ----
    File Name : miditest.mid
    Directory : .
    File Size : 24 kB
    File Modification Date/Time : 2023:01:26 13:13:52-07:00
    File Access Date/Time : 2023:01:26 13:13:52-07:00
    File Inode Change Date/Time : 2023:01:26 13:13:52-07:00
    File Permissions : -rw-rw-r--

  • MediaInfo is good for most media files (pictures, audio, and video). It identifies my test file as being a MIDI file, but that's it. Zero additional information.
    Complete name : miditest.mid
    Format : MIDI
    Format/Info : RIFF Musical Instrument Digital Interface
    File size : 23.4 KiB

    Format : MIDI
    Format/Info : RIFF Musical Instrument Digital Interface

  • FFmpeg supports tons of audio and video codecs. While it can display a lot of information about the formats it supports, FFmpeg doesn't recognize MIDI.
In the old days, every personal computer (OS/2, Windows 3.x, MacOS) natively supported MIDI. Old browsers also supported MIDI. (Some browsers supported MIDI through the old QuickTime media plugin.) These days, that isn't the case. On my Linux box, I had to install 'timidity' to just play MIDI files. Firefox, Chrome, Safari, and Edge do not support the format. Even Apple's current QuickTime player doesn't recognize MIDI. (But Apple's GarageBand does!)

While looking for tools that can display MIDI metadata, I found a bunch of MIDI applications for composing or editing. Others, like musescore3, can convert a MIDI file to sheet music! (This is page 1 of 29 for a short jazz song called "Mean Woman"):

The closest thing I could find for actually displaying the metadata was a program called "lilymidi", which is part of the lilypond suite. While it lists text fields, track information, notes, and timings (using the "--pretty" parameter), it doesn't list instrument names. If you want instrument names, then you need to use musescore3 with XML output, but that omits the Track names and other text fields.

I did find a few Python scripts that claim to parse MIDI files, but they were really hit-or-miss on my test suite. They might display everything for one file, but skip a lot of data for other files. Just to understand the file format, I ended up spending a day building my own MIDI parser. (This is how I know that lilymidi, musescore3, and many of the Python scripts were missing information.)

A Hint about Information

My online metadata service, Hintfo, lets people upload all kinds of files in order to see the associated metadata. Since going live, Hintfo has mostly received JPEG, WebP, PNG, and PDF files. Less common (but still supported) are video, audio, and executable file formats. Hintfo applies different metadata analyzers depending on the type of file. Why? Because 'ExifTool' isn't always the best tool for evaluating metadata.

Hintfo only keeps the type of file (mime type) that is uploaded (or samples of files that cause problems, like crashes). The reason I'm watching for the file type is that I want to identify file formats that have weak metadata support or that appear to be hostile. So far, I have only seen a few "application/octet-stream" files, indicating an unknown file format. The logs suggest that these were corrupted files.

Recently, I had a few people upload some MIDI files, but they didn't see much due to lack of metadata support. I've since updated Hintfo to use lilymidi for metadata extraction. I strip out all of the notes and timing information since that's really overkill for a metadata viewer. I had wanted to convert the MIDI data to sheet music, but musescore3 uses QT for rendering, and that means having a desktop and display. (My production server is 'headless' and lacks any kind of display. Also, spawning xvfb with musescore3 takes too much time for a real-time web service.) I'm still looking for a better MIDI metadata extractor, but this is a really good start.
Read the whole story
6 days ago
Share this story

What’s ahead for Wells Fargo and its customers

1 Share

As a result of the CFPB’s enforcement action against Wells Fargo Bank, customers of its auto loan, mortgage, and banking businesses could expect to receive payments that help make up for the bank’s illegal practices.

Read the whole story
15 days ago
Share this story

George Santos raised money from wealthy GOP donors while lying about resume

1 Comment and 2 Shares
Congressman-elect George Santos (R-NY), embroiled in a scandal over his resume and claims made on the campaign trail, sits alone in the House Chamber surrounded only by the children of other representatives, on the first day of the 118th Congress at the U.S. Capitol in Washington, U.S., January 3, 2023.

A member of George Santos' political team had a plan to raise money for the Republican congressman's campaign: Impersonate the chief of staff of now House Speaker Kevin McCarthy.

Wealthy donors received calls and emails from a man who said he was Dan Meyer, McCarthy's chief of staff, during the 2020 and 2022 election cycles, according to people familiar with the matter. His name was actually Sam Miele, and he worked for Santos raising money for his campaign, according to one GOP donor who contributed to Santos' campaign. This financier and some others in this story declined to be named in order to speak freely about private discussions.

The impersonation of the top House Republican's chief of staff adds to an emerging picture of a winning congressional campaign propelled by fabrications and questionable tactics. Santos now finds himself in the sights of investigators and in danger of losing his political career even after he's been sworn into office. In raising money for his campaign, Santos fed donors the same falsehoods he gave voters, campaign fundraisers and others say.

At private events with GOP donors and political leaders, Santos would flaunt or hint at key parts of his resume that have turned out to be false, according to records and people familiar with the matter. The Republican would also tout his business record that's now in question, including claims that he worked on Wall Street, as a way to encourage donors to contribute to his campaign, according to financiers and party operatives familiar with the matter.

Kevin McCarthy should call on Rep.-elect George Santos to resign, says former Sen. Judd Gregg

"We were duped," said a Republican political strategist close to GOP donors and the leadership of the Republican Jewish Coalition. The group banned Santos from future events after the revelation that the congressman falsely claimed to be Jewish.

The lies and embellishments helped Santos and his allies raise nearly $3 million for his winning 2022 campaign to represent New York's 3rd District. The donations were spread between Santos' campaign, a pro-Santos leadership PAC and two joint fundraising committees that were created to bring in money for his campaign, his leadership PAC and the Nassau County Republican Committee, according to Federal Election Commission filings.

Some of the tactics deployed by campaign fundraisers have raised eyebrows among ethics and legal experts. Brendan Fischer, a deputy executive director of the watchdog Documented, and Robert Maguire, a research director at campaign ethics watchdog Citizens for Responsibility and Ethics in Washington, each told CNBC that the impersonation of McCarthy's chief of staff could have broken the law.

"A person who misrepresented themselves as speaking on behalf of a candidate in order to raise money may have committed a criminal violation, and any other person who knowingly and willfully participated in the plan could also face criminal charges," Fischer said in an email.

The Washington Times reported last month that one of Santos' staffers was impersonating Meyer, but didn't identify who it was. McCarthy's team first learned about a Santos staffer impersonating the speaker's chief of staff in August 2021, the Times wrote. The publication said the staffer would call donors pretending to be Meyer and send follow-up emails from a fake address.

Neither Santos nor anyone mentioned in this story has been charged with a crime. Santos' lawyer would not say when asked whether Santos knew Miele pretended to be McCarthy's chief of staff.

Santos has said in interviews that he is only guilty of embellishing his resume and never committed any crimes. He has apologized for embellishing his past.

Santos' attorney, Joe Murray, did not respond to follow-up requests for comment. Calls to Santos' congressional office were not answered and emails to the incoming lawmaker were not returned.

McCarthy's spokesman did not respond to repeated requests for comment. Miele also did not respond to repeated calls and emails for comment.

Santos had major New York-area donors in his corner during a congressional bid that helped Republicans flip control of the House. John Catsimatidis, a billionaire and founder of the New York grocery chain Gristedes, donated at least $4,650 to the Santos campaign between the primary and general elections, according to FEC records. Catsimatidis, who told CNBC he has no plans to help Santos again if he runs for reelection, also said he had never heard from a purported member of McCarthy's staff trying to raise money for the Santos campaign.

When asked if he felt duped by Santos' claims about his past and why he chose to support him in the first place, Catsimatidis only wrote back, "I wait for all the facts."

Santos also received $2,900 in September from Elliott Management founder Paul Singer, according to the FEC. Groups supporting Santos also saw more than $41,000 in donations during the two-year election cycle from Andrew Intrater, an investor and cousin of Russian oligarch Viktor Vekselberg. Intrater and a representative for Elliott Management did not respond to requests for comment.

Santos' pattern of misrepresenting his biography at times contributed to fundraising success. It extended to falsehoods about his religion.

Santos attended the RJC's annual leadership meeting in November and claimed there that he was Jewish. Weeks later, he went to an RJC "Hanukkah Party" in Sands Point, New York, according to an invitation to the event and photo that Santos posted on Twitter. The invitation encouraged members known as "RJC Leaders" — who donate at least $1,000 to the larger organization — to attend.

His campaign took even more steps to portray Santos as Jewish. It shared a position paper with Jewish and pro-Israel leaders that called the then-candidate a "proud American Jew," according to a copy shared by The Forward.

Santos is not Jewish. He recently told the New York Post that he "never claimed to be Jewish. Because I learned my maternal family had a Jewish background, I said I was 'Jew-ish.'"

The RJC is considered the most prominent group of Jewish Republican donors, making gatherings such as the Hanukkah event key networking platforms for politicians. While the Hanukkah party was not a fundraising event, RJC members can donate anywhere between $100 and $25,000 to join the group and attend such gatherings, according to the group's website.

One RJC board member who donated to Santos' campaign told CNBC that the Republican's claims of being Jewish appealed to him. Attorney Eric Levine gave $500 to Santos in May, according to an FEC filing. Levine said he donated to the campaign at the request of a friend.

Levine told CNBC that he later "soured" on Santos after the incoming lawmaker started aligning his views with ultraconservative House members such as Rep. Marjorie Taylor Greene, R-Ga. Levine recently wrote in an emailed essay to colleagues that what "Santos did is disgusting. He deserves to be humiliated and held in contempt."

A spokesman for the RJC pointed CNBC to the group's recent statement on Santos, which declared "he will not be welcome at any future RJC events."

Congressman-elect George Santos (R-NY), embroiled in a scandal over his resume and claims made on the campaign trail, sits alone in the House Chamber surrounded only by the children of other representatives on the first day of the 118th Congress at the U.S. Capitol in Washington, U.S., January 3, 2023.

At least one other Santos supporter felt compelled to help the campaign based on the candidate's embellished resume. Charles Vallone told CNBC that he met Santos at a GOP fundraiser, and the candidate impressed him with claims that he worked on Wall Street at Citigroup and Goldman Sachs. Neither firm has any records that he worked there, according to The New York Times. Spokespeople for both firms declined to comment further.

"I met George at a Republican fundraiser and now looking back with what we know today, [I] unfortunately believed in him and was duped like all others who supported him and believed in his representations," said Vallone, founding partner at tax and accounting firm Frankel Loughran Starr & Vallone.

He said Santos would speak to supporters and donors "about his financial background and experience on Wall Street. That he was a true immigrant story, coming from nothing and working his way up. ... Now we know that is not the case."

Vallone gave $17,900 in August between Santos' campaign, his leadership PAC and a joint fundraising committee, according to FEC records. The Santos campaign also paid $11,000 in August to 33 West Main Street Holdings, a company owned by Vallone, to rent a house in Oyster Bay, New York, for office space, FEC records show. Vallone said he would not rent to the Santos campaign again.

The house includes a one-bedroom apartment that the campaign rented. Vallone said he does not know how the Santos team used the apartment. The FEC prohibits spending campaign funds for personal use, including on rent for a personal residence. No public records could be found to show if Santos or anyone else lived in the residence.

Santos has come under fire from Democratic lawmakers and some Republican officials for lying about key elements of his resume. Prosecutors from the Eastern District of New York are examining Santos' finances, including potential irregularities involving financial disclosures and loans Santos made to his campaign while he was running for Congress, according to NBC News.

The nonprofit watchdog Campaign Legal Center filed a complaint with the Federal Election Commission against Santos on Monday, accusing the new lawmaker of violating campaign finance laws in his run for Congress.

Rep. James Comer, a Kentucky Republican who was chosen as the next chairman of the House Oversight Committee, recently said on Fox News that he's "pretty confident" the House Ethics Committee will investigate Santos.

The larger federal probe appears to focus, in part, on a loan of over $700,000 Santos made to his campaign.

The headaches facing the campaign are even broader. The Federal Election Commission flagged more than a dozen donations in letters to the Santos campaign over the course of the 2022 election cycle, including two made by a Chinese immigrant named Cheng Gao, who was a prolific donor to former President Donald Trump's first presidential run. The commission said it appears Gao exceeded the legal limit for campaign donations, as he gave $11,200 to the Santos campaign during the primary season, records show.

Gao could not be reached for comment.

The odd behavior includes payments to the campaign fundraiser who was said to impersonate McCarthy's chief of staff on fundraising calls. The campaign paid Sam Miele almost $50,000 for fundraising consulting during Santos' failed 2020 run for Congress, and over $42,000 during the successful 2022 cycle, FEC records show.

Miele's payments from the Santos campaign during the 2022 midterms went through an obscure limited liability company called The One57 Group, according to FEC records. Florida business records show that Miele is the manager of the company. The final $5,995 payment to the Miele-led company came in January 2022, according to an FEC filing.

Santos' lawyer Murray said that Miele's company was "let go about a year ago."

An archived version of the company's website boasts clients in New York, Washington, Florida and California. Yet, FEC records indicate that the The One57 Group has picked up very few political clients since it was first formed in New Jersey in early 2021.

Republican Tina Forte, who ran unsuccessfully against Rep. Alexandria Ocasio-Cortez, D-N.Y., paid The One57 Group $500 in 2021 for what the filing calls "campaign consulting," according to an FEC filing. A search through federal and state campaign finance records in New York, Florida and California shows that the company has seen only a few payments from any other political operation other than the Santos and Forte campaigns.

The One57 Group received only two payments in 2021 totaling $9,965 from the Rise NY PAC, a GOP-aligned group, according to New York state campaign finance records. Intrater donated $80,000 to the PAC over the course of the 2022 election cycle, state records show.

The payments to The One57 Group are just a fraction of the moves made by the Santos campaign that experts said were, at the very least, bizarre.

Read the whole story
18 days ago
The great thing about America is that you can be anything you want to be!
25 days ago
Washington, DC
Share this story

Image Stacks and iPhone Racks - Building an Internet Scale Meme Search Engine

Read the whole story
19 days ago
22 days ago
Washington, DC
Share this story

House lawmakers introduce bill to create National Digital Reserve Corps

1 Share

House lawmakers introduced bipartisan legislation Wednesday to create a civilian organization tasked with supporting the digital and cyber needs of federal agencies.

The bill to establish a National Digital Reserve Corps would allow reservists to sign up for a three-year period in which they would work for the federal government for 30 days each calendar year to take on digital and cybersecurity projects, digital education and training, and other work.

The legislation is intended to address a nationwide shortage of cyber talent. According to cybersecurity recruitment website CyberSeek, there are currently 769,736 cybersecurity job openings across the U.S. 

Introduced by Reps. Tony Gonzales, R-Texas, and Robin Kelly, D-Ill., the bill is intended to give citizens the opportunity to obtain additional training and education while also serving the U.S. government. Under the plans, reservists would also have the chance to obtain and maintain security clearances.

Individuals in the National Digital Reserve Corps would be detailed to federal agencies by the U.S. General Services Administration (GSA). The bill also requires the Department of Labor to issue regulations that ensure reservists’ jobs are waiting for them once they finish their annual service. 

“As we have seen from previous cyberattacks, our government currently lacks the workforce capacity needed to combat ransomware and bad actors,” Rep. Gonzales said. “The National Digital Reserve Corps strives to fill that void with civilian industry experts working in service to our federal government and our national security. This will bring the ingenuity and expertise of the private sector to our federal government to bolster our nation’s cybersecurity defense.” 

Rep Kelly added: “As the online landscape continues to evolve at a rapid pace, our government needs cybersecurity solutions that meet the moment,” She added:“I am proud to introduce the National Digital Reserve Corps Act again this Congress to build the cybersecurity infrastructure we need to keep every American safe. This bipartisan effort will strengthen the systems that our constituents rely on to make the government work for them.” 

The post House lawmakers introduce bill to create National Digital Reserve Corps appeared first on FedScoop.

Read the whole story
22 days ago
Share this story
Next Page of Stories